Class: Karabiner::Key
- Inherits:
-
Object
- Object
- Karabiner::Key
- Defined in:
- lib/karabiner/key.rb
Constant Summary collapse
- KEYCODE_MAP =
Karabiner full keycode reference: pqrs.org/osx/karabiner/xml.html#keycode-list
normalize_and_freeze!({ "nil" => "VK_NONE", "none" => "VK_NONE", "0" => "KEY_0", "1" => "KEY_1", "2" => "KEY_2", "3" => "KEY_3", "4" => "KEY_4", "5" => "KEY_5", "6" => "KEY_6", "7" => "KEY_7", "8" => "KEY_8", "9" => "KEY_9", "Up" => "CURSOR_UP", "Down" => "CURSOR_DOWN", "Right" => "CURSOR_RIGHT", "Left" => "CURSOR_LEFT", "]" => "BRACKET_RIGHT", "[" => "BRACKET_LEFT", ";" => "SEMICOLON", "-" => "MINUS", "," => "COMMA", "." => "DOT", "\\" => "BACKSLASH", "/" => "SLASH", "=" => "EQUAL", "'" => "QUOTE", "`" => "BACKQUOTE", "Ctrl_R" => "CONTROL_R", "Ctrl_L" => "CONTROL_L", "Alt_R" => "OPTION_R", "Alt_L" => "OPTION_L", "Opt_R" => "OPTION_R", "Opt_L" => "OPTION_L", "Cmd_R" => "COMMAND_R", "Cmd_L" => "COMMAND_L", "Esc" => "ESCAPE", })
- CONSUMER_MAP =
normalize_and_freeze!({ "Brightness Down" => "BRIGHTNESS_DOWN", "Brightness Up" => "BRIGHTNESS_UP", "Keyboardlight Off" => "KEYBOARDLIGHT_OFF", "Keyboardlight Low" => "KEYBOARDLIGHT_LOW", "Keyboardlight High" => "KEYBOARDLIGHT_HIGH", "Keyboard Light Off" => "KEYBOARDLIGHT_OFF", "Keyboard Light Low" => "KEYBOARDLIGHT_LOW", "Keyboard Light High" => "KEYBOARDLIGHT_HIGH", "Music Prev" => "MUSIC_PREV", "Music Play" => "MUSIC_PLAY", "Music Next" => "MUSIC_NEXT", "Prev" => "MUSIC_PREV", "Play" => "MUSIC_PLAY", "Next" => "MUSIC_NEXT", "Volume Mute" => "VOLUME_MUTE", "Volume Down" => "VOLUME_DOWN", "Volume Up" => "VOLUME_UP", "Mute" => "VOLUME_MUTE", "Eject" => "EJECT", "Power" => "POWER", "Numlock" => "NUMLOCK", "Num Lock" => "NUMLOCK", "Video Mirror" => "VIDEO_MIRROR", })
- PREFIX_MAP =
normalize_and_freeze!({ "C" => "VK_CONTROL", "Ctrl" => "VK_CONTROL", "Cmd" => "VK_COMMAND", "Shift" => "VK_SHIFT", "M" => "VK_OPTION", "Opt" => "VK_OPTION", "Alt" => "VK_OPTION", })
- PREFIX_EXPRESSION =
"(#{PREFIX_MAP.keys.map { |k| k + '-' }.join('|')})"
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(expression) ⇒ Key
constructor
A new instance of Key.
- #to_s ⇒ Object
Constructor Details
#initialize(expression) ⇒ Key
Returns a new instance of Key.
93 94 95 |
# File 'lib/karabiner/key.rb', line 93 def initialize(expression) @expression = expression end |
Class Method Details
.normalize_and_freeze!(map) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/karabiner/key.rb', line 10 def self.normalize_and_freeze!(map) map.tap do |h| h.keys.each { |k| h[normalize_input(k)] = h.delete(k) } end map.freeze end |
.normalize_input(raw_input) ⇒ Object
2 3 4 5 6 7 8 |
# File 'lib/karabiner/key.rb', line 2 def self.normalize_input(raw_input) if raw_input.match(/^VK_/) raw_input else raw_input = raw_input.tr(' ', '_').tr('+', '-').upcase end end |
Instance Method Details
#to_s ⇒ Object
97 98 99 |
# File 'lib/karabiner/key.rb', line 97 def to_s key_combination(@expression) end |