aboutsummaryrefslogtreecommitdiffstats
path: root/vimiumFrontend.js
diff options
context:
space:
mode:
authorilya2009-12-30 13:16:27 -0800
committerilya2009-12-30 13:16:27 -0800
commitd372d7b0f1896b9020ee9024dd7aca1c28b688ae (patch)
tree087064548f481a5827a515cea9b35196b2ccaca7 /vimiumFrontend.js
parent376e3a545956eafb9f446e50c7d5fad0eed20bdb (diff)
downloadvimium-d372d7b0f1896b9020ee9024dd7aca1c28b688ae.tar.bz2
Bring up insert mode if the user opens up the native find interface. Closes issue #32.
Diffstat (limited to 'vimiumFrontend.js')
-rw-r--r--vimiumFrontend.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/vimiumFrontend.js b/vimiumFrontend.js
index 39e29715..fae37631 100644
--- a/vimiumFrontend.js
+++ b/vimiumFrontend.js
@@ -18,6 +18,7 @@ var settingPort;
var saveZoomLevelPort;
// Users can disable Vimium on URL patterns via the settings page.
var isEnabledForUrl = true;
+var platform;
// TODO(philc): This should be pulled from the extension's storage when the page loads.
var currentZoomLevel = 100;
@@ -45,6 +46,13 @@ function initializePreDomReady() {
// Send the key to the key handler in the background page.
keyPort = chrome.extension.connect({ name: "keyDown" });
+ if (navigator.userAgent.indexOf("Mac") != -1)
+ platform = "Mac";
+ else if (navigator.userAgent.indexOf("Linux") != -1)
+ platform = "Linux";
+ else
+ platform = "Windows";
+
chrome.extension.onConnect.addListener(function(port, name) {
if (port.name == "executePageCommand") {
port.onMessage.addListener(function(args) {
@@ -193,10 +201,17 @@ function onKeydown(event) {
unicodeKeyInHex = "0x" + event.keyIdentifier.substring(2);
keyChar = String.fromCharCode(parseInt(unicodeKeyInHex)).toLowerCase();
+ // Enter insert mode when the user enables the native find interface.
+ if (keyChar == "f" && !event.shiftKey && ((platform == "Mac" && event.metaKey) ||
+ (platform != "Mac" && event.ctrlKey)))
+ enterInsertMode();
+
if (event.shiftKey)
keyChar = keyChar.toUpperCase();
if (event.ctrlKey)
keyChar = "<c-" + keyChar + ">";
+ if (event.metaKey)
+ keyChar = null;
}
if (insertMode && event.keyCode == keyCodes.ESC)