diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index 4c3efe28d..156fb2649 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -1300,7 +1300,8 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev); UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr); dev->public.processInputProc(xE,dev,count); COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr, - ProcessKeyboardEvent,xkbUnwrapProc); + (dev == inputInfo.keyboard) ? ProcessKeyboardEvent : ProcessOtherEvent, + xkbUnwrapProc); keyc->modifierMap[key] = realMods; } else CoreProcessPointerEvent(xE,dev,count);