xkb resets configuration loaded with xkbcomp
Submitted by Konstantin Sobolev
Assigned to Xorg Project Team
I have a Microsoft Natural Ergonomic Keyboard 4000. My 2.6.23 kernel is patched with liyu's patch mentioned here: http://ubuntuforums.org/showthread.php?t=229559&page=11
I'm loading my custom xkb settins using "xkbcomp -a -R/home/kos/.xkb xkb $DISPLAY" command after server startup. Configuration files are attached, but they basically follow this howto: http://gentoo-wiki.com/HOWTO_Microsoft_Natural_Ergonomic_Keyboard_4000
It used to work perfectly on xorg-server-1.3, but I've installed 1.4 on my new box and have a couple of problems with it.
First, 'My Favorites' button crashes X:
Backtrace: 0: /usr/bin/X(xf86SigHandler+0x6a) [0x476f52] 1: /lib/libc.so.6 [0x2b0ada7ad470] 2: /lib/libc.so.6 [0x2b0ada7f2d1b] 3: /lib/libc.so.6(memmove+0x73) [0x2b0ada7f1c23] 4: /usr/bin/X(SetKeySymsMap+0x1b6) [0x446394] 5: /usr/bin/X(SwitchCoreKeyboard+0xe3) [0x45ba70] 6: /usr/bin/X(mieqProcessInputEvents+0x167) [0x4cfd80] 7: /usr/bin/X(ProcessInputEvents+0x1c) [0x477661] 8: /usr/bin/X(Dispatch+0x7d) [0x44d1d7] 9: /usr/bin/X(main+0x47f) [0x436f75] 10: /lib/libc.so.6(__libc_start_main+0xf4) [0x2b0ada79ab74] 11: /usr/bin/X(FontFileCompleteXLFD+0x249) [0x436339]
May be it has something to do with https://bugs.freedesktop.org/show_bug.cgi?id=9180
Next, updated XKB configuration works for some time (for instance, Esc and Win keys are swapped as I like it), but is reset to the default one defined in xorg.conf as soon as I press any additional key. It happens silently, there are no messages in Xorg.0.log or dmesg or anywhere else.
My keyboard is configured in xorg.conf as two devices (see gentoo's howto above for details), main keys use 'kbd' driver, and aux keys use 'evdev' driver. It looks like XKB configuration is reset as soon as evdev sends any event, i.e. any aux key is pressed.
Once again, the same configuration works in xorg-server-1.3 flawlessly.
System info: EM64T, (64-bit) Gentoo, 2.6.23 gentoo sources with liyu's patch. System was compiled from scratch, it wasn't an upgrade from 7.1 or something else.
Version: 7.3 (2007.09)