aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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]