diff options
| author | ilya | 2009-12-30 13:16:27 -0800 |
|---|---|---|
| committer | ilya | 2009-12-30 13:16:27 -0800 |
| commit | d372d7b0f1896b9020ee9024dd7aca1c28b688ae (patch) | |
| tree | 087064548f481a5827a515cea9b35196b2ccaca7 /vimiumFrontend.js | |
| parent | 376e3a545956eafb9f446e50c7d5fad0eed20bdb (diff) | |
| download | vimium-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.js | 15 |
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) |
