Author: aandrejevic Date: Tue May 5 17:56:37 2015 New Revision: 67561
URL: http://svn.reactos.org/svn/reactos?rev=67561&view=rev Log: [NTVDM] The DOS CON driver should support extended keystrokes.
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/d... ============================================================================== --- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c [iso-8859-1] Tue May 5 17:56:37 2015 @@ -42,8 +42,8 @@ { if (!ExtendedCode) { - /* Call the BIOS INT 16h, AH=00h "Get Keystroke" */ - setAH(0x00); + /* Call the BIOS INT 16h, AH=10h "Get Extended Keystroke" */ + setAH(0x10); Int32Call(&DosContext, BIOS_KBD_INTERRUPT);
/* Retrieve the character in AL (scan code is in AH) */ @@ -59,7 +59,7 @@ }
/* Check if this is a special character */ - if (Character == 0) ExtendedCode = getAH(); + if (Character == 0 || Character == 0xE0) ExtendedCode = getAH();
if (DoEcho) DosPrintCharacter(DOS_OUTPUT_HANDLE, Character); Pointer[BytesRead++] = Character;