Najprostszy sposób na zamianę klawisza esc za pomocą klawisza `

10

Jaki jest najprostszy sposób zamiany funkcjonalności Escklucza i `klucza?
System ferences Preferencje ➜ Klawiatura ➜ Układy ➜ Opcje pozwalają mi zamieniać Ctrlklucz i Capslockklucz, co było dobre, ale wydaje się, że nie pozwala mi to robić innych kluczy w uogólniony sposób.

xmodmapOdpowiedź, że został przyjęty tutaj był użyteczny. Teraz mój `klucz znajduje się na Esckluczu fizycznym i odwrotnie. Problem polega na tym, że kiedy ja Shift+ Escnadal dostaję tylko `wtedy, gdy chcę dostać tyldę.

oadams
źródło
1
FYI: Ucieczka przed backtickiem i innymi postaciami specjalnymi, takimi jak:\`
djeikyb

Odpowiedzi:

8

Chcesz postępować zgodnie z pięciopunktową listą instrukcji dotyczących ubuntuforums Andy Meiera: http://ubuntuforums.org/showthread.php?p=10286878#post10286878

Klucze, które musisz zmodyfikować w / usr / share / X11 / xkb / symbols / mynewlayout to:

key <ESC> {[ quoteleft, asciitilde ] };

key <TLDE> {[ escape ] };

Następnie musisz zarejestrować ten nowy układ zgodnie z opisem na forum. Powodzenia.

DrSAR
źródło
jeśli s / escape / Escape, to wszystko jest dobrze.
oadams
Tak, potrzebuję s / escape / Escape dla mnie na Fedorze 23. Czy odpowiedź można edytować?
markwatson
4

Xmodmap zastępuje kody klawiszy. shift+escnie jest innym kluczem. Sprawdź dane wyjściowe xevpo naciśnięciu ai shift+a. Znajdziesz zmiany stanu od 0x0 do 0x1, podczas gdy kod klucza pozostaje taki sam. To, co chcesz zrobić, to zmienić definicję klucza, a nie tylko przypisać klawisze A / a lub ~ / `. Ponowne zdefiniowanie wyniku zmiany stanu klucza jest poza zakresem xmodmap.

Nie wiem dokładnie, jak robić to, co chcesz, ale myślę, że utworzenie definicji klawiatury jest właściwym sposobem. Będę edytować z większą pomocą, jeśli lub kiedy wymyślę, jak to zrobić. Może to ustawi właściwą ścieżkę.

djeikyb
źródło
1

Czytałem gdzie indziej, że Ubuntu nie używa już xmodmap. Zamiast tego używa xkb. W tym poście jest kilka informacji na ten temat:

Stała xmodmap w Ubuntu 13.04

Nadal jednak używam 12.04LTS i chciałem zamienić klucze Esc i grave. Zrobiłem to z Xmodmap i zadziałało.

Stworzyłem mały skrypt, który uruchamia xmodmap i mam ten skrypt uruchamiany podczas logowania. Polecenia xmodmap to:

xmodmap -e "keycode 49 = Escape"
xmodmap -e "keycode 9 = grave asciitilde"

Nie wiem, czy to rozwiązanie będzie działać w wersjach Ubuntu nowszych niż 12.04.

Stuart K.
źródło