Zmiana mapowania klawiszy

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!
Jest to poradnik nadesłany do nas przez jednego z Czytelników – nick jackson – dziękujemy!

Chciałbym się podzielić sposobem na modyfikację działania klawiszy klawiatury. Taka potrzeba zaistniała u mnie w momencie zakupu netbooka ACER Aspire One 722. Problem polegał na tym, że przy korzystaniu z klawisza prawego Alt, bardzo często naciskałem sąsiedni klawisz, odpowiedzialny za wywoływanie menu kontekstowego. Po wykonaniu poniższych działań klawisz ten działa identycznie jak prawy Alt, dzięki czemu pomyłka nie wywołuje menu kontekstowego i nie spowalnia pisania, co przy tak małej klawiaturze i tak jest utrudnione.
Poniższe informacje, to zbiór opisów, jakie wyszukałem w sieci i zebrałem do jednego artykułu.

Na początku musimy sprawdzić czy mamy zainstalowany pakiet x11-xserver-utils, z którego będziemy wykorzystywać program xmodmap, oraz x11-utils, niezbędny do posługiwania się programem xev.

sudo apt-get install x11-xserver-utils x11-utils
  1. Uruchamiamy w terminalu program xev:
    xev

    Pojawi nam się szereg informacji w wielu liniach. Na razie to nie jest ważne. Program xev czeka na naciśnięcie klawisza, co po tej czynności doprowadzi do wyświetlenia wszystkich informacji o wciśniętym klawiszu.

  2. Naciskamy klawisz, którego działanie chcemy przypisać do innego (w naszym przypadku prawy Alt). Pokazuje się szereg linii, z których musimy wyłuskać dwie informacje: kod klawisza oraz jego nazwę. W naszym przypadku będzie to wyglądało mniej więcej tak:
    xev1
  3. Powtarzamy czynność dla klawisza, któremu chcemy przypisać działanie poprzedniego – u nas: keycode 135 i nazwa Menu.
  4. W katalogu domowym tworzymy plik o nazwie .Xmodmap, a w jego środku umieszczamy komendę:
    xmodmap -e "keycode 135 = ISO_Level3_Shift"

    która przypisze klawiszowi Menu (keycode 135) funkcję prawego Alt’u (ISO_Level3_Shift).
    Plikowi nadajemy prawa do odczytu i zapisu oraz wykonania jako program:

    chmod a+x ~/.Xmodmap
  5. Umieszczamy skrót w programach startowych, aby całość była uruchamiana razem z X’ami:
    xev2

Po wylogowaniu i ponownym zalogowaniu zmiana powinna zacząć działać.

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Coolers

    Tego szukałem! Dzięki :)

  • elkanguro

    Good Work Man!

  • Dominik

    Witam.
    Jak zmapować klawisz który nie jest wykrywany przez xev ?

  • Olaf

    Hej, dzięki za opis. Chciałęm do lewego Alt przypisać funkcję prawyAlt, aby mieć polskie litery pod obydwoma Alt-ami.
    Zrobiłęm analogiczny pli z zawartością

    PRE.ctl { font-family: „Lohit Hindi”,monospace; }P { margin-bottom: 0.21cm; }A:link { }

    xmodmap -e „keycode 64 = keycode 108”

    Niestety nie działa po ponownym zalogowaniu.

    Ktoś wie co jest nie tak?

  • ol

    U mnie zadziałał klawisz lewy Shift z przyciskiem w niemieckich klawiaturach obok małego shiftu.
    Gdyby nie pomoc to bym się męczył bo programu do mapowania na Ubuntu nie znalazłem.
    Dziękuję autorowi za instrukcję.