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:
parent
352c5a3112
commit
d3588a0aee
|
@ -1148,7 +1148,6 @@ XkbAction act;
|
||||||
XkbFilterPtr filter;
|
XkbFilterPtr filter;
|
||||||
Bool keyEvent;
|
Bool keyEvent;
|
||||||
Bool pressEvent;
|
Bool pressEvent;
|
||||||
Bool xiEvent;
|
|
||||||
ProcessInputProc backupproc;
|
ProcessInputProc backupproc;
|
||||||
|
|
||||||
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
|
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
|
||||||
|
@ -1173,9 +1172,6 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
|
||||||
(xE->u.u.type==KeyRelease)||(xE->u.u.type==DeviceKeyRelease));
|
(xE->u.u.type==KeyRelease)||(xE->u.u.type==DeviceKeyRelease));
|
||||||
pressEvent= (xE->u.u.type==KeyPress)||(xE->u.u.type==DeviceKeyPress)||
|
pressEvent= (xE->u.u.type==KeyPress)||(xE->u.u.type==DeviceKeyPress)||
|
||||||
(xE->u.u.type==ButtonPress)||(xE->u.u.type==DeviceButtonPress);
|
(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 (pressEvent) {
|
||||||
if (keyEvent)
|
if (keyEvent)
|
||||||
|
@ -1282,20 +1278,14 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
|
||||||
if (keyEvent) {
|
if (keyEvent) {
|
||||||
realMods = keyc->modifierMap[key];
|
realMods = keyc->modifierMap[key];
|
||||||
keyc->modifierMap[key] = 0;
|
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)
|
else if (keyEvent)
|
||||||
FixKeyState(xE,dev);
|
FixKeyState(xE,dev);
|
||||||
|
|
Loading…
Reference in New Issue