aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
authorStephen Blott2016-10-10 13:55:47 +0100
committerGitHub2016-10-10 13:55:47 +0100
commit1eb6bfdcad6d7091911e395083afe1148b2a4c76 (patch)
tree0dc625f101fbd7d2e49b73c71f067fda628d97f4 /content_scripts
parenta3c4b530f24ee8bc1f9a1219cf35fb87a1aa0402 (diff)
parent0346b2d971ffab26a8d37946aca1c550b316e317 (diff)
downloadvimium-1eb6bfdcad6d7091911e395083afe1148b2a4c76.tar.bz2
Merge pull request #2306 from smblott-github/add-key-translation
Add "mapkey" command for key mappings.
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/mode_key_handler.coffee5
1 files changed, 5 insertions, 0 deletions
diff --git a/content_scripts/mode_key_handler.coffee b/content_scripts/mode_key_handler.coffee
index 8c0ae4b8..480a79af 100644
--- a/content_scripts/mode_key_handler.coffee
+++ b/content_scripts/mode_key_handler.coffee
@@ -33,8 +33,12 @@ class KeyHandlerMode extends Mode
# We cannot track keyup events if we lose the focus.
blur: (event) => @alwaysContinueBubbling => @keydownEvents = {} if event.target == window
+ @mapKeyRegistry = {}
+ Utils.monitorChromeStorage "mapKeyRegistry", (value) => @mapKeyRegistry = value
+
onKeydown: (event) ->
keyChar = KeyboardUtils.getKeyCharString event
+ keyChar = @mapKeyRegistry[keyChar] ? keyChar
isEscape = KeyboardUtils.isEscape event
if isEscape and (@countPrefix != 0 or @keyState.length != 1)
@keydownEvents[event.keyCode] = true
@@ -61,6 +65,7 @@ class KeyHandlerMode extends Mode
onKeypress: (event) ->
keyChar = KeyboardUtils.getKeyCharString event
+ keyChar = @mapKeyRegistry[keyChar] ? keyChar
if @isMappedKey keyChar
@handleKeyChar keyChar
else if @isCountKey keyChar