Skip to content

Commit b177fb5

Browse files
committed
apple2: fixed 0-9 on kbd
1 parent 54d237a commit b177fb5

3 files changed

Lines changed: 21 additions & 16 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ git submodule init
2323
git submodule update
2424
npm i
2525
npm run build
26+
npm run esbuild
2627
```
2728

2829
To use GitHub integration locally, download the Firebase config file, e.g. https://8bitworkshop.com/v[version]/config.js

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
"build": "make prepare",
6464
"test": "npm run test-node",
6565
"tsbuild": "tsc --build tsconfig.json",
66+
"tslint": "tsc --build -noEmit tsconfig.json",
6667
"esbuild": "npm run esbuild-worker && npm run esbuild-ui && npm run esbuild-server",
6768
"esbuild-clean": "rm -f ./gen/*.*",
6869
"esbuild-server": "esbuild src/worker/server/server.ts --platform=node --bundle --sourcemap --target=es2020 --outfile=./gen/server/server.js",

src/machine/apple2.ts

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -355,12 +355,12 @@ export class AppleII extends BasicScanlineMachine implements AcceptsBIOS {
355355
}
356356

357357
setKeyInput(key:number, code:number, flags:number) : void {
358-
//console.log(`setKeyInput: ${key} ${code} ${flags}`);
358+
console.log(`setKeyInput: ${key} ${code} ${flags}`);
359359
if (flags & KeyFlags.KeyDown) {
360360
code = 0;
361361
switch (key) {
362-
case 16: case 17: case 18:
363-
break; // ignore shift/ctrl/etc
362+
case 16: case 17: case 18: case 91:
363+
return; // ignore shift/ctrl/alt - don't set any key
364364
case 8:
365365
code=8; // left
366366
if (flags & KeyFlags.Shift) {
@@ -375,20 +375,23 @@ export class AppleII extends BasicScanlineMachine implements AcceptsBIOS {
375375
case 39: code=21; break; // right
376376
case 38: code=11; break; // up
377377
case 40: code=10; break; // down
378-
case 48: if (flags & KeyFlags.Shift) code = 0x29; break; // )
379-
case 49: if (flags & KeyFlags.Shift) code = 0x21; break; // !
380-
case 50: if (flags & KeyFlags.Shift) code = 0x40; break; // @
381-
case 51: if (flags & KeyFlags.Shift) code = 0x23; break; // #
382-
case 52: if (flags & KeyFlags.Shift) code = 0x24; break; // $
383-
case 53: if (flags & KeyFlags.Shift) code = 0x25; break; // %
384-
case 54: if (flags & KeyFlags.Shift) code = 0x5e; break; // ^
385-
case 55: if (flags & KeyFlags.Shift) code = 0x26; break; // &
386-
case 56: if (flags & KeyFlags.Shift) code = 0x2a; break; // *
387-
case 57: if (flags & KeyFlags.Shift) code = 0x28; break; // (
388-
case 61: code = (flags & KeyFlags.Shift) ? 0x2b : 0x3d; break; // +
389-
case 173: code = (flags & KeyFlags.Shift) ? 0x5f : 0x2d; break; // _
390-
case 59: code = (flags & KeyFlags.Shift) ? 0x3a : 0x3b; break;
378+
case 48: code = (flags & KeyFlags.Shift) ? 0x29 : 0x30; break; // ) or 0
379+
case 49: code = (flags & KeyFlags.Shift) ? 0x21 : 0x31; break; // ! or 1
380+
case 50: code = (flags & KeyFlags.Shift) ? 0x40 : 0x32; break; // @ or 2
381+
case 51: code = (flags & KeyFlags.Shift) ? 0x23 : 0x33; break; // # or 3
382+
case 52: code = (flags & KeyFlags.Shift) ? 0x24 : 0x34; break; // $ or 4
383+
case 53: code = (flags & KeyFlags.Shift) ? 0x25 : 0x35; break; // % or 5
384+
case 54: code = (flags & KeyFlags.Shift) ? 0x5e : 0x36; break; // ^ or 6
385+
case 55: code = (flags & KeyFlags.Shift) ? 0x26 : 0x37; break; // & or 7
386+
case 56: code = (flags & KeyFlags.Shift) ? 0x2a : 0x38; break; // * or 8
387+
case 57: code = (flags & KeyFlags.Shift) ? 0x28 : 0x39; break; // ( or 9
388+
case 61: code = (flags & KeyFlags.Shift) ? 0x5f : 0x2d; break; // _ or -
389+
case 173: code = (flags & KeyFlags.Shift) ? 0x2b : 0x3d; break; // + or =
390+
case 59: code = (flags & KeyFlags.Shift) ? 0x3a : 0x3b; break; // : or ;
391+
case 186: code = (flags & KeyFlags.Shift) ? 0x3a : 0x3b; break; // : or ;
392+
case 187: code = (flags & KeyFlags.Shift) ? 0x2b : 0x3d; break; // + or =
391393
case 188: code = (flags & KeyFlags.Shift) ? 0x3c : 0x2c; break;
394+
case 189: code = (flags & KeyFlags.Shift) ? 0x5f : 0x2d; break; // _ or -
392395
case 190: code = (flags & KeyFlags.Shift) ? 0x3e : 0x2e; break;
393396
case 191: code = (flags & KeyFlags.Shift) ? 0x3f : 0x2f; break;
394397
case 222: code = (flags & KeyFlags.Shift) ? 0x22 : 0x27; break;

0 commit comments

Comments
 (0)