Dmitry Timoshkov : winex11.drv: Use XK_KP_Decimal as a fallback if XK_KP_Separator doesn't work.

Alexandre Julliard julliard at winehq.org
Tue May 8 14:16:55 CDT 2012


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue May  8 13:12:17 2012 +0900

winex11.drv: Use XK_KP_Decimal as a fallback if XK_KP_Separator doesn't work.

---

 dlls/winex11.drv/keyboard.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 090eae4..7e49ffb 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -2220,7 +2220,11 @@ UINT CDECL X11DRV_MapVirtualKeyEx(UINT wCode, UINT wMapType, HKL hkl)
                          * in order to produce a locale dependent numeric separator.
                          */
 			if (wCode == VK_DECIMAL || wCode == VK_SEPARATOR)
-			  e.keycode = XKeysymToKeycode(e.display, XK_KP_Separator);
+                        {
+                            e.keycode = XKeysymToKeycode(e.display, XK_KP_Separator);
+                            if (!e.keycode)
+                                e.keycode = XKeysymToKeycode(e.display, XK_KP_Decimal);
+                        }
 
 			if (!e.keycode)
 			{
@@ -2558,7 +2562,11 @@ INT CDECL X11DRV_ToUnicodeEx(UINT virtKey, UINT scanCode, const BYTE *lpKeyState
      * in order to produce a locale dependent numeric separator.
      */
     if (virtKey == VK_DECIMAL || virtKey == VK_SEPARATOR)
+    {
         e.keycode = XKeysymToKeycode(e.display, XK_KP_Separator);
+        if (!e.keycode)
+            e.keycode = XKeysymToKeycode(e.display, XK_KP_Decimal);
+    }
 
     if (!e.keycode && virtKey != VK_NONAME)
       {




More information about the wine-cvs mailing list