Module: Keyremac::Keyable
- Included in:
- ConsumerKey, Key, String, Symbol
- Defined in:
- lib/keyremac/key.rb
Instance Method Summary collapse
- #add_rule(autogen) ⇒ Object
- #consumer_key? ⇒ Boolean
- #overlaid(mod, keys: [], repeat: false) ⇒ KeyToOverlaidModifier
- #to(*keys) ⇒ KeyToKey, KeyToConsumer
- #to_key ⇒ Object
Instance Method Details
#add_rule(autogen) ⇒ Object
21 22 23 24 |
# File 'lib/keyremac/key.rb', line 21 def add_rule(autogen) Keyremac::Focus.add autogen autogen end |
#consumer_key? ⇒ Boolean
45 46 47 |
# File 'lib/keyremac/key.rb', line 45 def consumer_key? false end |
#overlaid(mod, keys: [], repeat: false) ⇒ KeyToOverlaidModifier
41 42 43 |
# 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) ⇒ KeyToKey, KeyToConsumer
29 30 31 32 33 34 35 36 |
# 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 ⇒ Object
49 50 51 52 53 54 55 |
# 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 |