diff options
-rw-r--r-- | xkb/xkbEvents.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/xkb/xkbEvents.c b/xkb/xkbEvents.c index a2b99a269..9293c60be 100644 --- a/xkb/xkbEvents.c +++ b/xkb/xkbEvents.c @@ -918,15 +918,14 @@ Bool XkbFilterEvents(ClientPtr pClient,int nEvents,xEvent *xE) { int i, button_mask; -DeviceIntPtr pXDev = inputInfo.keyboard; +DeviceIntPtr pXDev = NULL; XkbSrvInfoPtr xkbi; if (xE->u.u.type & EXTENSION_EVENT_BASE) - { pXDev = XIGetDevice(xE); - if (!pXDev) - pXDev = inputInfo.keyboard; - } + + if (!pXDev) + pXDev = PickKeyboard(pClient); xkbi= (pXDev->key) ? pXDev->key->xkbInfo : NULL; |