First run scancodes through int 15 0x4f before handling them in bios
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1473
This commit is contained in:
parent
0bec45e6b7
commit
3655cc0cc6
1 changed files with 7 additions and 0 deletions
|
@ -207,6 +207,12 @@ static Bitu IRQ1_Handler(void) {
|
|||
KEYBOARD_ReadKey(scancode,ascii,mod);
|
||||
// LOG(0,"Got code %X ascii %C mod %X",scancode,ascii,mod);
|
||||
#endif
|
||||
Bit16u old_ax=reg_ax;
|
||||
reg_flags|=1;
|
||||
reg_ah=0x4f;reg_al=scancode;
|
||||
CALLBACK_RunRealInt(0x15);
|
||||
reg_ax=old_ax;
|
||||
if (!(reg_flags&1)) goto irq1_return;
|
||||
|
||||
//TODO maybe implement the int 0x15 ah=4f scancode lookup hook
|
||||
Bit8u flags1=mem_readb(BIOS_KEYBOARD_FLAGS1);
|
||||
|
@ -284,6 +290,7 @@ irq1_end:
|
|||
mem_writeb(BIOS_KEYBOARD_FLAGS1,flags1);
|
||||
mem_writeb(BIOS_KEYBOARD_FLAGS2,flags2);
|
||||
mem_writeb(BIOS_KEYBOARD_FLAGS3,flags3);
|
||||
irq1_return:
|
||||
IO_Write(0x20,0x20);
|
||||
#if 0
|
||||
/* Signal the keyboard for next code */
|
||||
|
|
Loading…
Add table
Reference in a new issue