Jak używać klawiszy Windowsowych pod Linuksem
Większość produkowanych obecnie klawiatur ma 3 dodatkowe klawisze do obsługi Windowsów. Są to 2 guziczki z logiem Windowsów i 1 do wywoływania menu kontekstowego. Mimo, że w Windowsie funkcje 2 guziczków pokrywają się, możemy wykorzystać wszystkie 3 ponieważ mają one różne kody.
Przed przystąpieniem do operacji należy się zastanowić do czego mogą się przydać te klawisze. U mnie jest coś takiego:
pierwszy guziczek: czyszczenie konsoli, z ctrl - mutt, z ctrl+alt - slrn, z shift - BitchX
drugi guziczek: poprzednia konsola
trzeci guziczek: następna konsola
Po ustaleniu tego możemy przystąpić do rzeczy. Najpierw trzeba sprawdzić jakie kody mają poszczególne klawisze. Służy do tego polecenie showkey. Po jego uruchomieniu z parametrem -k wciskamy kolejno guziczki. Program kończy działanie 10 sekund po wciśnięciu ostatniego klawisza. U mnie kody tych klawiszy to kolejno od lewej 125, 126 i 127. Jak już mamy kody, to musimy przygotować odpowiednią mapę klawiatury. W dystrybucji RedHat mapy klawiatury znajdują się w katalogu /usr/lib/kbd/keymaps. Jeśli używasz polskich znaków pod konsolą, to mapa klawiatury powinna się nazywać pl02.map. Na wszelki wypadek skopiuj ją np. do nazwy pl02moja.map. Teraz ten plik z mapą trzeba wyedytować. Musisz znaleźć linijkę odpowiadającą kodom twoich klawiszy (u mnie to było 'keycode 125 ='). Tym kodom przypisujemy klawisze funkcyjne, ale dalsze (należy sprawdzić w dalszej części pliku, czy te funkcje nie są zajęte), np. F21, F22, F23, czyli linijka dla kodu 125 powinna wyglądać mniej więcej tak:
keycode 125 = F21
Dalej możemy dodać kolejne klawisze funkcyjne dla kombinacji z shiftem, controlem, altem itp. To powinno wyglądać tak:
control keycode 125 = F22
control alt keycode 125 = F23
shift keycode 125 = F24
Dalej przypisujemy jakiś ciąg dla tych klawiszy funkcyjnych. Pod sam koniec pliku widać przykłady jak to się robi: 'string F21 = "pine\n"'. W cudzysłowach można wpisać co się chce - np. jeśli często wpisujemy jakiś tekst też możemy go tam wpisać. Jeśli ma to być komenda, to zawsze musi być zakończona prze '\n', czyli enter.
Zamiast klawiszy funkcyjnych możemy przypisać jakąś funkcję specjalną. Opis wszystkich można znaleźć w źródłach do programu ...., ale dla mnie jedynymi interesującymi były Decr_Console i Incr_Console, które oznaczają przejście na odpowiedno poprzednią i następną konsolę. Jest też funkcja Last_Console, która powoduje przejście na poprzednio używaną konsolę.