After a whole lot of digging, I've managed to trace this problem to its source. Basically it's XKB that's sending events even though the extension is disabled, resulting in more or less a random type value (which on this systems happens to be interpreted as XError).
On 1.5 and 1.6, the code needs to check for noXkbExtension (see patch
below). 1.7 and beyond is a bit more complex given the big rewrite
going on in Xi. I can't say I see many checks for no XkbExtension at
all in the new code.
Is anyone actually testing with XKB compiled in but disabled? :)
Anyhoo, here's a patch for 1.5 and 1.6:
--- Xi/exevents.c.orig 2009-04-21 17:01:24.000000000 +0200
+++ Xi/exevents.c 2009-04-21 17:02:11.000000000 +0200
@@ -977,7 +977,8 @@ SendDeviceMappingNotify(ClientPtr client
}
#ifdef XKB
- if (request == MappingKeyboard || request == MappingModifier)
+ if (!noXkbExtension && (request == MappingKeyboard ||
+ request == MappingModifier))
XkbApplyMappingChange(dev, request, firstKeyCode, count, client);
#endif
Rgds
--
Pierre Ossman OpenSource-based Thin Client Technology
System Developer Telephone: +46-13-21 46 00
Cendio AB Web: http://www.cendio.com
signature.asc
Description: PGP signature
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
