I'm seeing multiple problems. My keyboard configuration in /etc/hal/fdi/policy/ doesn't get used. Additionally, typing CTRL+ALT+F1 with a terminal in focus just types some strange characters, as does CTRL+ALT+Backspace. I have the newest versions of hal, evdev, and xorg-server: sys-apps/hal-0.5.11-r8 x11-base/xorg-server-1.5.3-r5 x11-drivers/xf86-input-evdev-2.2.0-r1 I looked through /var/log/Xorg.0.log and saw no errors. I tried rebuilding these packages a couple times to no effect. Downgrading to 1.4 fixes the problems. Reproducible: Always Steps to Reproduce:
Please post your "emerge --info" and attach your keyboard configuration from /etc/hal/fdi/policy/
Created attachment 187642 [details] emerge --info
Created attachment 187648 [details] 10-keyboard.fdi Note that I use the non-deprecated 'input.x11_options.Xkb*' keys instead of 'input.xkb.*'. I tried both ways to no effect. Here's the relevant output of lshal (with a working xkeyboard-config-1.4): 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/event5' (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.x11_options.XkbLayout = 'dvorak,us' (string) input.x11_options.XkbModel = 'pc104' (string) input.x11_options.XkbOptions = {'grp:alt_shift_toggle', 'grp_led:scroll'} (string list) input.xkb.layout = 'us' (string) input.xkb.model = 'evdev' (string) input.xkb.rules = 'base' (string) input.xkb.variant = '' (string) linux.device_file = '/dev/input/event5' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/class/input/input5/event5' (string) As memory serves, the lshal output was identical with xkeyboard-config-1.5.
While your fdi file seems to validate, there's no 'dvorak' layout, there is, however, a 'dvorak' variant of a few layouts. And most probably, you WANT model to stay 'evdev'.
I wonder where this stuff gets documented. I only know about 'input.xkb.*' being deprecated because I saw the source code. The following works, and the key was to get the layout/variant options correct: <deviceinfo version='0.2'> <device> <match key='info.capabilities' contains='input.keyboard'> <merge key='input.x11_driver' type='string'>evdev</merge> <merge key='input.x11_options.XkbLayout' type='string'>us,us</merge> <merge key='input.x11_options.XkbVariant' type='string'>dvorak,</merge> <merge key='input.x11_options.XkbOptions' type='strlist'>grp:alt_shift_toggle</merge> <append key='input.x11_options.XkbOptions' type='strlist'>grp_led:scroll</append> <merge key='input.x11_options.XkbModel' type='string'>evdev</merge> </match> </device> </deviceinfo>