diff options
| author | Stephen Blott | 2017-09-01 13:51:20 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2017-09-01 13:51:20 +0100 | 
| commit | 37b26d736b901eaf08a260d7d97af4d8749a2536 (patch) | |
| tree | 6141acf80afb488ecea4efaa8fae441284217af4 /lib | |
| parent | 02c09ba0dd0ff9573eb4d32d66fda5c0928c4d2c (diff) | |
| download | vimium-37b26d736b901eaf08a260d7d97af4d8749a2536.tar.bz2 | |
Translate event.code key representations to the corresponding event.key format.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/keyboard_utils.coffee | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/lib/keyboard_utils.coffee b/lib/keyboard_utils.coffee index dc6b6269..471e18c9 100644 --- a/lib/keyboard_utils.coffee +++ b/lib/keyboard_utils.coffee @@ -19,8 +19,15 @@ KeyboardUtils =      unless Settings.get "ignoreKeyboardLayout"        key = event.key      else +      # The logic here is from the vim-like-key-notation project (https://github.com/lydell/vim-like-key-notation).        key = event.code +      # Strip some standard prefixes.        key = key[3..] if key[...3] == "Key" +      key = key[5..] if key[...5] == "Digit" +      key = key[6..] if key[...6] == "Numpad" +      # Translate some special keys to event.key-like strings. +      if @enUsTranslations[key] +        key = if event.shift then @enUsTranslations[key][1] else @enUsTranslations[key][0]        key = key.toLowerCase() unless event.shiftKey      if key of @keyNames @@ -62,6 +69,21 @@ KeyboardUtils =    isPrintable: (event) ->      @getKeyCharString(event)?.length == 1 +  enUsTranslations: +    "Backquote":     ["`", "~"] +    "Minus":         ["-", "_"] +    "Equal":         ["=", "+"] +    "Backslash":     ["\\","|"] +    "IntlBackslash": ["\\","|"] +    "BracketLeft":   ["[", "{"] +    "BracketRight":  ["]", "}"] +    "Semicolon":     [";", ":"] +    "Quote":         ["'", '"'] +    "Comma":         [",", "<"] +    "Period":        [".", ">"] +    "Slash":         ["/", "?"] +    "Space":         [" ", " "] +  KeyboardUtils.init()  root = exports ? window | 
