При обновлении Х-ов, столкнулся с тем, что подключается модуль evdev для устройств ввода. Всем он хорош, но вот конфигурацию раскладки берет
не из xorg.conf.
Симптомы: в конце /var/log/Xorg.0.log видим такое:
(II) config/hal: Adding input device AT Translated Set 2 keyboard
(**) AT Translated Set 2 keyboard: always reports core events
(**) AT Translated Set 2 keyboard: Device: "/dev/input/event0"
(II) AT Translated Set 2 keyboard: Found keys
(II) AT Translated Set 2 keyboard: Configuring as keyboard
(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "evdev"
(**) Option "xkb_layout" "us"
(**) Option "xkb_options" "terminate:ctrl_alt_bksp"
что говорит нам о том, что Х-ы работают через hal и тот-самый evdev (хотя в конфиге о нем ни слова)
Решение:создаем файл
/etc/hal/fdi/policy/20thirdparty/20-x11-input.fdi следующего содержания:
<?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.keyboard">
<merge key="input.xkb.rules" type="string">base</merge>
<merge key="input.xkb.layout" type="string">us,ru(winkeys)</merge>
<merge key="input.xkb.options" type="string">grp:alt_shift_toggle,grp_led:caps,terminate:ctrl_alt_bksp</merge>
</match>
</device>
</deviceinfo>
Опции, как видим, все знакомы.
Рестартуем hal: /etc/rc.d/rc.hald restart (в слаквари
и перегружаем Х-ы.
Наслаждаемся
PS. решение вычитал в просторах инета. на авторство не претендую
PPS. после этого, в конце /var/log/Xorg.0.log должны будут указываться прописанные опции
PPPS. команда lshal так-же покажет, что правила были применены.
"No! Try not! Do. Or do not. There is no try." -- Yoda