winex11.drv: Map VK codes for arrow keys to an X11 keycode manually as we do for other keypad keys

Dmitry Timoshkov dmitry at codeweavers.com
Wed Nov 8 00:45:08 CST 2006


Hello,

this helps to avoid confusion with double XK_Left mappings in some
X11 keyboard layouts.

Changelog:
    winex11.drv: Map VK codes for arrow keys to an X11 keycode manually
    as we do for other keypad keys.

--- a/dlls/winex11.drv/keyboard.c	2006-11-07 15:37:42.000000000 +0800
+++ b/dlls/winex11.drv/keyboard.c	2006-11-08 14:03:16.000000000 +0800
@@ -2388,6 +2388,9 @@ INT X11DRV_ToUnicodeEx(UINT virtKey, UIN
 	  }
       }
 
+    if (virtKey >= VK_LEFT && virtKey <= VK_DOWN)
+        e.keycode = XKeysymToKeycode(e.display, virtKey - VK_LEFT + XK_Left);
+
     if ((virtKey>=VK_NUMPAD0) && (virtKey<=VK_NUMPAD9))
         e.keycode = XKeysymToKeycode(e.display, virtKey-VK_NUMPAD0+XK_KP_0);
 





More information about the wine-patches mailing list