Obecnie mam .Xmodmap
pliku, który zmienia mojego CommandTO Ctrl, następnie zmienia mój Ctrldo Super(używam Linuksa na komputerze Mac).
Działa całkiem dobrze, gdy uruchamia się tylko raz, ale przy kolejnych uruchomieniach (na przykład po ponownym uruchomieniu środowiska pulpitu (Cinnamon) ponownie ładuje .Xmodmap
plik), w zasadzie resetuje ustawienia, przywracając zmiany. Skutecznie przełącza się między moją pożądaną konfiguracją a oryginalną konfiguracją.
Jak mogę napisać .Xmodmap
plik, który ustawia ustawienia tylko raz, ale nie zmienia ich z powrotem przy kolejnych uruchomieniach? Oto mój istniejący .Xmodmap
plik:
clear control
clear mod4
keycode 105 =
keycode 206 =
keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 37 = Super_L NoSymbol Super_L
add control = Control_L
add control = Control_R
.Xmodmap
Wpływa to tylko na klucze, które zmieniasz. Co chcesz robić inaczej?Odpowiedzi:
Zresetuj mapę do pierwotnego stanu przed zastosowaniem modów. Pełny reset trwa wiecznie, więc najlepsze, co mogę wymyślić, to różne.
Ten kod używa,
.Xmodmap{.orig,.reset,.mods}
jeśli.orig
nie istnieje, jest ustawiony na bieżący stan i oblicza,.reset
aby przywrócić ten stan z dowolnego miejsca. przed złożeniem wniosku.mods
.(edycja: czyszczenie)
źródło
Przejdź do systemu> Preferencje> Aplikacje startowe i dodaj
xmodmap ~/.Xmodmap
.źródło
Nadal jestem trochę zdezorientowany, co chcesz, ale myślę, że to:
Jeśli umieścisz to w swoim
~/.Xmodmap
,następnie za każdym razem, gdy
xmodmap ~/.Xmodmap
wykonywany jest, lewy Ctrli lewy ⌘klawisz zamiany. Tak więc przy pierwszym wywołaniu Ctrlklawisz działa tak, jakbyś nacisnął ⌘, ale przy drugim wywołaniu wznawia działanie jako Ctrlklawisz ponownie.źródło
xmodmap ~/.Xmodmap
z Xtermu i sprawdź, czy twój kod naprawdę zamienia klucze przy powtarzanej aplikacji. Może twoje klucze powracają do pierwotnego zachowania po ponownym uruchomieniu Cinnamon, nie z tego powodu, dla którego tak uważasz?