diff options
Diffstat (limited to 'content_scripts/vimium_frontend.coffee')
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 12 |
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() |
