aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorStephen Blott2017-09-02 13:38:56 +0100
committerStephen Blott2017-09-02 13:38:56 +0100
commit1e3a618b89d053f16715790f539350680b993b0f (patch)
tree84fd5a32aed1cb21bedf574389b1e84a3b6986ad /lib
parent2c1c86ee35f8437473de11f47e6a3a754cb8c1e5 (diff)
downloadvimium-1e3a618b89d053f16715790f539350680b993b0f.tar.bz2
Fix special keys (e.g. <Shift-Left>).
Diffstat (limited to 'lib')
-rw-r--r--lib/keyboard_utils.coffee7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/keyboard_utils.coffee b/lib/keyboard_utils.coffee
index 7f05ef01..e14e8b3e 100644
--- a/lib/keyboard_utils.coffee
+++ b/lib/keyboard_utils.coffee
@@ -25,10 +25,11 @@ KeyboardUtils =
# The logic here is from the vim-like-key-notation project (https://github.com/lydell/vim-like-key-notation).
key = event.code
key = key[3..] if key[...3] == "Key"
- # Translate some special keys to event.key-like strings.
+ # Translate some special keys to event.key-like strings and handle <Shift>.
if @enUsTranslations[key]
- key = if event.shift then @enUsTranslations[key][1] else @enUsTranslations[key][0]
- key = key.toLowerCase() unless event.shiftKey
+ key = if event.shiftKey then @enUsTranslations[key][1] else @enUsTranslations[key][0]
+ else if key.length == 1 and not event.shiftKey
+ key = key.toLowerCase()
if key of @keyNames
@keyNames[key]