Author: jimtabor Date: Sun May 1 11:51:22 2011 New Revision: 51521 URL: http://svn.reactos.org/svn/reactos?rev=51521&view=rev Log: [Win32k] - Patch by Erich HooverSend: WM_SYSKEYDOWN and WM_SYSKEYUP when the 'F10' key is used. See wine bug 19383 and http://www.winehq.org/pipermail/wine-patches/2009-October/079871.html for details. - Update key state for all hardware postings.
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=51521&r1=51520&r2=51521&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] Sun May 1 11:51:22 2011 @@ -1297,9 +1297,10 @@ if (ki->dwFlags & KEYEVENTF_KEYUP) { Msg.message = WM_KEYUP; - if ((gQueueKeyStateTable[VK_MENU] & 0x80) && + if (((gQueueKeyStateTable[VK_MENU] & 0x80) && ((wVkStripped == VK_MENU) || (wVkStripped == VK_CONTROL) || !(gQueueKeyStateTable[VK_CONTROL] & 0x80))) + || (wVkStripped == VK_F10)) { if( TrackSysKey == VK_MENU || /* <ALT>-down/<ALT>-up sequence */ (wVkStripped != VK_MENU)) /* <ALT>-down...<something else>-up */ @@ -1311,8 +1312,9 @@ else { Msg.message = WM_KEYDOWN; - if ((gQueueKeyStateTable[VK_MENU] & 0x80 || wVkStripped == VK_MENU) && + if (((gQueueKeyStateTable[VK_MENU] & 0x80 || wVkStripped == VK_MENU) && !(gQueueKeyStateTable[VK_CONTROL] & 0x80 || wVkStripped == VK_CONTROL)) + || (wVkStripped == VK_F10)) { Msg.message = WM_SYSKEYDOWN; TrackSysKey = wVkStripped; 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=51521&r1=51520&r2=51521&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] Sun May 1 11:51:22 2011 @@ -1006,8 +1006,7 @@ InsertTailList(&MessageQueue->HardwareMessagesListHead, &Message->ListEntry); - if (MessageBits & QS_KEY) - update_input_key_state( MessageQueue, Msg ); + update_input_key_state( MessageQueue, Msg ); } Message->QS_Flags = MessageBits;