diff options
| author | Stephen Blott | 2016-05-15 07:58:33 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2016-05-15 07:58:35 +0100 | 
| commit | 6f08521e946b39ca9254bbc94455641f90f33215 (patch) | |
| tree | 4860caf74f827d81d9b21557ae6ece2a09eed609 /lib/keyboard_utils.coffee | |
| parent | a5262f4e68f62a922c9c05d871c4a874f6737a7b (diff) | |
| download | vimium-6f08521e946b39ca9254bbc94455641f90f33215.tar.bz2 | |
Also remove event.keyIdentifier in getKeyCharString().
This was an oversight from a5262f4e68f62a922c9c05d871c4a874f6737a7b.
Diffstat (limited to 'lib/keyboard_utils.coffee')
| -rw-r--r-- | lib/keyboard_utils.coffee | 29 | 
1 files changed, 12 insertions, 17 deletions
| diff --git a/lib/keyboard_utils.coffee b/lib/keyboard_utils.coffee index e3fa6007..364ab949 100644 --- a/lib/keyboard_utils.coffee +++ b/lib/keyboard_utils.coffee @@ -96,23 +96,18 @@ KeyboardUtils =            String.fromCharCode event.charCode        when "keydown" -        # handle special keys, and normal input keys with modifiers being pressed. don't handle shiftKey alone (to -        # avoid / being interpreted as ? -        if (((event.metaKey || event.ctrlKey || event.altKey) && event.keyCode > 31) || ( -            # TODO(philc): some events don't have a keyidentifier. How is that possible? -            event.keyIdentifier && event.keyIdentifier.slice(0, 2) != "U+")) -          keyChar = @getKeyChar event -          # Again, ignore just modifiers. Maybe this should replace the keyCode>31 condition. -          if 0 < keyChar.length -            modifiers = [] - -            keyChar = keyChar.toUpperCase() if event.shiftKey -            modifiers.push "m" if event.metaKey -            modifiers.push "c" if event.ctrlKey -            modifiers.push "a" if event.altKey - -            keyChar = [modifiers..., keyChar].join "-" -            if 1 < keyChar.length then "<#{keyChar}>" else keyChar +        # Handle special keys and normal input keys with modifiers being pressed. +        keyChar = @getKeyChar event +        if 1 < keyChar.length or (keyChar.length == 1 and (event.metaKey or event.ctrlKey or event.altKey)) +          modifiers = [] + +          keyChar = keyChar.toUpperCase() if event.shiftKey +          modifiers.push "m" if event.metaKey +          modifiers.push "c" if event.ctrlKey +          modifiers.push "a" if event.altKey + +          keyChar = [modifiers..., keyChar].join "-" +          if 1 < keyChar.length then "<#{keyChar}>" else keyChar  KeyboardUtils.init() | 
