From: Hermès Bélusca-Maïto Date: Thu, 17 Apr 2014 00:46:43 +0000 (+0000) Subject: [CONSRV] X-Git-Tag: backups/0.3.17@66124~1724 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=ace39a5f063636b34d4f9c4950feda850949be5b [CONSRV] Code "symmetrization" (see the upper helper function). svn path=/trunk/; revision=62763 --- diff --git a/reactos/win32ss/user/winsrv/consrv/condrv/coninput.c b/reactos/win32ss/user/winsrv/consrv/condrv/coninput.c index 3b4777c1468..eaf94a8a19a 100644 --- a/reactos/win32ss/user/winsrv/consrv/condrv/coninput.c +++ b/reactos/win32ss/user/winsrv/consrv/condrv/coninput.c @@ -54,6 +54,19 @@ ConioInputEventToAnsi(PCONSOLE Console, PINPUT_RECORD InputEvent) } } +static VOID FASTCALL +ConioInputEventToUnicode(PCONSOLE Console, PINPUT_RECORD InputEvent) +{ + if (InputEvent->EventType == KEY_EVENT) + { + CHAR AsciiChar = InputEvent->Event.KeyEvent.uChar.AsciiChar; + InputEvent->Event.KeyEvent.uChar.AsciiChar = 0; + ConsoleInputAnsiCharToUnicodeChar(Console, + &InputEvent->Event.KeyEvent.uChar.UnicodeChar, + &AsciiChar); + } +} + NTSTATUS FASTCALL ConioAddInputEvent(PCONSOLE Console, PINPUT_RECORD InputEvent, @@ -465,12 +478,9 @@ ConDrvWriteConsoleInput(IN PCONSOLE Console, for (i = (NumEventsWritten ? *NumEventsWritten : 0); i < NumEventsToWrite && NT_SUCCESS(Status); ++i) { - if (InputRecord->EventType == KEY_EVENT && !Unicode) + if (!Unicode) { - CHAR AsciiChar = InputRecord->Event.KeyEvent.uChar.AsciiChar; - ConsoleInputAnsiCharToUnicodeChar(Console, - &InputRecord->Event.KeyEvent.uChar.UnicodeChar, - &AsciiChar); + ConioInputEventToUnicode(Console, InputRecord); } Status = ConioAddInputEvent(Console, InputRecord++, AppendToEnd);