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

This commit is contained in:
Dmitry Timoshkov 2012-05-08 13:12:17 +09:00 committed by Alexandre Julliard
parent c4b404c7af
commit 8ed11d8bb1
1 changed files with 9 additions and 1 deletions

View File

@ -2220,7 +2220,11 @@ UINT CDECL X11DRV_MapVirtualKeyEx(UINT wCode, UINT wMapType, HKL hkl)
* in order to produce a locale dependent numeric separator. * in order to produce a locale dependent numeric separator.
*/ */
if (wCode == VK_DECIMAL || wCode == VK_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) 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. * in order to produce a locale dependent numeric separator.
*/ */
if (virtKey == VK_DECIMAL || virtKey == VK_SEPARATOR) if (virtKey == VK_DECIMAL || virtKey == 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 && virtKey != VK_NONAME) if (!e.keycode && virtKey != VK_NONAME)
{ {