Module: wine Branch: master Commit: 8ed11d8bb11e60c4dcb113564b4457da809db5bf URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ed11d8bb11e60c4dcb113564b...
Author: Dmitry Timoshkov dmitry@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) {