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/…
==============================================================================
--- 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;