Summary: | x11-base/xorg-server-1.5.0 ignores layout switching set in hal fdi file | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alexey Charkov <alchark> |
Component: | Current packages | Assignee: | Gentoo X packagers <x11> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 4nykey, mmokrejs, tcb |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
X server log
Xorg log file |
Description
Alexey Charkov
2008-09-15 15:35:20 UTC
Could you attach /var/log/Xorg.0.log ? Thanks Created attachment 165648 [details]
X server log
Xkb settings are taken into account, except for the "options" part.
I have the same problem. $ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+ru(winkeys):2" }; xkb_geometry { include "pc(pc104)" }; }; $ cat /etc/hal/fdi/policy/10-x11-input.fdi <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.xkb.rules" type="string">xorg</merge> <merge key="input.x11_driver" type="string">evdev</merge> <merge key="input.xkb.model" type="string">evdev</merge> <merge key="input.xkb.repeat" type="string">500 30</merge> <merge key="input.xkb.layout" type="string">us,ru</merge> <merge key="input.xkb.variant" type="string">,winkeys</merge> <merge key="input.xkb.options" type="strlist">grp:crtl_shift_toggle</merge> </match> </device> </deviceinfo> lshal: udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input' info.addons.singleton = {'hald-addon-input'} (string list) info.capabilities = {'input', 'input.keyboard', 'input.keypad', 'input.keys', 'button'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port' (string) info.product = 'AT Translated Set 2 keyboard' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input' (string) input.device = '/dev/input/event3' (string) input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port' (string) input.product = 'AT Translated Set 2 keyboard' (string) input.x11_driver = 'evdev' (string) input.xkb.layout = 'us,ru' (string) input.xkb.model = 'evdev' (string) input.xkb.option = {'grp:crtl_shift_toggle'} (string list) input.xkb.repeat = '500 30' (string) input.xkb.rules = 'xorg' (string) input.xkb.variant = ',winkeys' (string) linux.device_file = '/dev/input/event3' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/class/input/input3/event3' (string) Created attachment 165807 [details]
Xorg log file
Just a wild guess (is it covered in docs anywhere at all, btw?), changed type of xkb.options from strlist to string in 10-x11-input.fdi. Had <append key="input.xkb.options" type="strlist">grp_led:scroll</append> <append key="input.xkb.options" type="strlist">grp:alt_shift_toggle</append> and changed it ro read <append key="input.xkb.options" type="string">,grp_led:scroll</append> <append key="input.xkb.options" type="string">,grp:alt_shift_toggle</append> Now at least Alt+Shift switching works. Here's the diff of `setxkbmap -print' output after the change @@ -1,7 +1,7 @@ xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; - xkb_compat { include "complete" }; - xkb_symbols { include "pc+us+inet(evdev)+ee:2+ru:3" }; + xkb_compat { include "complete+ledscroll(group_lock)" }; + xkb_symbols { include "pc+us+inet(evdev)+ee:2+ru:3+group(alt_shift_toggle)" }; xkb_geometry { include "pc(pc104)" }; }; This might help you update your FDI file to the latest "standard" : http://cgit.freedesktop.org/xorg/xserver/tree/config/x11-input.fdi Thanks Everything works fine after updating the fdi file as Remi's comment suggests. Thank you! Here is what I've got: <?xml version="1.0" encoding="utf-8"?> <deviceinfo version="0.2"> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbRules" type="string">xorg</merge> <merge key="input.x11_driver" type="string">evdev</merge> <merge key="input.x11_options.XkbLayout" type="string">us,ru</merge> <merge key="input.x11_options.XkbOptions" type="string">grp:alt_shift_toggle</merge> <merge key="input.x11_options.XkbVariant" type="string">,winkeys</merge> </match> </deviceinfo> Alexey, probably you should also switch away from the deprecated syntax, so replace "input.x11_options.*" with those mentioned in http://cgit.freedesktop.org/xorg/xserver/tree/config/x11-input.fdi |