Author: rharabien
Date: Sun Oct 9 20:56:57 2011
New Revision: 54067
URL:
http://svn.reactos.org/svn/reactos?rev=54067&view=rev
Log:
[WIN32K] - Fix translating syskeys to characters. Fixes user32:input winetest.
Modified:
trunk/reactos/subsystems/win32/win32k/ntuser/accelerator.c
trunk/reactos/subsystems/win32/win32k/ntuser/keyboard.c
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/accelerator.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/accelerator.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/accelerator.c [iso-8859-1] Sun Oct 9
20:56:57 2011
@@ -397,9 +397,9 @@
_SEH2_END;
if ((Message.message != WM_KEYDOWN) &&
- (Message.message != WM_SYSKEYDOWN) &&
- (Message.message != WM_SYSCHAR) &&
- (Message.message != WM_CHAR))
+ (Message.message != WM_SYSKEYDOWN) &&
+ (Message.message != WM_SYSCHAR) &&
+ (Message.message != WM_CHAR))
{
RETURN( 0);
}
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/keyboard.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/keyboard.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/keyboard.c [iso-8859-1] Sun Oct 9
20:56:57 2011
@@ -309,6 +309,10 @@
TRACE("TryToTranslate: %04x %x\n", wVirtKey, dwModBits);
+ /* If ALT without CTRL has ben used, remove ALT flag */
+ if ((dwModBits & (KBDALT|KBDCTRL)) == KBDALT)
+ dwModBits &= ~KBDALT;
+
if (dwModBits > pKbdTbl->pCharModifiers->wMaxModBits)
{
TRACE("dwModBits %x > wMaxModBits %x\n", dwModBits,
pKbdTbl->pCharModifiers->wMaxModBits);
@@ -333,10 +337,6 @@
/* Note: we use special value here instead of getting VK_SHIFT mod
bit - it's verified */
dwVkModBits ^= KBDSHIFT;
}
-
- /* If ALT without CTRL has ben used, remove ALT flag */
- if ((dwVkModBits & (KBDALT|KBDCTRL)) == KBDALT)
- dwVkModBits &= ~KBDALT;
if (dwVkModBits > pKbdTbl->pCharModifiers->wMaxModBits)
break;