Related to #1528.

(cherry picked from commit d232bcfcdd)
This commit is contained in:
Camilla Löwy 2019-07-11 19:06:06 +02:00
parent b3eb6dd38b
commit ff2c00091d

View File

@ -1180,14 +1180,17 @@ static void processEvent(XEvent *event)
} }
} }
if (_glfw.x11.xkb.available && event->type == _glfw.x11.xkb.eventBase) if (_glfw.x11.xkb.available)
{
if (event->type == _glfw.x11.xkb.eventBase + XkbEventCode)
{ {
if (((XkbEvent*) event)->any.xkb_type == XkbStateNotify && if (((XkbEvent*) event)->any.xkb_type == XkbStateNotify &&
((XkbEvent *)event)->state.changed & XkbGroupStateMask) (((XkbEvent*) event)->state.changed & XkbGroupStateMask))
{ {
_glfw.x11.xkb.group = ((XkbEvent*) event)->state.group; _glfw.x11.xkb.group = ((XkbEvent*) event)->state.group;
} }
} }
}
if (event->type == GenericEvent) if (event->type == GenericEvent)
{ {
@ -2789,7 +2792,8 @@ const char* _glfwPlatformGetScancodeName(int scancode)
if (!_glfw.x11.xkb.available) if (!_glfw.x11.xkb.available)
return NULL; return NULL;
const KeySym keysym = XkbKeycodeToKeysym(_glfw.x11.display, scancode, _glfw.x11.xkb.group, 0); const KeySym keysym = XkbKeycodeToKeysym(_glfw.x11.display,
scancode, _glfw.x11.xkb.group, 0);
if (keysym == NoSymbol) if (keysym == NoSymbol)
return NULL; return NULL;