summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-06-21 17:00:41 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-06-21 17:42:36 +0930
commit8431f6083076cf1e701366767d8f8d32a628200f (patch)
tree0214087607164eb439ea5af1dcb9b08c0a2e9fad
parent0c33dc152e372cdc8ae59d9a5696b0774bcd03b7 (diff)
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.
-rw-r--r--xkb/xkbActions.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 4c3efe28d..156fb2649 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -1300,7 +1300,8 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
dev->public.processInputProc(xE,dev,count);
COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
- ProcessKeyboardEvent,xkbUnwrapProc);
+ (dev == inputInfo.keyboard) ? ProcessKeyboardEvent : ProcessOtherEvent,
+ xkbUnwrapProc);
keyc->modifierMap[key] = realMods;
}
else CoreProcessPointerEvent(xE,dev,count);