patch from bradon fixing special key for other language's that English example Swedish keyboard layout. we can type now backslash again. it did regress in rev 19906

svn path=/trunk/; revision=20715
This commit is contained in:
Magnus Olsen 2006-01-08 18:22:46 +00:00
parent 9ca8bfbe66
commit 48fabbd103

View file

@ -140,6 +140,7 @@ VOID ReadCommand (LPTSTR str, INT maxlen)
BOOL bContinue=FALSE;/*is TRUE the second case will not be executed*/ BOOL bContinue=FALSE;/*is TRUE the second case will not be executed*/
BOOL bReturn = FALSE; BOOL bReturn = FALSE;
TCHAR szPath[MAX_PATH]; TCHAR szPath[MAX_PATH];
BOOL bCharInput;
/* get screen size */ /* get screen size */
GetScreenSize (&maxx, &maxy); GetScreenSize (&maxx, &maxy);
@ -215,6 +216,7 @@ VOID ReadCommand (LPTSTR str, INT maxlen)
// continue; // continue;
bCharInput = FALSE;
switch (ir.Event.KeyEvent.wVirtualKeyCode) switch (ir.Event.KeyEvent.wVirtualKeyCode)
{ {
@ -511,15 +513,17 @@ VOID ReadCommand (LPTSTR str, INT maxlen)
} }
break; break;
default:
/* This input is just a normal char */
bCharInput = TRUE;
} }
#ifdef _UNICODE #ifdef _UNICODE
ch = ir.Event.KeyEvent.uChar.UnicodeChar; ch = ir.Event.KeyEvent.uChar.UnicodeChar;
if ((ch >= 32 && ch <= 255) && (charcount != (maxlen - 2)) && if ((ch >= 32 && (charcount != (maxlen - 2)) && bCharInput)
!(ir.Event.KeyEvent.dwControlKeyState & (RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED)))
#else #else
ch = ir.Event.KeyEvent.uChar.AsciiChar; ch = ir.Event.KeyEvent.uChar.AsciiChar;
if ((UCHAR)ch >= 32 && (charcount != (maxlen - 2)) && if ((UCHAR)ch >= 32 && (charcount != (maxlen - 2)) && bCharInput)
!(ir.Event.KeyEvent.dwControlKeyState & (RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED)))
#endif /* _UNICODE */ #endif /* _UNICODE */
{ {
/* insert character into string... */ /* insert character into string... */