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/ntuser/accelerator.c?rev=54067&r1=54066&r2=54067&view=diff
==============================================================================
--- 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/ntuser/keyboard.c?rev=54067&r1=54066&r2=54067&view=diff
==============================================================================
--- 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;


Reply via email to