diff options
| -rw-r--r-- | linkHints.js | 9 | ||||
| -rw-r--r-- | vimiumFrontend.js | 4 |
2 files changed, 13 insertions, 0 deletions
diff --git a/linkHints.js b/linkHints.js index fed190dc..604e91e9 100644 --- a/linkHints.js +++ b/linkHints.js @@ -31,6 +31,7 @@ var linkHints = { */ init: function() { this.onKeyDownInMode = this.onKeyDownInMode.bind(this); + this.onKeyPressInMode = this.onKeyPressInMode.bind(this); this.onKeyUpInMode = this.onKeyUpInMode.bind(this); this.markerMatcher = settings.get('filterLinkHints') == "true" ? filterHints : alphabetHints; }, @@ -57,6 +58,7 @@ var linkHints = { this.buildLinkHints(); handlerStack.push({ // modeKeyHandler is declared by vimiumFrontend.js keydown: this.onKeyDownInMode, + keypress: this.onKeyPressInMode, keyup: this.onKeyUpInMode }); @@ -217,7 +219,14 @@ var linkHints = { event.preventDefault(); }, + onKeyPressInMode: function(event) { + return !this.delayMode; + }, + onKeyUpInMode: function(event) { + if (this.delayMode) + return; + if (event.keyCode == keyCodes.shiftKey && this.openLinkModeToggle) { // Revert toggle on whether to open link in new or current tab. this.setOpenLinkMode(!this.shouldOpenInNewTab, this.shouldOpenWithQueue, false); diff --git a/vimiumFrontend.js b/vimiumFrontend.js index 56c425bb..d485163b 100644 --- a/vimiumFrontend.js +++ b/vimiumFrontend.js @@ -337,6 +337,10 @@ function onKeypress(event) { } } +/** + * Called whenever we receive a key event. Each individual handler has the option to stop the event's + * propagation by returning a falsy value. + */ function bubbleEvent(type, event) { for (var i = handlerStack.length-1; i >= 0; i--) { // We need to check for existence of handler because the last function call may have caused the release of |
