Mam Macbook Air z systemem Linux. Chcę zamienić ze sobą klawisze alt
i super
po obu stronach klawiatury.
Jak to zrobić za pomocą narzędzi CLI?
Aktualizacja
Po odpowiedzi Drava Sloana zastosowałem:
keycode 64 = Alt_L
keycode 133 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L
keycode 108 = Alt_R
keycode 134 = Super_R
remove Mod1 = Alt_R
remove Mod4 = Super_R
add Mod1 = Super_R
add Mod4 = Alt_R
Odpowiedzi:
Jednym ze sposobów na osiągnięcie tego jest użycie
xmodmap
. Możesz uruchomić,xev
aby uzyskać kluczowe wydarzenia. Po uruchomieniuxev
powinno pojawić się pole, które można ustawić i nacisnąć klawisze, które chcesz zamienić. Powinien wyświetlać szczegóły podobne do Altklucza:Jestem na komputerze i nie mam „klawisza polecenia”, ale mam równoważny „klawisz systemu Windows”, a xev daje:
Ponieważ xmodmap nie ma pojęcia
state
i może łatwo złamać kluczowe mapowania, sugeruję wykonanie:Następnie tworzymy plik xmodmap:
Zwróć uwagę, jak korzystam ze
xev
zwróconych kodów . Również tutaj wymieniam tylko lewe klawisze super i alt (i pozostawiam prawe stare). Następnie możemy po prostu uruchomićxmodmap
, aby ustawić te klucze:Możesz pracować bez przełącznika
-v
(verbose) w celu cichego działania, ale uważam to za przydatne, jeśli popełniłeś błędy w pliku modmap. Jeśli coś pójdzie nie tak, ponownie zastosuj ustawienia domyślne:Modmap jest często uruchamiany przy uruchamianiu X, więc możesz zastosować je jako domyślne, jeśli wstawisz komendy modmap
~/.xmodmaprc
.źródło
setxkbmap
? Chciałbym użyćsetxkbmap -option compose:ralt
opcji razem z tym.Jeśli chcesz to zrobić na klawiaturze Apple, wypróbuj to:
echo 1|sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
Aby to działało w niższej wersji systemu Linux, możesz wypróbować to: http://blog.chaselambda.com/2014/10/09/apple-keyboard-on-linux-3.8.html
źródło
tee
:echo "1" | sudo tee /sys/module/hid\_apple/parameters/swap\_opt\_cmd
Jeśli chcesz tylko zamienić lewy klawisz Alt, a klawisz Super wykonaj polecenie w swoim terminalu:
Aby przywrócić domyślne zachowanie, użyj:
Uwaga: jest to tymczasowe. Jeśli chcesz, aby efekty na stałe dodały go do pliku startowego.
źródło
setxkbmap -option
. A jeśli chcesz tylko wymiany lewy alt i super klucza , a następnie użyć polecenia:setxkbmap -option altwin:swap_lalt_lwin
.Zanotuj, z którymi kodami alt i super są powiązane, a następnie w folderze domowym otwórz / stwórz nowy plik .xmodmaprc. Na przykład moje klucze super / alt są jako takie powiązane
Ale aby zamienić klucze, umieścisz następujące w .xmodmaprc
źródło
remove ...
rozwiązania.grep
do filtrowania danych wyjściowych, dziękixmodmap -pke | grep -i "super\|alt"
czemu łatwiej będzie zobaczyć to, czego potrzebujesz.Jeśli jesteś jednym z nieszczęśliwych ludzi takich jak ja, którzy nie mogli zmusić xmodmap do zmiany Alt z prawym Ctrl, to może to pomoże.
Jeśli naciśniesz prawy Alt i e, a otrzymasz é, to rozwiązanie jest dla Ciebie (wymaga poprawy).
Uruchom to w terminalu (sprawdź kody dostępu za pomocą xev):
następnie umieść ten kod w .Xmodmap:
Ten kod ustawia klucz Alt_Gr na Alt_R, a następnie zamienia Alt_r za pomocą Ctrl_R.
Jeśli chcesz, aby pozostało po wylogowaniu, umieść następujące polecenia w dowolnym pliku powłoki startowej, na przykład ~ / .profile:
źródła: pytanie 1 pytanie 2
źródło