diff options
| -rw-r--r-- | content_scripts/mode_key_handler.coffee | 19 | ||||
| -rw-r--r-- | pages/help_dialog.coffee | 3 |
2 files changed, 9 insertions, 13 deletions
diff --git a/content_scripts/mode_key_handler.coffee b/content_scripts/mode_key_handler.coffee index df177c4a..397e64c8 100644 --- a/content_scripts/mode_key_handler.coffee +++ b/content_scripts/mode_key_handler.coffee @@ -45,11 +45,10 @@ class KeyHandlerMode extends Mode @unlessKeyCharIsPassKey keyChar, => @keydownEvents[event.keyCode] = true @handleKeyChar event, keyChar - else if keyChar - @continueBubbling - else if (keyChar = KeyboardUtils.getKeyChar event) and (@keyCharIsMapped(keyChar) or @isCountKey keyChar) - # It looks like we will possibly be handling a subsequent keypress event, so suppress propagation of - # this event to prevent triggering page event listeners (e.g. Google instant Search). + else if not keyChar and (keyChar = KeyboardUtils.getKeyChar event) and + (@keyCharIsMapped(keyChar) or @isCountKey keyChar) + # We will possibly be handling a subsequent keypress event, so suppress propagation of this event to + # prevent triggering page event listeners (e.g. Google instant Search). @unlessKeyCharIsPassKey keyChar, => @keydownEvents[event.keyCode] = true DomUtils.suppressPropagation event @@ -71,12 +70,10 @@ class KeyHandlerMode extends Mode @continueBubbling onKeyup: (event) -> - if event.keyCode of @keydownEvents - delete @keydownEvents[event.keyCode] - DomUtils.suppressPropagation event - @stopBubblingAndTrue - else - @continueBubbling + return @continueBubbling unless event.keyCode of @keydownEvents + delete @keydownEvents[event.keyCode] + DomUtils.suppressPropagation event + @stopBubblingAndTrue # This tests whether there is a mapping of keyChar in the current key state. keyCharIsMapped: (keyChar) -> diff --git a/pages/help_dialog.coffee b/pages/help_dialog.coffee index a5ac25af..e16fd5d3 100644 --- a/pages/help_dialog.coffee +++ b/pages/help_dialog.coffee @@ -49,8 +49,7 @@ HelpDialog = HUD.showForDuration("Yanked #{commandName}.", 2000) @exitOnEscape = new Mode name: "help-page-escape", exitOnEscape: true - @exitOnEscape.onExit (event) => - HelpDialog.hide() if event?.type == "keydown" + @exitOnEscape.onExit (event) => @hide() if event?.type == "keydown" hide: -> @exitOnEscape?.exit() |
