]> git.wh0rd.org - chrome-ext/music-player-client.git/blobdiff - main.js
controls: fix hotkeys when focusing elements
[chrome-ext/music-player-client.git] / main.js
diff --git a/main.js b/main.js
index 1466bded59d7192b0a094b2c4bea70254d47cb39..16875983968fd05b34c142910747a369b2bb5517 100644 (file)
--- a/main.js
+++ b/main.js
@@ -61,17 +61,23 @@ window.onload = function() {
 };
 
 window.onkeypress = function(e) {
+       if (e.target != document.body) {
+               /* Only allow the shortcuts when the focus is on the body.
+                  Otherwise you can't type these numbers into text fields. */
+               return;
+       }
+
        switch (e.keyCode) {
        case 49: // 1
                show_page('controls');
                break;
-       case 50: // 1
+       case 50: // 2
                show_page('metadata');
                break;
-       case 51: // 1
+       case 51: // 3
                show_page('playlist');
                break;
-       case 52: // 1
+       case 52: // 4
                show_page('options');
                break;
        }
@@ -157,12 +163,15 @@ function show_page(page) {
        if (typeof(page) != 'string')
                page = this.id.split('.')[1];
 
+       // We might not be connected in which case 'mpc' will be undefined.
        switch (page) {
        case 'playlist':
-               mpc.playlistinfo();
+               if (mpc)
+                       mpc.playlistinfo();
                // Fallthrough.
        case 'metadata':
-               mpc.currentsong();
+               if (mpc)
+                       mpc.currentsong();
                break;
        }