@@ -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