aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Sukhar2010-10-20 22:51:41 -0700
committerIlya Sukhar2010-10-20 22:51:41 -0700
commitdb0073f1b707aa48557f8d8347af66a48e3293a3 (patch)
treed4c5bb6aa5d4c8f521ca34d00d5b235f13110f72
parent828721c7913a2f334f6b6bac08de74c980c38ef5 (diff)
downloadvimium-db0073f1b707aa48557f8d8347af66a48e3293a3.tar.bz2
Refactor onKeypress and onKeydown a bit.
-rw-r--r--vimiumFrontend.js65
1 files changed, 27 insertions, 38 deletions
diff --git a/vimiumFrontend.js b/vimiumFrontend.js
index 75225a78..19e2e0a2 100644
--- a/vimiumFrontend.js
+++ b/vimiumFrontend.js
@@ -320,32 +320,26 @@ function onKeypress(event) {
keyChar = String.fromCharCode(event.charCode);
// Enter insert mode when the user enables the native find interface.
- if (keyChar == "f" && isPrimaryModifierKey(event))
- {
+ if (keyChar == "f" && isPrimaryModifierKey(event)) {
enterInsertMode();
return;
}
- }
- if (findMode)
- {
- if (keyChar)
- {
- handleKeyCharForFindMode(keyChar);
+ if (keyChar) {
+ if (findMode) {
+ handleKeyCharForFindMode(keyChar);
- // Don't let the space scroll us if we're searching.
- if (event.keyCode == keyCodes.space)
- event.preventDefault();
- }
- }
+ // Don't let the space scroll us if we're searching.
+ if (event.keyCode == keyCodes.space)
+ event.preventDefault();
+ } else if (!insertMode && !findMode) {
+ 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:keyChar, frameId:frameId});
}
- keyPort.postMessage({keyChar:keyChar, frameId:frameId});
}
}
}
@@ -355,36 +349,32 @@ function onKeydown(event) {
if (linkHintsModeActivated)
return;
-
+
// handle modifiers being pressed.don't handle shiftKey alone (to avoid / being interpreted as ?
- if (event.metaKey && event.keyCode > 31 || event.ctrlKey && event.keyCode > 31 || event.altKey && event.keyCode > 31)
- {
- if (event.keyCode > 31)
+ if (event.metaKey && event.keyCode > 31 || event.ctrlKey && event.keyCode > 31 || event.altKey && event.keyCode > 31) {
+ keyChar = getKeyChar(event);
+
+ if (keyChar != "") // Again, ignore just modifiers. Maybe this should replace the keyCode > 31 condition.
{
- keyChar = getKeyChar(event);
-
- if (keyChar != "") // Again, ignore just modifiers. Maybe this should replace the keyCode > 31 condition.
- {
- var modifiers = [];
-
- if (event.shiftKey)
+ var modifiers = [];
+
+ if (event.shiftKey)
keyChar = keyChar.toUpperCase();
- if (event.metaKey)
+ if (event.metaKey)
modifiers.push("m");
- if (event.ctrlKey)
+ if (event.ctrlKey)
modifiers.push("c");
- if (event.altKey)
+ if (event.altKey)
modifiers.push("a");
- for (var i in modifiers)
+ for (var i in modifiers)
keyChar = modifiers[i] + "-" + keyChar;
- if (modifiers.length > 0 || keyChar.length > 1)
+ if (modifiers.length > 0 || keyChar.length > 1)
keyChar = "<" + keyChar + ">";
- }
}
}
-
+
if (insertMode && isEscape(event))
{
// Note that we can't programmatically blur out of Flash embeds from Javascript.
@@ -419,7 +409,6 @@ function onKeydown(event) {
}
keyPort.postMessage({keyChar:keyChar, frameId:frameId});
-
}
else if (isEscape(event)) {
keyPort.postMessage({keyChar:"<ESC>", frameId:frameId});