class Keyremac::Key

key

Attributes

code[R]
mods[R]

Public Class Methods

new(name) click to toggle source
# File lib/keyremac/key.rb, line 72
def initialize(name)
  @mods = Set.new

  if key = SHIFT_TABLE[name]
    @code = SYMBOL_TABLE[key] || key
    self.shift
  else
    @code = SYMBOL_TABLE[name] || name
  end
end

Public Instance Methods

add_mod(mod) click to toggle source
# File lib/keyremac/key.rb, line 83
def add_mod(mod)
  @mods.add mod
  self
end
dump(xml) click to toggle source
# File lib/keyremac/dump.rb, line 9
def dump(xml)
  if @mods.empty?
    "KeyCode::#{code.upcase}"
  else
    mods = @mods.to_a
    mods = mods.map { |mod|
      mod = mod.to_s
      if mod =~ /^VK_/
        mod
      else
        "ModifierFlag::#{mod}"
      end
    }
    mods = mods.join(' | ')
    "KeyCode::#{code.upcase}, #{mods}"
  end
end
to_key() click to toggle source
# File lib/keyremac/key.rb, line 68
def to_key
  self
end