From cbdab97572a7937d04cacb3b879fc5d031708b4f Mon Sep 17 00:00:00 2001 From: James Tabor Date: Fri, 12 Aug 2016 00:54:44 +0000 Subject: [PATCH] [NtUser] - Get the right shift to pass through the keyboard subsystem. (WIP) svn path=/trunk/; revision=72204 --- reactos/win32ss/user/ntuser/keyboard.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reactos/win32ss/user/ntuser/keyboard.c b/reactos/win32ss/user/ntuser/keyboard.c index 18c550af1fe..d2cba89bc73 100644 --- a/reactos/win32ss/user/ntuser/keyboard.c +++ b/reactos/win32ss/user/ntuser/keyboard.c @@ -1090,8 +1090,17 @@ UserProcessKeyboardInput( KbdInput.dwFlags = 0; if (pKbdInputData->Flags & KEY_BREAK) KbdInput.dwFlags |= KEYEVENTF_KEYUP; + if (wVk & KBDEXT) KbdInput.dwFlags |= KEYEVENTF_EXTENDEDKEY; + // + // Based on wine input:test_Input_blackbox this is okay. It seems the + // bit did not get set and more research is needed. Now the right + // shift works. + // + if (wVk == VK_RSHIFT) + KbdInput.dwFlags |= KEYEVENTF_EXTENDEDKEY; + KbdInput.time = 0; KbdInput.dwExtraInfo = pKbdInputData->ExtraInformation; UserSendKeyboardInput(&KbdInput, FALSE);