aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-04-27 15:27:10 +0100
committerStephen Blott2015-04-27 15:27:10 +0100
commit8136b79e10f223fe7854323d9e06a2488291f797 (patch)
treead8bed4854aca4da540ca23e3902f316a4bec57f
parentfe8fc2dd9c6f29312769435f78cf1272d3351877 (diff)
downloadvimium-8136b79e10f223fe7854323d9e06a2488291f797.tar.bz2
It's not a passkey with Ctrl, Alt or Meta.
Fixes #1586.
-rw-r--r--content_scripts/mode_passkeys.coffee9
1 files changed, 5 insertions, 4 deletions
diff --git a/content_scripts/mode_passkeys.coffee b/content_scripts/mode_passkeys.coffee
index cf74a844..1ed69ac2 100644
--- a/content_scripts/mode_passkeys.coffee
+++ b/content_scripts/mode_passkeys.coffee
@@ -4,13 +4,14 @@ 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