Решение представлено для Gentoo, но возможно проблема актуальна и для других дистрибутивов.
При обновлении hal до версии 0.5.10 перестает нормально работать
клавиатура. По множественным отзывам в Сети, у всех перестает
работать преключатель раскладки, у меня еще были глюки с другими
клавишами (например кнопка "вверх" работала как PrtScr и др.)Для начала приведу часть xorg.conf который у меня работал испокон веков:
Section "InputDevice"
Identifier "Chicony"
Driver "kbd"
Option "Protocol" "Standard"
Option "XkbModel" "pc105"
Option "XkbRules" "xorg"
Option "XkbLayout" "us,ru,ua"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll"
Option "AutoRepeat" "250 30"
EndSection
Причина того, что эта конфигурация отвалилась, состоит в том, что новая
версия hal просто игнорирует конфиг xorg.conf.
Нашел два метода решения проблемы.
Первый метод:
http://ru.gentoo-wiki.com/HOWTO_hal_и_устройства_ввода
Смысл в том, что создается файл политики hal, который содержит конфигурацию клавиатуры:
/usr/share/hal/fdi/policy/20thirdparty/10russian-layout.fdi
Учитывая, что в статье есть небольшие ошибки, приведу свой файл
конфигурации. Рекомендую сопоставлять с приведенным выше xorg.conf
<?xml version="1.0" encoding="ISO-8859-1"?><!-- -*- SGML -*- -->
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_driver" type="string">kbd</merge>
<merge key="input.xkb.model" type="string">pc105</merge>
<merge key="input.xkb.rules" type="string">xorg</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:lwin_toggle,grp_led:scroll</merge>
</match>
Думаю смысл понятен.
После создания файла следует пергрузить hald и перегрузить иксы.
Недостаток этого метода состоит в том, что я так и не смог настроить переключение трех языков.
Второй метод:
Второй метод состоит в том, что мы отключаем автоопределение
устройств. Для этого в xorg.conf в секцию ServerLayout дописываем
Option "AutoAddDevices" "False". После перегрузки иксов настройки
клавиатуры берутся из xorg.conf.
Подозреваю, что у второго метода есть свои недостатки, но я их пока не обнаружил.
URL: http://ru.gentoo-wiki.com/HOWTO_hal_и_устройства_ввода
Обсуждается: http://www.opennet.me/tips/info/1628.shtml