aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/keyboard_utils.coffee5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/keyboard_utils.coffee b/lib/keyboard_utils.coffee
index 673289b9..63d2afdc 100644
--- a/lib/keyboard_utils.coffee
+++ b/lib/keyboard_utils.coffee
@@ -66,7 +66,10 @@ KeyboardUtils =
(event) ->
# <c-[> is mapped to Escape in Vim by default.
- event.key == "Escape" or (useVimLikeEscape and @getKeyCharString(event) == "<c-[>")
+ # Escape with a keyCode 229 means that this event comes from IME, and should not be treat as a directly/normal ESC press.
+ # In this case, IME will take care of the ESC press event, not vimium.
+ # See https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html
+ (event.key == "Escape" and event.keyCode != 229) or (useVimLikeEscape and @getKeyCharString(event) == "<c-[>")
isBackspace: (event) ->
event.key in ["Backspace", "Delete"]