Problémy s klávesnicou konfigurovanou cez evdev
Používam tzv. programátorskú klávesnicu. Má klasický us layout, ale pokiaľ držím pravý alt, tak niektoré klávesy sa stávajú špeciálne a píšu znaky s diakritikou (slovenské a české) alebo nejaké ďalšie, napríklad znak euro (€), dlhú pomlčku (–), výpustku (…) a podobné typografické elementy. Mám tak dve klávesnice v jednej, bez potreby prepínania sa. Takéto rozloženie má len jednu jedinú nevýhodu, je vysoko návykové.
Pokiaľ by ste ju chceli tiež, tak ju hľadajte na Vogových stránkach. Návod k spojazdneniu je uvedený na linkovaných stránkach. Chýba tam však konfigurácia klávesnice v Xorgu, to sa vám bude hodiť, ak budete chcieť mať klávesnicu k dispozícii hned po štarte X a/alebo nepoužívate KDE. Tu je príslušná sekcia v súbore /etc/X11/xorg.conf:
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "vok_sk" Option "XkbVariant" "basic" EndSection
Až do nedávneho updatu fungovalo všetko, ako má. Potom začal evdev robiť problémy a konfigurácia v xorg.conf bola zahadzovaná. Dnes som zistil, ako to spraviť, a tak ponúkam návod. Je to pomerne jednoduché.
Takže, ak chcete používať vlastné nastavenia klávesnice a nepáči sa vám, čo sa vám snaží vnútiť evdev, tak si budete musieť zistiť, ako vašu klávesnicu identifikuje hal. Spustite si hal-device a jeho výstup presmerujete do nejakého súboru, v ktorom budete prácne hľadať.
hal-device > zariadenia.txt
Ja pracujem na notebooku a mám okrem zabudovanej klávesnice pripojenú aj externú. Zistil som, že obe majú v položke info.product slovíčko keyboard. A predpokladám, že to bude mať väčšina klávesníc. Z toho budeme vychádzať.
Ako ďalšie si musíme otvoriť konfiguračný súbor s politikou hal pre zariadenia a dopísať do neho pre naše zariadenia hodnoty, ktoré chceme, aby používal. Súbor sa nachádza v /etc/hal/fdi/policy/preferences.fdi. Jeho obsah je v mojom prípade takýto:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.product" contains="eyboard"> <merge key="input.xkb.rules" type="string">xorg</merge> <merge key="input.x11_driver" type="string">evdev</merge> <merge key="input.xkb.model" type="string">evdev</merge> <merge key="input.xkb.layout" type="string">vok_sk</merge> <merge key="input.xkb.variant" type="string">basic</merge> </match> </device> </deviceinfo>
Po tejto zmene už len treba reštartovať hal a následne aj X. Potom je už všetko v takom stave, ako potrebujete a očakávate.
/etc/init.d/hal restart /etc/init.d/gdm restart
Zatiaľ nie sú žiadne komentáre.