diff options
| author | Stephen Blott | 2016-09-17 11:05:06 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2016-09-17 11:05:06 +0100 | 
| commit | 9f0ec8cd06903fc25d65b0b82cf8e5fb4e9f5c7a (patch) | |
| tree | 84ea2eb61fa0776988de411fe3e43b5ed716156c /lib | |
| parent | 36afaafc98708a8c0f3915e0c494fcc94bf65b3e (diff) | |
| download | vimium-9f0ec8cd06903fc25d65b0b82cf8e5fb4e9f5c7a.tar.bz2 | |
Rework #2223 (backspace).
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/keyboard_utils.coffee | 21 | 
1 files changed, 13 insertions, 8 deletions
| diff --git a/lib/keyboard_utils.coffee b/lib/keyboard_utils.coffee index 4f8336c7..3871b066 100644 --- a/lib/keyboard_utils.coffee +++ b/lib/keyboard_utils.coffee @@ -53,16 +53,21 @@ KeyboardUtils =        ""    getKeyCharUsingKeyIdentifier: (event) -> -    # Not a letter -    if (event.keyIdentifier.slice(0, 2) != "U+") -      return @keyNames[event.keyCode] if (@keyNames[event.keyCode]) -      # F-key -      if (event.keyCode >= @keyCodes.f1 && event.keyCode <= @keyCodes.f12) -        return "f" + (1 + event.keyCode - keyCodes.f1) -      return "" -    return "backspace" if event.keyIdentifier == "U+0008" +    # Handle named keys. +    keyCode = event.keyCode +    if keyCode +      if keyCode of @keyNames +        return @keyNames[keyCode] +      # Function keys. +      if @keyCodes.f1 <= keyCode <= @keyCodes.f12 +        return "f" + (1 + keyCode - keyCodes.f1)      keyIdentifier = event.keyIdentifier + +    # Not a letter. +    if not keyIdentifier.startsWith "U+" +      return "" +      # On Windows, the keyIdentifiers for non-letter keys are incorrect. See      # https://bugs.webkit.org/show_bug.cgi?id=19906 for more details.      if ((@platform == "Windows" || @platform == "Linux") && @keyIdentifierCorrectionMap[keyIdentifier]) | 
