From 7209758339c109d9d174e4021117d59929fa03b1 Mon Sep 17 00:00:00 2001 From: Will Scullin Date: Sun, 5 Jan 2014 07:42:03 -0800 Subject: [PATCH] Clean up keyboard behavior. --- apple2js.html | 7 ++----- apple2jse.html | 39 ++++++++++++++++++--------------------- css/apple2.css | 8 ++++++++ 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/apple2js.html b/apple2js.html index 82009d9..423bf4a 100644 --- a/apple2js.html +++ b/apple2js.html @@ -682,14 +682,13 @@ function _keydown(evt) { } function _keyup(evt) { - _key = 0xff; - if (evt.keyCode == 16) { // Shift keyboard.shiftKey(false); io.buttonDown(2, false); } else if (evt.keyCode == 17) { // Control keyboard.controlKey(false); } else { + _key = 0xff; if (!focused) { io.keyUp(); } @@ -925,9 +924,7 @@ $(function() {
-
-
-
+
diff --git a/apple2jse.html b/apple2jse.html index bad69df..387afcb 100644 --- a/apple2jse.html +++ b/apple2jse.html @@ -642,17 +642,6 @@ function loadLocalStorage(drive, name) { var _key; function _keydown(evt) { - if (!focused) { - evt.preventDefault(); - - var key = keyboard.mapKeyEvent(evt); - if (key != 0xff) { - if (_key != 0xff) io.keyUp(); - io.keyDown(key, evt.shiftKey); - _key = key; - } - } - if (evt.keyCode === 112) { // F1 - Reset cpu.reset(); } else if (evt.keyCode === 113) { // F2 - Full Screen @@ -683,15 +672,19 @@ function _keydown(evt) { keyboard.commandKey(true); } else if (evt.keyCode == 18) { // Alt keyboard.optionKey(true); + } else if (!focused) { + evt.preventDefault(); + + var key = keyboard.mapKeyEvent(evt); + if (key != 0xff) { + if (_key != 0xff) io.keyUp(); + io.keyDown(key); + _key = key; + } } } function _keyup(evt) { - _key = 0xff; - - if (!focused) - io.keyUp(); - if (evt.keyCode == 16) { // Shift keyboard.shiftKey(false); io.buttonDown(2, false); @@ -701,6 +694,11 @@ function _keyup(evt) { keyboard.commandKey(false); } else if (evt.keyCode == 18) { // Alt keyboard.optionKey(false); + } else { + _key = 0xff; + if (!focused) { + io.keyUp(); + } } } @@ -790,11 +788,12 @@ $(function() { .mousemove(_mousemove) .bind("contextmenu", function(e) { e.preventDefault(); }); + $("input,textarea").focus(function() { focused = true; }) + .blur(function() { focused = false; }); + $("body > div").hover(function() { focused = false; }, function() { focused = true; }); - $("input,textarea").focus(function() { focused = true; }); - $("input,textarea").blur(function() { focused = false; }); keyboard.create($("#keyboard")); @@ -936,9 +935,7 @@ $(function() {
-
-
-
+
diff --git a/css/apple2.css b/css/apple2.css index e7250d3..3e8131a 100644 --- a/css/apple2.css +++ b/css/apple2.css @@ -264,6 +264,14 @@ canvas { width: 610px; } +#keyboard { + margin: 0px 10px; +} + +.apple2e #keyboard { + margin: 0px; +} + #keyboard .row0 { margin-left: 20px; }