Wystarczy zdefiniować sobie własną mapę klawiatury. W katalogu
/usr/lib/kbd/keymaps lub /usr/share/keymaps leżą różne mapy
klawiszy, można też tam dorzucić własną, lub zmodyfikować już używaną.
Trzeba zacząć od sprawdzenia kodów klawiszy, których chcemy używać - służy do
tego polecenie showkey. Po jego uruchomieniu na ekran jest wypisywany
kod każdego klawisza, który wciśniemy. Uwaga: program kończy swoje działanie
po 10 sekundach od ostatniego naciśnięcia klawisza - nie można go zakończyć
wciskająć Esc, Ctrl-C itd...
Kiedy już mamy kody, to do używanego pliku .map (lub .kmap) trzeba dodać
linijkę:
keycode <numer> = <akcja>
Spis dostępnych akcji można znaleźć w pliku ksyms.c w źródłach pakietów kbd lub consoletools. M.in. ciekawą rzeczą jest "Last_Console" - po naciśnięciu klawisza, któremu przypisaliśmy taką akcję przerzucamy się na ostatnio używaną konsolę. Inną możliwością jest podpięcie pod klawisz akcji "F<numer>", np. "F100", a potem podczepienie pod tego "efa" jakiegoś stringu:
string F100 = "exit\n"
Przy takim przypisaniu naciśnięcie klawisza opisanego jako F100 efekt
będzie jak przy wpisaniu ciągu "exit" i naciśnięciu ENTER.
Edycja mapy klawiszy nie musi sprowadzać się do dodawania nowych opcji, można
też dowolnie zmienić stare mapowania: np. jeśli ktoś pisze bezwzrokowo i
przeszkadza mu za krótka spacja (bo doszły w tym samym rzędzie 3 nowe
klawisze Windows), to można: przestawić mapowanie obu altów na spacje, a
klawiszy ze znakiem okienka na alty - i mamy "wydłużony" klawisz
spacji.
Po przeedytowaniu mapy klawiary trzeba ją załadować za pomocą polecenia
loadkeys mapa.map. Takie wywołanie można też wstawić do skryptów
startowych, tak aby potrzebna mapa była ładowana przy uruchamianiu
systemu.
Osobno trzeba sobie zdefiniować mapę klawiszy w X Window System - pomocnym
może się okazać program xkeycaps, który łatwo i szybko pomaga ustawić
dowolną mapę klawiatury.
Wymyślenie zastosowań możliwości dowolnego mapowania klawiatury pozostawiam
jako ćwiczenie :))