Odpowiedzi:
Aby to zrobić ręcznie, chcesz utworzyć plik o nazwie .Xmodmap w swoim katalogu domowym. Możesz to zrobić za pomocą polecenia z terminala
~$ gedit ~/.Xmodmap
To utworzy plik i otworzy go w gedit. Dodaj następujące wiersze do pliku:
clear control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 64 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
Zapisz plik i zamknij gedit. Przy następnym logowaniu nowe klawisze będą aktywne. Aby ustawienia odniosły natychmiastowy skutek, uruchom następujące polecenie:
~$ xmodmap ~/.Xmodmap
Istnieje prawdopodobieństwo, że powyższe kody klawiszy są różne na twoim komputerze. Jeśli powyższe nie działa, spróbuj uruchomić program xev z wiersza poleceń. Xev wygeneruje nowe małe okno w rogu ekranu. Jeśli zaczniesz naciskać klawisze na klawiaturze, otrzymasz wszystkie informacje dotyczące mapowania klawiszy dla tego naciśnięcia klawisza.
~$ xev
Na przykład, jeśli nacisnę „q”, gdy xev jest uruchomiony, otrzymam następujące dane wyjściowe:
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0xb6, subw 0x0, time 9127480, (21,-17), root:(22,36),
state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (71) "q"
XFilterEvent returns: False
kod 24 to informacja, której szukamy. Naciśnij lewy Ctrl i lewy Alt podczas uruchamiania xev, aby uzyskać własne odpowiednie kody klawiszy, aby potwierdzić, że są one takie same jak te używane powyżej.
Mam nadzieję, że to pomaga.
xmodmap ~/.Xmodmap
każdym ponownym uruchomieniu. Jak mogę to zautomatyzować?
Jeśli nie chcesz wpaść w ból xmodmap
, możesz to również zrobić za pomocą ustawień gnome.
sudo apt-get install gnome-tweak-tool
, otwórz go, przejdź do Pisanie i zmień opcję Ctrl key key na Zamień w lewo Alt i Ctrl :
Prawdopodobnie możesz to zrobić za pośrednictwem gsettings
, ale nie jestem pewien dokładnej nazwy wpisu konfiguracji.
Wystarczy utworzyć ~ / .Xmodmap za pomocą prostego edytora tekstu i ponownie uruchomić Xserver.
!
! based on: http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock#toc8
!
!----------------------------------------------------------
! Swap Control and Alt keys, both sides
!----------------------------------------------------------
! First clear all modifiers & control
clear control
clear mod1
clear mod4
! Swap Control_L and Alt_L
keycode 64 = Control_L
keycode 37 = Alt_L Meta_L
! Menu becomes Alt_R Meta_R (AltGr)
keycode 135 = Alt_R Meta_R
! Define Control_R and Alt_R similar to Control_L and Alt_L
keycode 108 = Control_L
keycode 105 = Alt_L Meta_L
! We need to set keycodes first, as some programs (emacs!) read
! the key names and seem to ignore what's below.
add mod1 = Alt_L Alt_R Meta_L Meta_R
add mod4 = Super_L Super_R
add control = Control_L Control_R
!------------------------------------------
! Caps_Lock becomes an additional BackSpace
!------------------------------------------
remove lock = Caps_Lock
keysym Caps_Lock = BackSpace
xmodmap ~/.Xmodmap
żeby go załadować. Nie jestem pewien, czy muszę to robić przy każdym ponownym uruchomieniu.
Jeśli chcesz utrzymać klawisz Ctrl w normalnej pozycji podczas korzystania z aplikacji terminalowych w porównaniu z aplikacjami GUI, możesz spojrzeć na Kinto.
https://github.com/rbreaves/kinto
Oto sedno tego, co robi zasadniczo, jest to stosunkowo proste, ale stworzyłem instalator, Kinto, który używa systemd i działa na systemach opartych na x11, które utworzą usługę / skrypt z xprop, który nasłuchuje twojej aktywnej nazwy aplikacji.
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Chciałbym wspierać Wayland i x11 za pomocą jednego rozwiązania, ale xprop nie był przeznaczony dla tego świata.
Oto dowód koncepcji KDE Plasma 5 Wayland. https://github.com/rbreaves/applet-window-title/commit/ff17e694579a52a9848d6bea87b2d11f22033718