Fixed console mode behavior with processed input but not line buffered mode

svn path=/trunk/; revision=1985
This commit is contained in:
Phillip Susi 2001-06-18 03:07:37 +00:00
parent 16588f8362
commit a504708d4e

View file

@ -1,4 +1,4 @@
/* $Id: conio.c,v 1.17 2001/01/31 02:22:09 phreak Exp $
/* $Id: conio.c,v 1.18 2001/06/18 03:07:37 phreak Exp $
*
* reactos/subsys/csrss/api/conio.c
*
@ -704,7 +704,7 @@ VOID Console_Api( DWORD RefreshEvent )
continue;
}
// process special keys if enabled
if( ActiveConsole->Mode & ENABLE_PROCESSED_INPUT )
if( ActiveConsole->Mode & (ENABLE_PROCESSED_INPUT | ENABLE_LINE_INPUT) )
switch( KeyEventRecord->InputEvent.Event.KeyEvent.uChar.AsciiChar )
{
case '\r':
@ -746,7 +746,9 @@ VOID Console_Api( DWORD RefreshEvent )
ActiveConsole->WaitingLines++;
}
KeyEventRecord->Echoed = FALSE;
if( ActiveConsole->Mode & ENABLE_PROCESSED_INPUT && KeyEventRecord->InputEvent.Event.KeyEvent.uChar.AsciiChar == '\b' && KeyEventRecord->InputEvent.Event.KeyEvent.bKeyDown )
if( ActiveConsole->Mode & (ENABLE_PROCESSED_INPUT | ENABLE_LINE_INPUT) &&
KeyEventRecord->InputEvent.Event.KeyEvent.uChar.AsciiChar == '\b' &&
KeyEventRecord->InputEvent.Event.KeyEvent.bKeyDown )
{
// walk the input queue looking for a char to backspace
for( TempInput = (ConsoleInput *)ActiveConsole->InputEvents.Blink;