xkb: xkbHandleActions: let wrapping take care of event delivery.

This is hopefully better than hardcodey calling CoreProcessPointerEvent.
(cherry picked from commit 32d0440c7f)
This commit is contained in:
Peter Hutterer 2007-09-27 11:44:03 +09:30 committed by Daniel Stone
parent 352c5a3112
commit d3588a0aee

View File

@ -1148,7 +1148,6 @@ XkbAction act;
XkbFilterPtr filter;
Bool keyEvent;
Bool pressEvent;
Bool xiEvent;
ProcessInputProc backupproc;
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
@ -1173,9 +1172,6 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
(xE->u.u.type==KeyRelease)||(xE->u.u.type==DeviceKeyRelease));
pressEvent= (xE->u.u.type==KeyPress)||(xE->u.u.type==DeviceKeyPress)||
(xE->u.u.type==ButtonPress)||(xE->u.u.type==DeviceButtonPress);
xiEvent= (xE->u.u.type==DeviceKeyPress)||(xE->u.u.type==DeviceKeyRelease)||
(xE->u.u.type==DeviceButtonPress)||
(xE->u.u.type==DeviceButtonRelease);
if (pressEvent) {
if (keyEvent)
@ -1282,20 +1278,14 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
if (keyEvent) {
realMods = keyc->modifierMap[key];
keyc->modifierMap[key] = 0;
UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr, backupproc);
dev->public.processInputProc(xE,dev,count);
COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
backupproc,xkbUnwrapProc);
keyc->modifierMap[key] = realMods;
}
else
{
if (xE->u.u.type & EXTENSION_EVENT_BASE)
ProcessOtherEvent(xE, dev, count);
else
CoreProcessPointerEvent(xE,dev,count);
}
UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr, backupproc);
dev->public.processInputProc(xE,dev,count);
COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
backupproc,xkbUnwrapProc);
if (keyEvent)
keyc->modifierMap[key] = realMods;
}
else if (keyEvent)
FixKeyState(xE,dev);