Klawisze „windowsowe” 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 = „pinen”‚. 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 odpowiednio poprzednią i następną konsolę. Jest też funkcja Last_Console, która powoduje przejście na poprzednio używaną konsolę.

Autor: leafnode

Architekt oprogramowania webowego, programista, analityk bezpieczeństwa serwisów internetowych, speaker, konsultant. Potrzebujesz pomocy? Skontaktuj się ze mną!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *