Multiple keyboard mapping issues
mailinglists at who-t.net
Thu Jan 25 07:42:33 PST 2007
I spent today trying to get multiple keyboards working.
The vanilla xserver segfaults with evdev keyboard devices on the
first keypress. Can anyone confirm this?
Keyboard mapping is weird. I got it to work with my example
application, typing in two windows at once.
Evdev keyboards only have 128 keysyms, kbd devices 247.
In theory, a MappingNotify event should inform a client about a
changed number of keysyms. This is fine. XRefreshKeyboardMapping()
hoewever doesn't change the min/max_keycode fields in the Display
struct, nothing else seems to either. As a result, all applications
get BadValue on the next GetKeyboardMapping request, due to
max_keycodes being wrong (still on the 255).
Is this a bug in Xlib or where did I go wrong?
There's also a bug in xkbUtils.c:1042 where the memcpy(dst->map-
>key_sym_map, ...) overwrites the later used dst->server->explicit,
leading to another segfault. I can't see the reason why it would
write over the boundaries, but then its over 15 hours looking at code
already. If anyone can see the problem, I'd appreciate the hint.
so close. yet so far.
Multi-Pointer X Server
More information about the xorg