diff options
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index ddc80464..781223b1 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -464,25 +464,25 @@ extend window, KeydownEvents = handledEvents: {} - stringify: (event) -> - JSON.stringify - metaKey: event.metaKey - altKey: event.altKey - ctrlKey: event.ctrlKey - keyIdentifier: event.keyIdentifier - keyCode: event.keyCode + getEventCode: (event) -> event.keyCode push: (event) -> - @handledEvents[@stringify event] = true + @handledEvents[@getEventCode event] = true # Yields truthy or falsy depending upon whether a corresponding keydown event is present (and removes that # event). pop: (event) -> - detailString = @stringify event + detailString = @getEventCode event value = @handledEvents[detailString] delete @handledEvents[detailString] value + clear: -> @handledEvents = {} + +handlerStack.push + _name: "KeydownEvents-cleanup" + blur: (event) -> KeydownEvents.clear() if event.target == window; true + # # Sends everything except i & ESC to the handler in background_page. i & ESC are special because they control # insert mode which is local state to the page. The key will be are either a single ascii letter or a |
