diff options
| author | ilya | 2009-12-06 12:40:47 -0800 |
|---|---|---|
| committer | ilya | 2009-12-06 12:40:47 -0800 |
| commit | 0215cd8444fba8cc3b536b2c6016678e3e756c1f (patch) | |
| tree | 0dc2e7c74bca0323437da073fbff858c2e6cb53b /vimiumFrontend.js | |
| parent | 066ed27f2080fd0d4e7cb08559ac2183557b9f9a (diff) | |
| download | vimium-0215cd8444fba8cc3b536b2c6016678e3e756c1f.tar.bz2 | |
Enable non-alphanumeric characters in find queries. Closes #14.
Fix involved two things: (1) unblocking the display of real spaces in the HUD when mixed in with the fake spaces intentionally inserted, (2) fixing our keydown handler to understand the scenario when we need to use the unicode keyIdentifier.
Diffstat (limited to 'vimiumFrontend.js')
| -rw-r--r-- | vimiumFrontend.js | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/vimiumFrontend.js b/vimiumFrontend.js index e74b1fbd..1c9a4b50 100644 --- a/vimiumFrontend.js +++ b/vimiumFrontend.js @@ -160,17 +160,21 @@ function onKeydown(event) { return; // Ignore modifier keys by themselves. - if (event.keyCode > 31 && event.keyCode < 127) { - keyChar = String.fromCharCode(event.keyCode).toLowerCase(); + if (event.keyCode > 31) { + if (event.keyCode < 127) + keyChar = String.fromCharCode(event.keyCode).toLowerCase(); + else + { + unicodeKeyInHex = "0x" + event.keyIdentifier.substring(2); + keyChar = String.fromCharCode(parseInt(unicodeKeyInHex)).toLowerCase(); + } + if (event.shiftKey) keyChar = keyChar.toUpperCase(); if (event.ctrlKey) keyChar = "<c-" + keyChar + ">"; } - // NOTE(ilya): Not really sure why yet but / yields 191 (¿) on my mac. - if (event.keyCode == 191) { keyChar = "/"; } - if (insertMode && event.keyCode == keyCodes.ESC) { // Remove focus so the user can't just get himself back into insert mode by typing in the same input box. @@ -263,7 +267,12 @@ function insertSpaces(query) { var newQuery = ""; for (var i = 0; i < query.length; i++) - newQuery = newQuery + query[i] + "<span style=\"font-size: 0px;\"> </span>"; + { + if (query[i] == " " || (i + 1 < query.length && query[i + 1] == " ")) + newQuery = newQuery + query[i]; + else + newQuery = newQuery + query[i] + "<span style=\"font-size: 0px;\"> </span>"; + } return newQuery; } |
