aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Ramsay2010-01-04 22:14:21 +0800
committerIlya2010-01-09 09:44:30 +0800
commit26ddb06c8b0354d0540dfd3b54eb6ac2de43ea71 (patch)
tree98c512933bba8f6125f47ef13a13439b33ffab1d
parent617332a9a068aef3aaeb09f144d2dc5849faf192 (diff)
downloadvimium-26ddb06c8b0354d0540dfd3b54eb6ac2de43ea71.tar.bz2
ESC clears the keyQueue
This allows a user to abort part-way through a multi-character command.
-rw-r--r--background_page.html12
-rw-r--r--vimiumFrontend.js18
2 files changed, 20 insertions, 10 deletions
diff --git a/background_page.html b/background_page.html
index 26941cc8..f1bf450a 100644
--- a/background_page.html
+++ b/background_page.html
@@ -314,9 +314,15 @@
}
function handleKeyDown(key, port) {
- console.log("checking keyQueue: [", keyQueue + key, "]");
- keyQueue = checkKeyQueue(keyQueue + key, port.tab.id);
- console.log("new KeyQueue: " + keyQueue);
+ if (key == "<ESC>") {
+ console.log("clearing keyQueue");
+ keyQueue = ""
+ }
+ else {
+ console.log("checking keyQueue: [", keyQueue + key, "]");
+ keyQueue = checkKeyQueue(keyQueue + key, port.tab.id);
+ console.log("new KeyQueue: " + keyQueue);
+ }
}
function checkKeyQueue(keysToCheck, tabId) {
diff --git a/vimiumFrontend.js b/vimiumFrontend.js
index b2750760..c84a619e 100644
--- a/vimiumFrontend.js
+++ b/vimiumFrontend.js
@@ -298,14 +298,18 @@ function onKeydown(event) {
else if (event.keyCode == keyCodes.enter)
handleEnterForFindMode();
}
- else if (!insertMode && !findMode && keyChar)
- {
- if (currentCompletionKeys.indexOf(keyChar) != -1) {
- event.preventDefault();
- event.stopPropagation();
- }
+ else if (!insertMode && !findMode) {
+ if (keyChar) {
+ if (currentCompletionKeys.indexOf(keyChar) != -1) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
- keyPort.postMessage(keyChar);
+ keyPort.postMessage(keyChar);
+ }
+ else if (event.keyCode == keyCodes.ESC) {
+ keyPort.postMessage("<ESC>");
+ }
}
}