diff options
Diffstat (limited to 'content_scripts')
| -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() | 
