Hard stuff...
If xorg.conf and rc.conf are ignored, then:
Setting non-us keyboard without xorg.conf
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/
Then open /etc/hal/fdi/policy/10-keymap.fdi and edit "us" in input.xkb.layout to what you want and, if necessary, edit input.xkb.variant too.
http://wiki.archlinux.org/index.php/Xorg#Setting_non-us_keyboard_without_xorg.conf
That did the trick for me...