Module: Keyremac::Keyable

Included in:
ConsumerKey, Key, String, Symbol
Defined in:
lib/keyremac/key.rb

Instance Method Summary collapse

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

Returns:

  • (Boolean)


45
46
47
# File 'lib/keyremac/key.rb', line 45

def consumer_key?
  false
end

#overlaid(mod, keys: [], repeat: false) ⇒ KeyToOverlaidModifier

Parameters:

Returns:

  • (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

Parameters:

Returns:

  • (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_keyObject



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