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
Modified: trunk/reactos/subsys/system/cmd/cmdinput.c
_____
Modified: trunk/reactos/subsys/system/cmd/cmdinput.c
--- trunk/reactos/subsys/system/cmd/cmdinput.c 2006-01-08 17:58:59 UTC
(rev 20714)
+++ trunk/reactos/subsys/system/cmd/cmdinput.c 2006-01-08 18:22:46 UTC
(rev 20715)
@@ -140,6 +140,7 @@
BOOL bContinue=FALSE;/*is TRUE the second case will not be
executed*/
BOOL bReturn = FALSE;
TCHAR szPath[MAX_PATH];
+ BOOL bCharInput;
/* get screen size */
GetScreenSize (&maxx, &maxy);
@@ -215,6 +216,7 @@
// continue;
+ bCharInput = FALSE;
switch (ir.Event.KeyEvent.wVirtualKeyCode)
{
@@ -511,15 +513,17 @@
}
break;
+ default:
+ /* This input is just a normal char */
+ bCharInput = TRUE;
+
}
#ifdef _UNICODE
ch = ir.Event.KeyEvent.uChar.UnicodeChar;
- if ((ch >= 32 && ch <= 255) && (charcount != (maxlen -
2))
&&
- !(ir.Event.KeyEvent.dwControlKeyState &
(RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED)))
+ if ((ch >= 32 && (charcount != (maxlen - 2)) &&
bCharInput)
#else
ch = ir.Event.KeyEvent.uChar.AsciiChar;
- if ((UCHAR)ch >= 32 && (charcount != (maxlen - 2)) &&
- !(ir.Event.KeyEvent.dwControlKeyState &
(RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED)))
+ if ((UCHAR)ch >= 32 && (charcount != (maxlen - 2)) &&
bCharInput)
#endif /* _UNICODE */
{
/* insert character into string... */