Author: jimtabor
Date: Wed May  4 01:31:47 2011
New Revision: 51571

URL: http://svn.reactos.org/svn/reactos?rev=51571&view=rev
Log:
[Win32k]
- Move up the chain to convert F10 to system key mode before going into the 
queue, so when in menu tracking, the message can be removed and processed, see 
bug 1009.

Modified:
    trunk/reactos/subsystems/win32/win32k/ntuser/input.c
    trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/input.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/input.c?rev=51571&r1=51570&r2=51571&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/input.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/input.c [iso-8859-1] Wed May  
4 01:31:47 2011
@@ -482,7 +482,7 @@
 co_IntKeyboardSendAltKeyMsg()
 {
    DPRINT1("co_IntKeyboardSendAltKeyMsg\n");
-//   co_MsqPostKeyboardMessage(WM_SYSCOMMAND,SC_KEYMENU,0); This sends 
everything into a msg loop!
+   //co_MsqPostKeyboardMessage(WM_SYSCOMMAND,SC_KEYMENU,0); // This sends 
everything into a msg loop!
 }
 
 static VOID APIENTRY
@@ -859,6 +859,11 @@
             {
                 /* There is no focused window to receive a keyboard message */
                 continue;
+            }
+            if ( msg.wParam == VK_F10 ) // Bypass this key before it is in the 
queue.
+            {
+               if (msg.message == WM_KEYUP) msg.message = WM_SYSKEYUP;
+               if (msg.message == WM_KEYDOWN) msg.message = WM_SYSKEYDOWN;
             }
             /*
              * Post a keyboard message.

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c?rev=51571&r1=51570&r2=51571&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] Wed 
May  4 01:31:47 2011
@@ -1340,10 +1340,6 @@
             case VK_LMENU: case VK_RMENU:
                 Msg->wParam = VK_MENU;
                 break;
-            case VK_F10:
-                if (Msg->message == WM_KEYUP) Msg->message = WM_SYSKEYUP;
-                if (Msg->message == WM_KEYDOWN) Msg->message = WM_SYSKEYDOWN;
-                break;
         }
     }
 


Reply via email to