aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/link_hints.coffee
diff options
context:
space:
mode:
authormrmr19932014-07-28 14:48:11 +0100
committerStephen Blott2015-01-17 13:57:49 +0000
commitf9c0ed96b55309413e0be175dcf2245f50051ccd (patch)
treedf92da9e359a6db2d5ba182b0e8ccf07329e13b8 /content_scripts/link_hints.coffee
parent0f80b22ca3a072d843cc79eeae71312a5b2eee74 (diff)
downloadvimium-f9c0ed96b55309413e0be175dcf2245f50051ccd.tar.bz2
Re-introduce ctrl, shift keys as link hint mode modifiers
This fixes #1096.
Diffstat (limited to 'content_scripts/link_hints.coffee')
-rw-r--r--content_scripts/link_hints.coffee14
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