diff options
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/link_hints.coffee | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 9f21d109..1a2385d3 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -262,13 +262,25 @@ LinkHints = if event.keyCode == keyCodes.shiftKey @setOpenLinkMode(if @mode is OPEN_IN_CURRENT_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_CURRENT_TAB) + handlerStack.push + keyup: (event) => + return if (event.keyCode != keyCodes.shiftKey) + @setOpenLinkMode prev_mode if @isActive + handlerStack.remove() + else # event.keyCode == keyCodes.ctrlKey @setOpenLinkMode(if @mode is OPEN_IN_NEW_FG_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_NEW_FG_TAB) + handlerStack.push + keyup: (event) => + return if (event.keyCode != keyCodes.ctrlKey) + @setOpenLinkMode prev_mode if @isActive + handlerStack.remove() + # TODO(philc): Ignore keys that have modifiers. if (KeyboardUtils.isEscape(event)) @deactivateMode() - else + else if (event.keyCode != keyCodes.shiftKey and event.keyCode != keyCodes.ctrlKey) keyResult = @getMarkerMatcher().matchHintsByKey(hintMarkers, event) linksMatched = keyResult.linksMatched delay = keyResult.delay ? 0 |
