Linux, näppäimistö, hiiri ja evdev

Linuxin käyttäminen on mukavaa, sillä aina välillä on tarjolla kivoja yllätyksiä, ettei tietokoneen käyttäminen olisi liian helppoa. Tietenkin tällä(kin) kertaa varsinainen vika löytyy penkin ja tuolin välistä, joka ei ole huomioinut muuttuneita asioita. Olen kiertänyt eteen tullutta evdev-laitteistoajurin ja hal-välipalikan aiheuttamaa ongelmaa onnistuneesti muutamisen kuukauden ajan, mutta nyt piti löytää ihan oikea ratkaisu.

Ongelmana oli siis, että asioista X ja Y johtuen näppäimistö ei toiminut X-ikkunamanagerissa halutulla tavalla, vaan näppäimet olivat sanan mukaisesti sekaisin: muun muassa nuolinäppäin ei toiminut alaspäin ja muuta mukavaa. Onneksi ongelma oli helposti korjattavissa muuttamalla X.orgin asetustiedostosta näppäimistön asetukset oikeaksi eli evdev-ajurin vaatimusten mukaiseksi.

X-ikkunoinnin xorg.conf-tiedoston näppäimistöosio näytti tämän jälkeen seuraavalta:

Section "InputDevice"
    Identifier  "Keyboard"
    Driver      "evdev"
    Option      "CoreKeyboard"
    Option      "Name"          "Logitech HID compliant keyboard"
    Option      "Device"        "/dev/input/event3"
    Option      "XkbRules"      "xorg"
    Option      "XkbModel"      "evdev"
    Option      "XkbLayout"     "fi"
EndSection

Aikaisemmin Driver-arvona oli siis kbd ja XkbModel-arvona pc105. Sekä Name että Device -kenttien arvot löytyvät kirjoittamalla terminaaliin cat /proc/bus/input/devices ja vilkaisemalla oikeat arvot N ja H-riveiltä.

I: Bus=0003 Vendor=046d Product=c30e Version=0110
N: Name="Logitech HID compliant keyboard"
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
B: MSC=10
B: LED=7

Tämän lisäksi suomalaisen näppäinasettelun saamiseksi kopioin /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi-tiedoston sijaintiin /etc/hal/fdi/policy/11-keymap.fdi ja päivitin input.xkb.layout-avaimen määritteen muotoon

<merge key="input.xkb.layout" type="string">fi</merge>

eli muutin oletuksena olleen us-arvon fi-arvoksi. Nyt X ottaa vakiona käyttöön suomalaisen näppäinasettelun eikä jenkkinäppistä.

Hiiren asetukset ovatkin toimineet evdev-ajurilla jo pidempään ihan oikein seuraavilla asetuksilla.

Section "InputDevice"
    Identifier  "Mouse"
    Driver      "evdev"
    Option      "CorePointer"
    Option      "Protocol"      "evdev"
    Option      "Name"          "Logitech USB-PS/2 Optical Mouse"
    Option      "Device"        "/dev/input/event2"
    Option      "Buttons"       "10"
    Option      "ZAxisMapping"  "9 10"
EndSection

Tämä kaikki on tietenkin suhteellisen päivän selvää, mutta hyvä nyt kirjata ainakin itselle ylhäälle.

Toinen mukava muutos järjestelmän perustaan oli Gentoon ~archin siirtyminen käyttämään OpenRC:tä sys-apps/baselayout-2:n myötä. Asiasta oli toki siirtymisohje, joka selvensi syitä ja muutoksia, joita oli ihan riittävästi.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *