Save processInputProc before wrapping it and restore it later, instead of

using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to
process DeviceKeyEvents after the first key press.
This commit is contained in:
Peter Hutterer 2007-06-21 17:00:41 +09:30
parent 0c33dc152e
commit 8431f60830

View File

@ -1300,7 +1300,8 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr); UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
dev->public.processInputProc(xE,dev,count); dev->public.processInputProc(xE,dev,count);
COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr, COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
ProcessKeyboardEvent,xkbUnwrapProc); (dev == inputInfo.keyboard) ? ProcessKeyboardEvent : ProcessOtherEvent,
xkbUnwrapProc);
keyc->modifierMap[key] = realMods; keyc->modifierMap[key] = realMods;
} }
else CoreProcessPointerEvent(xE,dev,count); else CoreProcessPointerEvent(xE,dev,count);