Code "symmetrization" (see the upper helper function).

svn path=/trunk/; revision=62763
This commit is contained in:
Hermès Bélusca-Maïto 2014-04-17 00:46:43 +00:00
parent 252f2b2f4b
commit ace39a5f06

View file

@ -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 NTSTATUS FASTCALL
ConioAddInputEvent(PCONSOLE Console, ConioAddInputEvent(PCONSOLE Console,
PINPUT_RECORD InputEvent, PINPUT_RECORD InputEvent,
@ -465,12 +478,9 @@ ConDrvWriteConsoleInput(IN PCONSOLE Console,
for (i = (NumEventsWritten ? *NumEventsWritten : 0); i < NumEventsToWrite && NT_SUCCESS(Status); ++i) 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; ConioInputEventToUnicode(Console, InputRecord);
ConsoleInputAnsiCharToUnicodeChar(Console,
&InputRecord->Event.KeyEvent.uChar.UnicodeChar,
&AsciiChar);
} }
Status = ConioAddInputEvent(Console, InputRecord++, AppendToEnd); Status = ConioAddInputEvent(Console, InputRecord++, AppendToEnd);