From 2cce447ebb21790269397bcb3c307f3bdeb1892d Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Sun, 9 Oct 2011 20:56:57 +0000 Subject: [PATCH] [WIN32K] - Fix translating syskeys to characters. Fixes user32:input winetest. svn path=/trunk/; revision=54067 --- reactos/subsystems/win32/win32k/ntuser/accelerator.c | 6 +++--- reactos/subsystems/win32/win32k/ntuser/keyboard.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/reactos/subsystems/win32/win32k/ntuser/accelerator.c b/reactos/subsystems/win32/win32k/ntuser/accelerator.c index e276842dd22..0a2d1f9f138 100644 --- a/reactos/subsystems/win32/win32k/ntuser/accelerator.c +++ b/reactos/subsystems/win32/win32k/ntuser/accelerator.c @@ -397,9 +397,9 @@ NtUserTranslateAccelerator( _SEH2_END; if ((Message.message != WM_KEYDOWN) && - (Message.message != WM_SYSKEYDOWN) && - (Message.message != WM_SYSCHAR) && - (Message.message != WM_CHAR)) + (Message.message != WM_SYSKEYDOWN) && + (Message.message != WM_SYSCHAR) && + (Message.message != WM_CHAR)) { RETURN( 0); } diff --git a/reactos/subsystems/win32/win32k/ntuser/keyboard.c b/reactos/subsystems/win32/win32k/ntuser/keyboard.c index 2819d35122e..578995a8b36 100644 --- a/reactos/subsystems/win32/win32k/ntuser/keyboard.c +++ b/reactos/subsystems/win32/win32k/ntuser/keyboard.c @@ -309,6 +309,10 @@ IntTranslateChar(WORD wVirtKey, TRACE("TryToTranslate: %04x %x\n", wVirtKey, dwModBits); + /* If ALT without CTRL has ben used, remove ALT flag */ + if ((dwModBits & (KBDALT|KBDCTRL)) == KBDALT) + dwModBits &= ~KBDALT; + if (dwModBits > pKbdTbl->pCharModifiers->wMaxModBits) { TRACE("dwModBits %x > wMaxModBits %x\n", dwModBits, pKbdTbl->pCharModifiers->wMaxModBits); @@ -334,10 +338,6 @@ IntTranslateChar(WORD wVirtKey, dwVkModBits ^= KBDSHIFT; } - /* If ALT without CTRL has ben used, remove ALT flag */ - if ((dwVkModBits & (KBDALT|KBDCTRL)) == KBDALT) - dwVkModBits &= ~KBDALT; - if (dwVkModBits > pKbdTbl->pCharModifiers->wMaxModBits) break;