From 940cce1f4856a3ffc6fdba9c807c8238ed1acf8b Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 27 Sep 2007 11:44:03 +0930 Subject: xkb: xkbHandleActions: let wrapping take care of event delivery. This is hopefully better than hardcodey calling CoreProcessPointerEvent. (cherry picked from commit 32d0440c7f6e604807cb14dd32349df6f22c903b) (cherry picked from commit d3588a0aee33fbd233082f881c0d37152c6d4d8b) --- xkb/xkbActions.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index c62910f6b..e50dbfe60 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -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); -- cgit v1.2.3