Package: xserver-xfree86 Version: 4.2.1-6
Hello, I am using czech internacionalized keyboard ucw, <a href="ftp://atrey.karlin.mff.cuni.cz/pub/local/0rfelyus/ucw-cs-X"/> and it stopped working since I upgraded to newest version of xserver-xfree86. When starting Xserver I get message from xkbcompile: The XKEYBOARD keymap compiler (xkbcomp) reports: > Error: Can't find file "ucw" for geometry include > Exiting > Abandoning geometry file "default" Errors from xkbcomp are not fatal to the X server Couldn't load XKB keymap, falling back to pre-XKB keymap My keyboard section of /XF86Config-4 is: Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "Protocol" "Standard" Option "Xkbkeycodes" "xfree86" Option "XkbTypes" "ucw" Option "XkbCompat" "ucw" Option "XkbSymbols" "ucw(pc104-qwerty-caps)" Option "XkbGeometry" "pc(pc104)" EndSection Although XkbGeometry is set to pc(pc104) xbkcompat reads such a config from stdin when beeing executed: xkb_keymap "default" { xkb_keycodes { include "xfree86" }; xkb_types { include "ucw" }; xkb_compatibility { include "ucw" }; xkb_symbols { include "ucw(pc104-qwerty-caps)" }; xkb_geometry { include "ucw(pc104-qwerty-caps)" }; }; But there is no file ucw in directory /etc/X11/xkb/geometry(and never was). When I have changed keyboard config to: Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "Protocol" "Standard" Option "Xkbkeycodes" "xfree86" Option "XkbTypes" "ucw" Option "XkbCompat" "ucw" # Option "XkbSymbols" "ucw(pc104-qwerty-caps)" Option "XkbGeometry" "pc(pc104)" EndSection String which is beeing piped to xkbconfig changed to: xkb_keymap "default" { xkb_keycodes { include "xfree86" }; xkb_types { include "ucw" }; xkb_compatibility { include "ucw" }; xkb_symbols { include "us(pc101)" }; xkb_geometry { include "pc(pc104)" }; }; It seems to me, that XkbSymbols overrides value of XkbGeometry. I have created simple script to be used insted of xkbcomp: [EMAIL PROTECTED]:~$ cat /usr/X11R6/lib/X11/xkb/xkbcomp #!/bin/sh cat >/tmp/pipe echo "$@" >>/tmp/pipe exec /usr/X11R6/lib/X11/xkb/xkbcomp.orig "$@" </tmp/pipeok File /tmp/pipe contains bugy version of string for xkbcomp. File /tmp/pipeok contains correct arguments for xkbcomp. Unfortunetly I am unable to store them directly into /etc/X11/XF86Config-4. [EMAIL PROTECTED]:~$ cat /tmp/pipeok xkb_keymap "default" { xkb_keycodes { include "xfree86" }; xkb_types { include "ucw" }; xkb_compatibility { include "ucw" }; xkb_symbols { include "ucw(pc104-qwerty-caps)" }; xkb_geometry { include "pc(pc104)" }; }; With this configuration Czech keyboard works again for me. Ivan Brezina