From 8800ea89d1f12d0a92e07ac3c61e1c99286dbac7 Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Sun, 27 Oct 2013 01:33:15 +0000 Subject: [PATCH] [NTVDM] Push scancodes on to the BIOS keyboard queue even if they're not ASCII. svn path=/branches/ntvdm/; revision=60764 --- subsystems/ntvdm/bios.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/subsystems/ntvdm/bios.c b/subsystems/ntvdm/bios.c index 61e6beb8c1b..51784a0a575 100644 --- a/subsystems/ntvdm/bios.c +++ b/subsystems/ntvdm/bios.c @@ -1115,11 +1115,15 @@ VOID BiosHandleIrq(BYTE IrqNumber, LPWORD Stack) BiosKeyboardMap[VirtualKey] |= (1 << 7); /* Find out which character this is */ - if (ToAscii(VirtualKey, ScanCode, BiosKeyboardMap, &Character, 0) > 0) + if (ToAscii(VirtualKey, ScanCode, BiosKeyboardMap, &Character, 0) == 0) { - /* Push it onto the BIOS keyboard queue */ - BiosKbdBufferPush((ScanCode << 8) | (Character & 0xFF)); + /* Not ASCII */ + Character = 0; } + + /* Push it onto the BIOS keyboard queue */ + BiosKbdBufferPush((ScanCode << 8) | (Character & 0xFF)); + } else {