Don't return characters is key is up
Modified: trunk/reactos/subsys/csrss/win32csr/conio.c
Modified: trunk/reactos/subsys/win32k/ntuser/keyboard.c
_____
Modified: trunk/reactos/subsys/csrss/win32csr/conio.c
--- trunk/reactos/subsys/csrss/win32csr/conio.c 2005-01-06 13:58:04 UTC
(rev 12852)
+++ trunk/reactos/subsys/csrss/win32csr/conio.c 2005-01-06 15:57:38 UTC
(rev 12853)
@@ -1,5 +1,4 @@
-/* $Id$
- *
+/*
* reactos/subsys/csrss/win32csr/conio.c
*
* Console I/O functions
@@ -1127,7 +1126,7 @@
if (0 == (Console->Mode & ENABLE_LINE_INPUT)
|| Console->EarlyReturn
|| ('\n' ==
KeyEventRecord->InputEvent.Event.KeyEvent.uChar.AsciiChar
- && ! KeyEventRecord->InputEvent.Event.KeyEvent.bKeyDown))
+ && KeyEventRecord->InputEvent.Event.KeyEvent.bKeyDown))
{
if ('\n' ==
KeyEventRecord->InputEvent.Event.KeyEvent.uChar.AsciiChar)
{
_____
Modified: trunk/reactos/subsys/win32k/ntuser/keyboard.c
--- trunk/reactos/subsys/win32k/ntuser/keyboard.c 2005-01-06
13:58:04 UTC (rev 12852)
+++ trunk/reactos/subsys/win32k/ntuser/keyboard.c 2005-01-06
15:57:38 UTC (rev 12853)
@@ -16,8 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id$
- *
+/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PURPOSE: Messages
@@ -342,16 +341,23 @@
HKL dwhkl ) {
int ToUnicodeResult = 0;
- IntLockQueueState;
- ToUnicodeResult = ToUnicodeInner( wVirtKey,
- wScanCode,
- lpKeyState,
- pwszBuff,
- cchBuff,
- wFlags,
- PsGetWin32Thread() ?
- PsGetWin32Thread()->KeyboardLayout :
0 );
- IntUnLockQueueState;
+ if (0 == (lpKeyState[wVirtKey] & KS_DOWN_BIT))
+ {
+ ToUnicodeResult = 0;
+ }
+ else
+ {
+ IntLockQueueState;
+ ToUnicodeResult = ToUnicodeInner( wVirtKey,
+ wScanCode,
+ lpKeyState,
+ pwszBuff,
+ cchBuff,
+ wFlags,
+ PsGetWin32Thread() ?
+
PsGetWin32Thread()->KeyboardLayout : 0 );
+ IntUnLockQueueState;
+ }
return ToUnicodeResult;
}
Show replies by date