diff options
| author | Stephen Blott | 2015-01-10 18:53:28 +0000 |
|---|---|---|
| committer | Stephen Blott | 2015-01-10 18:53:28 +0000 |
| commit | d1c0a5d9bd1f67f2b32a993cfd62bc0b52c44185 (patch) | |
| tree | 76eaa3b86be1c6ac130724168d0bf3bbbb6849c5 /content_scripts/mode_passkeys.coffee | |
| parent | 93de6384632e3e682e02be4cb8cea160997de127 (diff) | |
| parent | 80ad0bc3087a3bf00d61bdd6c9cf48e971e22480 (diff) | |
| download | vimium-d1c0a5d9bd1f67f2b32a993cfd62bc0b52c44185.tar.bz2 | |
Merge branch 'modes-dev' into modes
Diffstat (limited to 'content_scripts/mode_passkeys.coffee')
| -rw-r--r-- | content_scripts/mode_passkeys.coffee | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/content_scripts/mode_passkeys.coffee b/content_scripts/mode_passkeys.coffee index 972dcad7..c4df06dc 100644 --- a/content_scripts/mode_passkeys.coffee +++ b/content_scripts/mode_passkeys.coffee @@ -3,24 +3,23 @@ class PassKeysMode extends Mode constructor: -> super name: "passkeys" - keydown: (event) => @handlePassKeyEvent event - keypress: (event) => @handlePassKeyEvent event trackState: true + keydown: (event) => @handleKeyChar KeyboardUtils.getKeyChar event + keypress: (event) => @handleKeyChar String.fromCharCode event.charCode + keyup: (event) => @handleKeyChar String.fromCharCode event.charCode # Decide whether this event should be passed to the underlying page. 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. - handlePassKeyEvent: (event) -> - for keyChar in [KeyboardUtils.getKeyChar(event), String.fromCharCode(event.charCode)] - return @stopBubblingAndTrue if keyChar and not @keyQueue and 0 <= @passKeys.indexOf(keyChar) - @continueBubbling + handleKeyChar: (keyChar) -> + @alwaysContinueBubbling => + event.vimium_suppress_normal_mode = true if keyChar and not @keyQueue and 0 <= @passKeys.indexOf keyChar configure: (request) -> @keyQueue = request.keyQueue if request.keyQueue? chooseBadge: (badge) -> - @badge = if @passKeys and not @keyQueue then "P" else "" - super badge + badge.badge ||= "P" if @passKeys and not @keyQueue root = exports ? window root.PassKeysMode = PassKeysMode |
