aboutsummaryrefslogtreecommitdiffstats
path: root/vimiumFrontend.js
diff options
context:
space:
mode:
Diffstat (limited to 'vimiumFrontend.js')
-rw-r--r--vimiumFrontend.js21
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;
}