aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/mode_key_handler.coffee
diff options
context:
space:
mode:
authorStephen Blott2016-02-28 14:01:16 +0000
committerStephen Blott2016-03-05 05:38:30 +0000
commit520b63cb1d64fb5a293988122007bd05bacc49db (patch)
treef3fd0d50edb493e24a543e6627bcd9c975e82c23 /content_scripts/mode_key_handler.coffee
parentcf7a03dc26415528bc690147ba72c08e67dd65c8 (diff)
downloadvimium-520b63cb1d64fb5a293988122007bd05bacc49db.tar.bz2
Key bindings; fix tests...
... and fix two bugs: - not suppressing keyup event after keyChar matched in keydown. - we cannot check the passKeys keyChar in keyup because the key state has changed; so we track what the next keyup response should be.
Diffstat (limited to 'content_scripts/mode_key_handler.coffee')
-rw-r--r--content_scripts/mode_key_handler.coffee5
1 files changed, 4 insertions, 1 deletions
diff --git a/content_scripts/mode_key_handler.coffee b/content_scripts/mode_key_handler.coffee
index e38a7051..f7be977b 100644
--- a/content_scripts/mode_key_handler.coffee
+++ b/content_scripts/mode_key_handler.coffee
@@ -6,7 +6,7 @@ class KeyHandlerMode extends Mode
constructor: (options) ->
@commandHandler = options.commandHandler ? (->)
- @setKeyMapping options.commandHandler ? {}
+ @setKeyMapping options.keyMapping ? {}
delete options[option] for option in ["commandHandler", "keyMapping"]
super extend options,
@@ -28,7 +28,10 @@ class KeyHandlerMode extends Mode
DomUtils.suppressKeyupAfterEscape handlerStack
false # Suppress event.
else if keyChar and @mappingForKeyChar keyChar
+ @keydownEvents[event.keyCode] = true
@handleKeyChar event, keyChar
+ else if keyChar
+ @continueBubbling
else
# We did not handle the event, but we might handle a subsequent keypress. If we will be handling that
# event, then we suppress propagation of this keydown to prevent triggering page events.