[WIN32K] Since r43772 we now normalize VK_LCONTROL/VK_RCONTROL to VK_CONTROL rather than VK_LCONTROL (and ditto for shift/alt), so update SetKeyState to handle this. Fixes bug 4945.

svn path=/trunk/; revision=46875
This commit is contained in:
Jeffrey Morlan 2010-04-15 00:25:30 +00:00
parent 76a82f0995
commit 8886915477

View file

@ -88,12 +88,12 @@ static VOID APIENTRY SetKeyState(DWORD key, DWORD vk, DWORD ext, BOOL down)
gQueueKeyStateTable[vk] ^= KS_LOCK_BIT;
}
if (ext && vk == VK_LSHIFT)
vk = VK_RSHIFT;
if (ext && vk == VK_LCONTROL)
vk = VK_RCONTROL;
if (ext && vk == VK_LMENU)
vk = VK_RMENU;
if (vk == VK_SHIFT)
vk = ext ? VK_RSHIFT : VK_LSHIFT;
if (vk == VK_CONTROL)
vk = ext ? VK_RCONTROL : VK_LCONTROL;
if (vk == VK_MENU)
vk = ext ? VK_RMENU : VK_LMENU;
if (down)
gQueueKeyStateTable[vk] |= KS_DOWN_BIT;