Näppäimistöä mieleiseksi

Uuden läppärin myötä olin uuden haasteen edessä – jälleen uusi näppäimistö, jossa Home, End, Insert, Delete, Page Up ja Page Down on ladottu aivan eri tavalla ja ovat haastavia löytää käsikopelolla. Olisihan tuossa nyt ollut reilusti leveyssuunnassa tilaa asetella napit kunnolla, %¤#$@! Lisäksi Alt Gr:n ja Ctrl:n väliin oli ujutettu Print Screen ja se hyödyllisin painike (kontekstivalikon avaaminen) oli mahdollisimman hiirivapaata työskentelyä suosivan kiusaksi hävitetty kokonaan. Esimerkiksi Pohjois-Savon Näkövammaiset ry:n toimistolta saatavat näkkärien tarratyynyt olivat kyllä näkevällekin kelvollinen hätäapu ensin mainittuun ongelmaan, mutta ei täysin lohdullinen sellainen.

Pian ratkaisu kuitenkin löytyi. X-ikkunointiympäristöön, jota tyypillisesti Linux- ja FreeBSD-koneillani käytän, on onneksi xmodmap-ohjelma, jolla näppäinten kartoitusta on mahdollista vaihtaa.

Print Screen oli helppo vaihtaa kuntoon:

  xmodmap -e "keycode 111 = Menu NoSymbol 3270_PrintScreen"

Yhtäsuuruusmerkin jälkeen voi listata symboleita, joiksi painallus voidaan tulkita riippuen ns. modifier keystä. Man-sivut xmodmapille tietävät kertoa seuraavaa:

The first keysym is used when no modifier key is pressed in conjunction with this key, the second with Shift, the third when the Mode_switch key is used with this key and the fourth when both the Mode_switch and Shift keys are used.

No, eihän se nyt käytännössä aivan näin mennyt. Ensimmäinen kyllä määrittää, mitä painike yksin painettuna tekee (tässä tapauksessa Menu). Jälkimmäiset xev-ohjelman tulostuksen perusteella vaihtelivat hieman näppäinten mukaan ja oman soppansa aiheuttavat ns. modifier keyt, joiden kartoitusta on mahdollista muokata. Esimerkiksi omalla koneellani ne on määritelty seuraavasti:

  [vilikki@lenovo ~]$ xmodmap -pm
  xmodmap: up to 4 keys per modifier, (keycodes in parentheses):

  shift Shift_L (0x32), Shift_R (0x3e)
  lock Mode_switch (0x42)
  control Control_L (0x25), Control_R (0x6d)
  mod1 Alt_L (0x40), Meta_L (0x9c)
  mod2 Num_Lock (0x4d)
  mod3 
  mod4 Super_L (0x73), Super_R (0x74), Super_L (0x7f), Hyper_L (0x80)
  mod5 Mode_switch (0x8), ISO_Level3_Shift (0x7c)

Palataksemme takaisin ensimmäiseen komentoon toinen symboli määritti toiminnon Alt pohjassa (NoSymbol). Kolmanneksi tuleekin Shiftillä tapahtuva toiminto, joksi päätin jättää napin alkuperäisen tarkoituksen (3270_PrintScreen). Nämä ovat siis dokumentaatioon nähden nurinkuriset. Lisäksi myöhemmissä tämän artikkelin uudelleenmäärittelyissä Alt pohjassa toistetaankin sama symboli kuin Altia ei olisi painettu. Mene ja tiedä – ehkä tylsinä hetkinäni selvitän, mistä poikkeava toiminnallisuus johtuu, mutta kovin rohkaisevaa asiaa ei ole tutkia, kun homma jo toimii ja dokumentaatio ei ole ajan tasalla.

Ongelmaksi jäi, miten loput haasteelliset napit olisi syytä kartoittaa.

Ahtaaseen heitetyissä näppäimistöissä mielestäni loogisin on ollut pitkäikäisen eee-miniläppärini Fn+nuoli-yhdistelmät Homelle, Endille, Page Upille ja Page Downille. Jälkikäteen kyllä havaitsin, että myös Fn-nappi olisi mahdollista tässä näppäimistössä kartoittaa, mutta koska osassa näppäimistöjä painallus jää piiloon rautatasolle ja halusin yleispätevämmän ratkaisun joka koneelle, tein jotain hieman poikkeavaa ja määritin Caps Lockin Mode_switchiksi, joka jatkossa toimisi nuolinäppäinten kanssa painettuna jo totunnaisella tavalla:

  xmodmap -e "keycode 66 = Mode_switch Caps_Lock Mode_switch Caps_Lock"

Caps Lockin vanha toiminta siis on edelleen löydettävissä Shift + Caps Lock -yhdistelmällä, ikään kuin tätä kukaan oikeasti kaipaisi. Ja sitten rimpsut niille nuolinäppäimille:

  xmodmap -e "keycode 98 = Up NoSymbol Prior"
  xmodmap -e "keycode 100 = Left NoSymbol Home"
  xmodmap -e "keycode 102 = Right NoSymbol End"
  xmodmap -e "keycode 104 = Down NoSymbol Next"

Lisäsin vielä sivunuolinäppäinten yllä oleviin Page Upiin ja Downiin Caps Lock pohjassa olevat vaihtoehtotoiminnot Insert ja Delete:

  xmodmap -e "keycode 99 = Prior NoSymbol Insert"
  xmodmap -e "keycode 105 = Next NoSymbol Delete"

Voilá! Mikä hienointa, ulkopuolinen satunnaiskäyttäjä voi edelleen käyttää täysin tyytyväisenä näppäimistön pintaan präntättyjä nappeja tietämättä tuon taivaallista muutoksista näiden kuuden napin suhteen. Caps Lockista ja Print Screenistä sen sijaan kannattanee kaiken varalta varoittaa.

Vastaa

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