From cde9d99bc3b184372b0e82b6c4f496aaa070fb58 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sun, 17 Apr 2011 10:38:06 +0000 Subject: [PATCH] [win32k] - Do not distinguish left and right keys in WH_KEYBOARD and key messages. Based on wine Fixes several tests svn path=/trunk/; revision=51377 --- .../subsystems/win32/win32k/ntuser/msgqueue.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c index f5f678d3120..136effff6e5 100644 --- a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c +++ b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c @@ -1307,6 +1307,23 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages) { EVENTMSG Event; + if (Msg->message == WM_KEYDOWN || Msg->message == WM_SYSKEYDOWN || + Msg->message == WM_KEYUP || Msg->message == WM_SYSKEYUP) + { + switch (Msg->wParam) + { + case VK_LSHIFT: case VK_RSHIFT: + Msg->wParam = VK_SHIFT; + break; + case VK_LCONTROL: case VK_RCONTROL: + Msg->wParam = VK_CONTROL; + break; + case VK_LMENU: case VK_RMENU: + Msg->wParam = VK_MENU; + break; + } + } + Event.message = Msg->message; Event.hwnd = Msg->hwnd; Event.time = Msg->time;