As far as I've understood the situation, what's happened is that with hal-0.5.10, xf86-input-evdev-1.2.0 and xorg server 1.4 built with the hal USE flag, xorg will ignore your keyboard configuration in the xorg.conf and use HAL to deal with your keyboard in stead (at least commenting/uncommenting my keyboard configuration does nothing). I read about it in a post titled "How to keep your keyboard layout with HAL 0.5.10 / Xorg server 1.4 / evdev input driver" on Planet Gentoo, but it seems to be mysteriously vanished now.
Anyway, what I did (and what that post among other things suggested) was copying /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy/10-keymap.fdi and edit it to the following:
Code: Select all
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keymap">
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
</match>
<match key="info.capabilities" contains="input.keys">
<merge key="input.xkb.rules" type="string">xorg</merge>
<!-- If we're using Linux, we use evdev by default (falling back to
keyboard otherwise). -->
<merge key="input.xkb.model" type="string">keyboard</merge>
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
string="Linux">
<merge key="input.xkb.model" type="string">evdev</merge>
</match>
<merge key="input.xkb.layout" type="string">se</merge>
<merge key="input.xkb.variant" type="string" />
</match>
</device>
</deviceinfo>
Which worked, but some of my keys (home, for example) wouldn't work until i removed xmodmap -e "keycode 115 = F20" from my .xinitrc. It seems everything will become b0rked if you use xmodmap or similar. Note that you'll have to restart hald (and have it started!) or changes won't have any effect.
Of course, everything can be quickly fixed by adding
Code: Select all
>=sys-apps/hal-0.5.10
>=x11-drivers/xf86-input-evdev-1.2.0
>=app-misc/hal-info-20071011
to your package.mask or possibly by not using the hal USE flag when building xorg.