aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/vimium_frontend.coffee12
1 files changed, 8 insertions, 4 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index 68b58766..5d31b67a 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -325,14 +325,18 @@ extend window,
hintMarkerContainingDiv = LinkHints.displayHints(hintMarkers)
- handlerStack.push keydown: ->
+ handlerStack.push keydown: (event) ->
if event.keyCode == KeyboardUtils.keyCodes.tab
hintMarkers[selectedInputIndex].classList.remove 'internalVimiumSelectedHintMarker'
- if ++selectedInputIndex == hintMarkers.length
- selectedInputIndex = 0
+ if event.shiftKey
+ if --selectedInputIndex == -1
+ selectedInputIndex = hintMarkers.length - 1
+ else
+ if ++selectedInputIndex == hintMarkers.length
+ selectedInputIndex = 0
hintMarkers[selectedInputIndex].classList.add 'internalVimiumSelectedHintMarker'
hintMarkers[selectedInputIndex].clickableItem.focus()
- else
+ else unless event.keyCode == KeyboardUtils.keyCodes.shiftKey
DomUtils.removeElement hintMarkerContainingDiv
handlerStack.pop()