Author: jimtabor
Date: Fri Aug 12 00:54:44 2016
New Revision: 72204

URL: http://svn.reactos.org/svn/reactos?rev=72204&view=rev
Log:
[NtUser]
- Get the right shift to pass through the keyboard subsystem. (WIP)

Modified:
    trunk/reactos/win32ss/user/ntuser/keyboard.c

Modified: trunk/reactos/win32ss/user/ntuser/keyboard.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/keyboard.c?rev=72204&r1=72203&r2=72204&view=diff
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/keyboard.c        [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/keyboard.c        [iso-8859-1] Fri Aug 12 
00:54:44 2016
@@ -1090,8 +1090,17 @@
         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);


Reply via email to