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... */