mirror of
https://github.com/whscullin/apple2js.git
synced 2024-01-12 14:14:38 +00:00
Clean up keyboard behavior.
This commit is contained in:
parent
9a25ffcf09
commit
7209758339
@ -682,14 +682,13 @@ function _keydown(evt) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _keyup(evt) {
|
function _keyup(evt) {
|
||||||
_key = 0xff;
|
|
||||||
|
|
||||||
if (evt.keyCode == 16) { // Shift
|
if (evt.keyCode == 16) { // Shift
|
||||||
keyboard.shiftKey(false);
|
keyboard.shiftKey(false);
|
||||||
io.buttonDown(2, false);
|
io.buttonDown(2, false);
|
||||||
} else if (evt.keyCode == 17) { // Control
|
} else if (evt.keyCode == 17) { // Control
|
||||||
keyboard.controlKey(false);
|
keyboard.controlKey(false);
|
||||||
} else {
|
} else {
|
||||||
|
_key = 0xff;
|
||||||
if (!focused) {
|
if (!focused) {
|
||||||
io.keyUp();
|
io.keyUp();
|
||||||
}
|
}
|
||||||
@ -925,9 +924,7 @@ $(function() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="inset">
|
<div class="inset">
|
||||||
<div style="margin: 0px 10px">
|
<div id="keyboard"></div>
|
||||||
<div id="keyboard"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="loading" title="Loading">
|
<div id="loading" title="Loading">
|
||||||
|
@ -642,17 +642,6 @@ function loadLocalStorage(drive, name) {
|
|||||||
|
|
||||||
var _key;
|
var _key;
|
||||||
function _keydown(evt) {
|
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
|
if (evt.keyCode === 112) { // F1 - Reset
|
||||||
cpu.reset();
|
cpu.reset();
|
||||||
} else if (evt.keyCode === 113) { // F2 - Full Screen
|
} else if (evt.keyCode === 113) { // F2 - Full Screen
|
||||||
@ -683,15 +672,19 @@ function _keydown(evt) {
|
|||||||
keyboard.commandKey(true);
|
keyboard.commandKey(true);
|
||||||
} else if (evt.keyCode == 18) { // Alt
|
} else if (evt.keyCode == 18) { // Alt
|
||||||
keyboard.optionKey(true);
|
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) {
|
function _keyup(evt) {
|
||||||
_key = 0xff;
|
|
||||||
|
|
||||||
if (!focused)
|
|
||||||
io.keyUp();
|
|
||||||
|
|
||||||
if (evt.keyCode == 16) { // Shift
|
if (evt.keyCode == 16) { // Shift
|
||||||
keyboard.shiftKey(false);
|
keyboard.shiftKey(false);
|
||||||
io.buttonDown(2, false);
|
io.buttonDown(2, false);
|
||||||
@ -701,6 +694,11 @@ function _keyup(evt) {
|
|||||||
keyboard.commandKey(false);
|
keyboard.commandKey(false);
|
||||||
} else if (evt.keyCode == 18) { // Alt
|
} else if (evt.keyCode == 18) { // Alt
|
||||||
keyboard.optionKey(false);
|
keyboard.optionKey(false);
|
||||||
|
} else {
|
||||||
|
_key = 0xff;
|
||||||
|
if (!focused) {
|
||||||
|
io.keyUp();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,11 +788,12 @@ $(function() {
|
|||||||
.mousemove(_mousemove)
|
.mousemove(_mousemove)
|
||||||
.bind("contextmenu", function(e) { e.preventDefault(); });
|
.bind("contextmenu", function(e) { e.preventDefault(); });
|
||||||
|
|
||||||
|
$("input,textarea").focus(function() { focused = true; })
|
||||||
|
.blur(function() { focused = false; });
|
||||||
|
|
||||||
$("body > div").hover(function() { focused = false; },
|
$("body > div").hover(function() { focused = false; },
|
||||||
function() { focused = true; });
|
function() { focused = true; });
|
||||||
|
|
||||||
$("input,textarea").focus(function() { focused = true; });
|
|
||||||
$("input,textarea").blur(function() { focused = false; });
|
|
||||||
|
|
||||||
keyboard.create($("#keyboard"));
|
keyboard.create($("#keyboard"));
|
||||||
|
|
||||||
@ -936,9 +935,7 @@ $(function() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="inset">
|
<div class="inset">
|
||||||
<div>
|
<div id="keyboard"></div>
|
||||||
<div id="keyboard"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="loading" title="Loading">
|
<div id="loading" title="Loading">
|
||||||
|
@ -264,6 +264,14 @@ canvas {
|
|||||||
width: 610px;
|
width: 610px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#keyboard {
|
||||||
|
margin: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.apple2e #keyboard {
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
#keyboard .row0 {
|
#keyboard .row0 {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user