- if (keycode == 27) { // escape
- hotkey_prefix = false;
- }
-
- if (keycode == 16) return; // ignore lone shift
- if (keycode == 17) return; // ignore lone ctrl
-
- keychar = keychar.toLowerCase();
-
- var hotkeys = getInitParam("hotkeys");
-
- if (!hotkey_prefix && hotkeys[0].indexOf(keychar) != -1) {
-
- var date = new Date();
- var ts = Math.round(date.getTime() / 1000);
-
- hotkey_prefix = keychar;
- hotkey_prefix_pressed = ts;
-
- cmdline.innerHTML = keychar;
- Element.show(cmdline);
-
- e.stopPropagation();
- return false;
- }
-
- Element.hide(cmdline);
-
- var hotkey = keychar.search(/[a-zA-Z0-9]/) != -1 ? keychar : "(" + keycode + ")";
-
- // ensure ^*char notation
- if (shift_key) hotkey = "*" + hotkey;
- if (ctrl_key) hotkey = "^" + hotkey;
- if (alt_key) hotkey = "+" + hotkey;
- if (meta_key) hotkey = "%" + hotkey;