Vitaliy Margolen : dinput: Explicitly set extended key flag for Right Shift .

Alexandre Julliard julliard at winehq.org
Mon Apr 28 08:01:02 CDT 2008


Module: wine
Branch: master
Commit: 4a2f7497ab496acb1e735e8b2426787719eef3a4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4a2f7497ab496acb1e735e8b2426787719eef3a4

Author: Vitaliy Margolen <wine-patches at kievinfo.com>
Date:   Sat Apr 26 17:35:43 2008 -0600

dinput: Explicitly set extended key flag for Right Shift.

---

 dlls/dinput/keyboard.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
index 87837ff..84d9f60 100644
--- a/dlls/dinput/keyboard.c
+++ b/dlls/dinput/keyboard.c
@@ -64,7 +64,9 @@ static void KeyboardCallback( LPDIRECTINPUTDEVICE8A iface, WPARAM wparam, LPARAM
     TRACE("(%p) %ld,%ld\n", iface, wparam, lparam);
 
     dik_code = hook->scanCode & 0xff;
-    if (hook->flags & LLKHF_EXTENDED) dik_code |= 0x80;
+    /* R-Shift is special - it is an extended key with separate scan code */
+    if (hook->flags & LLKHF_EXTENDED && dik_code != 0x36)
+        dik_code |= 0x80;
 
     new_diks = hook->flags & LLKHF_UP ? 0 : 0x80;
 




More information about the wine-cvs mailing list