diff --git a/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c b/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c index 11f8080ef09..bb12c3d1a24 100644 --- a/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c +++ b/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c @@ -122,6 +122,13 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack) { /* There is a character, clear ZF and return it */ Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF; + + if (getAH() == 0x01 && LOBYTE(Character) == 0xE0) + { + /* Clear the extended code */ + Character &= 0xFF00; + } + setAX(Character); } else @@ -130,12 +137,6 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack) Stack[STACK_FLAGS] |= EMULATOR_FLAG_ZF; } - if (getAH() == 0x01 && LOBYTE(Character) == 0xE0) - { - /* Clear the extended code */ - Character &= 0xFF00; - } - break; }