Обсуждение:HOWTO hal и устройства ввода

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск

У меня не работало переключение раскладки, и в Xorg.0.log не было упоминания xkb_options. Не работало же потому что в .fdi тип xkb.options нужно было ставить strlist, и соответственно писать <merge key="input.xkb.options" type="strlist">grp:caps_toggle</merge> <append key="input.xkb.options" type="strlist">grp_led:scroll</append> Да, а ещё нужно убрать из xorg.conf все секции InputDevice и упоминания о них в Severlayout, по крайней мере у меня в логе были ругательства от xorg...

91.201.48.96 22:51, 1 февраля 2008 (UTC)
Солидарен, но не у всех работает, пока причины не очевидны

PS. Давно мучает проблема что если поставить grp:caps_toggle и grp_led:scroll то почему-то при включении русской раскладки включаются оба индикатора (scroll и caps). а при нажатии shift-caps индикатор caps не меняет своего состояния но буквы становятся заглавными. Причём это уже давно и не зависит от того, evdev ли, hal или старый метод... Нет ли решения этой проблемы?

Спасибо огромное, заработало переключение клавиатуры :)

[править] thx

Спасибо огромное, заработало переключение клавиатуры :)

[править] Неочевидные моменты, которые я только что собрал

added by Jay [JID:jay@xmpp.ru]

Файл в /etc/hal/fdi/policy/ должен заканчиваться расширением .fdi, иначе hald его не подхватывал..

Вот мое содержимое этого файла (согласно примерам с http://dev.gentoo.org/~compnerd/temp/hal-config-examples/)

Файл: 55-xorg-xkb.fdi
 <?xml version="1.0" encoding="UTF-8"?>
   <deviceinfo version="0.2">
     <device>
       <match key="input.device" string="/dev/input/event40">
         <merge key="input.x11_driver" type="string">kbd</merge>
         <merge key="input.xkb.layout" type="string">us,ru</merge>
         <merge key="input.xkb.model" type="string">microsoftprousb</merge>
         <merge key="input.xkb.rules" type="string">xorg</merge>
         <!--merge key="input.xkb.variant" type="string">,winkeys</merge-->
         <merge key="input.xkb.options"
           type="strlist">grp:shift_caps_toggle,grp_led:scroll,caps:internal,compose:rwin</merge>
       </match>
     </device>
   </deviceinfo>
 
Примечание: /dev/input/event40 - это устройство клавиатуры, обозванное так правилом udev, дабы в дальнейшем оно не изменялось.

Вот тут и проблема... Приходится ещё udev копать. Правильней таки через имя или тип устройства. В общем работать будет, только как-то через.. зад.

Личные инструменты