diff options
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; } |
