From 818386a5d262c7580d8ba7627935cb1adaa0292e Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Sun, 8 Sep 2019 18:36:59 -0500 Subject: [PATCH] prevent backspace key from leaving browser page --- presets/apple2/tb_6502.s | 7 +++++-- src/emu.ts | 3 +++ src/machine/apple2.ts | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/presets/apple2/tb_6502.s b/presets/apple2/tb_6502.s index 731f8058..71b690ba 100644 --- a/presets/apple2/tb_6502.s +++ b/presets/apple2/tb_6502.s @@ -3,7 +3,10 @@ .segment "INIT" .segment "ONCE" +; don't use $800-$1fff :( .segment "STARTUP" + jmp Start +; use $4000- :) .segment "CODE" .define EQU = @@ -146,7 +149,7 @@ PERFECT_AIM EQU $1 ;============================== ; back up part of the zero page ;============================== - +Start: lda #>zero_page_save sta BASH lda # { callback(e.which, 0, KeyFlags.KeyDown|_metakeyflags(e)); + if (e.which == 8 || e.which == 9 || e.which == 27) { // eat backspace, tab, escape keys + e.preventDefault(); + } }; canvas.onkeyup = (e) => { callback(e.which, 0, KeyFlags.KeyUp|_metakeyflags(e)); diff --git a/src/machine/apple2.ts b/src/machine/apple2.ts index 2bdfb4c9..ae674247 100644 --- a/src/machine/apple2.ts +++ b/src/machine/apple2.ts @@ -243,7 +243,9 @@ export class AppleII extends BasicScanlineMachine { } else if (flags & KeyFlags.KeyDown) { code = 0; switch (key) { + case 8: code=8; break; // left case 13: code=13; break; // return + case 27: code=27; break; // escape case 37: code=8; break; // left case 39: code=21; break; // right case 38: code=11; break; // up