summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-09-06 18:57:00 +0930
committerDaniel Stone <daniel@fooishbar.org>2007-10-28 17:31:07 +0200
commit8ead41388e36e21eea6fa0408c847f174911eab0 (patch)
treeec71198ba318d715cf3456f8fe80b4f478920262
parente717cf08e99746761d74289c426bbd84176f4435 (diff)
xfree86: wrap keyboard devices for XKB.
Call ProcessOtherEvents first, then for all keyboard devices let them be wrapped by XKB. This way all XI events will go through XKB. Note that the VCK is still not wrapped, so core events will bypass XKB. (cherry picked from commit d627061b48ae06d27b37be209d67a3f4f2388dd3)
-rw-r--r--hw/xfree86/common/xf86Xinput.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index e45d44c02..b939fb763 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -165,6 +165,11 @@ xf86ActivateDevice(LocalDevicePtr local)
dev->coreEvents = local->flags & XI86_ALWAYS_CORE;
RegisterOtherDevice(dev);
+#ifdef XKB
+ if (!noXkbExtension)
+ XkbSetExtension(dev, ProcessKeyboardEvent);
+#endif
+
if (serverGeneration == 1)
xf86Msg(X_INFO, "XINPUT: Adding extended input device \"%s\" (type: %s)\n",
local->name, local->type_name);