summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-09-27 11:44:03 +0930
committerDaniel Stone <daniel@fooishbar.org>2007-10-30 00:58:55 +0200
commit940cce1f4856a3ffc6fdba9c807c8238ed1acf8b (patch)
treeb2eafac652813dc9f0e9499eb9eec15fb6376bf8
parent5909fb3c406356505440af8d53785d9ee06ab9be (diff)
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)
-rw-r--r--xkb/xkbActions.c24
1 files 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);