module Keyremac::Keyable

Public Instance Methods

add_rule(autogen) click to toggle source
# File lib/keyremac/key.rb, line 21
def add_rule(autogen)
  Keyremac::Focus.add autogen
  autogen
end
consumer_key?() click to toggle source
# File lib/keyremac/key.rb, line 45
def consumer_key?
  false
end
overlaid(mod, keys: [], repeat: false) click to toggle source

@param [Keyable] mod @options [Keyable] mod @return [KeyToOverlaidModifier]

# File lib/keyremac/key.rb, line 41
def overlaid(mod, keys: [], repeat: false)
  add_rule Autogen::KeyOverlaidModifier.new(self.to_key, mod.to_key, keys: keys.map(&:to_key), repeat: repeat)
end
to(*keys) click to toggle source

@param [Array<Keyable>] keys @return [KeyToKey] @return [KeyToConsumer]

# File lib/keyremac/key.rb, line 29
def to(*keys)
  key = keys.first.to_key
  if key.consumer_key?
    add_rule Autogen::KeyToConsumer.new(self.to_key, key)
  else
    add_rule Autogen::KeyToKey.new(self.to_key, keys.map(&:to_key))
  end
end
to_key() click to toggle source
# File lib/keyremac/key.rb, line 49
def to_key
  if Keyremac::CONSUMER_KEYS.include?(self.to_s)
    Keyremac::ConsumerKey.new self.to_s
  else
    Keyremac::Key.new self.to_s
  end
end