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/nt…
==============================================================================
--- 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/nt…
==============================================================================
--- 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;
}
}