diff options
Diffstat (limited to 'content_scripts/mode_passkeys.coffee')
| -rw-r--r-- | content_scripts/mode_passkeys.coffee | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/content_scripts/mode_passkeys.coffee b/content_scripts/mode_passkeys.coffee index 64db5447..1ed69ac2 100644 --- a/content_scripts/mode_passkeys.coffee +++ b/content_scripts/mode_passkeys.coffee @@ -4,21 +4,18 @@ class PassKeysMode extends Mode super name: "passkeys" trackState: true # Maintain @enabled, @passKeys and @keyQueue. - keydown: (event) => @handleKeyChar KeyboardUtils.getKeyChar event - keypress: (event) => @handleKeyChar String.fromCharCode event.charCode - keyup: (event) => @handleKeyChar KeyboardUtils.getKeyChar event + keydown: (event) => @handleKeyChar event, KeyboardUtils.getKeyChar event + keypress: (event) => @handleKeyChar event, String.fromCharCode event.charCode + keyup: (event) => @handleKeyChar event, KeyboardUtils.getKeyChar event # Keystrokes are *never* considered passKeys if the keyQueue is not empty. So, for example, if 't' is a # passKey, then 'gt' and '99t' will neverthless be handled by Vimium. - handleKeyChar: (keyChar) -> + handleKeyChar: (event, keyChar) -> + return @continueBubbling if event.altKey or event.ctrlKey or event.metaKey if keyChar and not @keyQueue and 0 <= @passKeys.indexOf keyChar @stopBubblingAndTrue else @continueBubbling - # Disabled, pending experimentation with how/whether to use badges (smblott, 2015/01/17). - # updateBadge: (badge) -> - # badge.badge ||= "P" if @passKeys and not @keyQueue - root = exports ? window root.PassKeysMode = PassKeysMode |
