]> git.wh0rd.org - tt-rss.git/blobdiff - js/tt-rss.js
hotkey_handler: one more tiny tweak
[tt-rss.git] / js / tt-rss.js
index afbc775f21311cef7384df598e41e2e46f7b5c13..c51e25db5940b1445eca54838256302f684778f8 100644 (file)
@@ -851,26 +851,15 @@ function hotkey_handler(e) {
        if (e.target.nodeName == "INPUT" || e.target.nodeName == "TEXTAREA") return;
 
        var keycode = false;
-       var shift_key = false;
-       var ctrl_key = false;
-       var alt_key = false;
-       var meta_key = false;
 
        var cmdline = $('cmdline');
 
-       shift_key = e.shiftKey;
-       ctrl_key = e.ctrlKey;
-       alt_key = e.altKey;
-       meta_key = e.metaKey;
-
        if (window.event) {
                keycode = window.event.keyCode;
        } else if (e) {
                keycode = e.which;
        }
 
-       var keychar = String.fromCharCode(keycode);
-
        if (keycode == 27) { // escape
                hotkey_prefix = false;
        }
@@ -878,9 +867,8 @@ function hotkey_handler(e) {
        if (keycode == 16) return; // ignore lone shift
        if (keycode == 17) return; // ignore lone ctrl
 
-       keychar = keychar.toLowerCase();
-
        var hotkeys = getInitParam("hotkeys");
+       var keychar = String.fromCharCode(keycode).toLowerCase();
 
        if (!hotkey_prefix && hotkeys[0].indexOf(keychar) != -1) {
 
@@ -894,7 +882,9 @@ function hotkey_handler(e) {
                Element.show(cmdline);
 
                e.stopPropagation();
-               return false;
+
+               // returning false here literally disables ctrl-c in browser lol (because C is a valid prefix)
+               return true;
        }
 
        Element.hide(cmdline);
@@ -902,10 +892,10 @@ function hotkey_handler(e) {
        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;
+       if (e.shiftKey) hotkey = "*" + hotkey;
+       if (e.ctrlKey) hotkey = "^" + hotkey;
+       if (e.altKey) hotkey = "+" + hotkey;
+       if (e.metaKey) hotkey = "%" + hotkey;
 
        hotkey = hotkey_prefix ? hotkey_prefix + " " + hotkey : hotkey;
        hotkey_prefix = false;