mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
[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. svn path=/trunk/; revision=51521
This commit is contained in:
@@ -1297,9 +1297,10 @@ IntKeyboardInput(KEYBDINPUT *ki, BOOL Injected)
|
||||
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 @@ IntKeyboardInput(KEYBDINPUT *ki, BOOL Injected)
|
||||
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;
|
||||
|
||||
@@ -1006,8 +1006,7 @@ MsqPostMessage(PUSER_MESSAGE_QUEUE MessageQueue, MSG* Msg, BOOLEAN HardwareMessa
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user