Mam klawiaturę Mac, na której klawisze Alt / Win (tj. Option / Command) są odwrócone w porównaniu ze zwykłą klawiaturą PC i chciałbym je zamienić. Do tej pory nie miałem szczęścia z Xmodmap. Standardowa konfiguracja wygląda następująco:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Obecnie lewy / prawy klawisz Alt to kody 64 i 108, natomiast lewy / prawy klawisz Windows to 133 i 134.
Doceniam każdą pomoc!
setxkbmap -device 8 dvorak -option altwin:swap_alt_win,ctrl:nocaps
. Chcę tylko zamienić odpowiednie Alt i Win. To nie „znoszą” lewy swapa:setxkbmap -device 8 dvorak -option altwin:swap_lalt_lwin,altwin:swap_alt_win,ctrl:nocaps
. Według, najwyraźniej nie maaltwin:swap_ralt_rwin
opcjiman xkeyboard-config
.Odpowiedzi:
To jest mój Xmodmaprc:
Będziesz musiał zmodyfikować swoją .xsession lub .xinitrc, aby wywoływać xmodmap .Xmodmaprc
źródło
Osiągnąłem to w Ubuntu 13.04, łącząc odpowiedź Christophe'a (co pomogło mi, ale nie działało dla modyfikatorów i nie potrzebuję grave i tyld, aby być martwymi klawiszami), kolejna odpowiedź na temat setxkbmap , granie z różnymi opcjami w ustawieniach - opcje układu klawiatury (nawet patrząc na kod źródłowy ) i sprawdzanie bieżącej konfiguracji za pomocą polecenia
setxkbmap -query
(które należy również uruchomić, aby sprawdzić konkretny model klawiatury i kody układu, ponieważ mogą się różnić).Mam jeden skrypt, który wywołuję po przełączeniu na klawiaturę Apple (najważniejszą opcją jest
altwin:swap_lalt_lwin
zamiana klawiszy modyfikatora Alt i Super):I kolejny, do którego dzwonię, kiedy wracam na normalną klawiaturę:
Pamiętaj, że dodałem ustawienia
aby włączyć ctrl + alt + backspace Zakończenie sesji Gnome, dostęp do poziomu 3 za pomocą prawego klawisza Win, przesuwanie układu przez naciśnięcie obu klawiszy Shift i zamieniłem mój Caps Lock w dodatkowy Ctrl (odpowiednio). Możesz wykluczyć niektóre lub wszystkie z nich.
Możesz użyć AutoKey, aby powiązać połączenie z jakimś skrótem klawiaturowym lub zadzwonić z klawiatury
.profile
lub.bashrc
jeśli używasz klawiatury Apple cały czas.źródło
setxkbmap -option altwin:swap_lalt_lwin
a jeśli chcesz, aby przełączyć zarówno lewy i prawy alt i Super klucze, użyj polecenia:setxkbmap -option altwin:swap_alt_win
.Odkryłem, że na Ubuntu 16.04, który używa xkb i gnome, potrzebujesz kilku dodatkowych kroków w porównaniu z powyższą odpowiedzią Christophera Devine'a, jeśli chcesz zachować wszystkie skróty dla klawiszy Alt i Super. To było najłatwiejsze rozwiązanie, jakie znalazłem.
Aby uzyskać numery kodów klawiszy, w wierszu polecenia
$ xev
wpisz klucze, dla których chcesz uzyskać numer. Aby uzyskać więcej informacji na ten temat, zobacz ten post: użycie xev i xmodmapTakie postępowanie daje mi:
Super_L
ma kod dostępu 133Alt_L
ma kod dostępu 64Aby więc zamienić Windows aka Command (na Macu) aka Super klawisz z lewym klawiszem Alt, robię:
Ostatnie dwa wiersze dodają mod1 i mod4 z powrotem do kluczy dla Alt_L i Super_L, gdy zostały usunięte. Jeśli tak się nie stanie, tracę skróty związane z super klawiszem (wyszukiwanie), a także łamie kombinację klawiszy Alt + Tab, aby przełączać się między oknami.
Możesz dodać te polecenia do pliku takiego jak .xmodmap, a następnie
$ xmodmap .xmodmap
je uruchomić.Możesz też uruchomić je sekwencyjnie w wierszu poleceń, np .:
$ xmodmap -e <expression here>
Jeśli chcesz powrócić do domyślnych mapowań klawiszy, możesz odwrócić liczby w powyższym kodzie, na przykład:
lub w Ubuntu po prostu uruchamiam:
$ setxkbmap
źródło
Możesz także ustawić
hid_apple
opcje modułu jądra, aby modyfikować tylko klawiaturę Apple, ale nie normalne klawiatury PC. Nie musisz używać xkbmap ani Xmodmapr. Wystarczy utworzyć plik/etc/modules.d/hid_apple.conf
z zawartościąfnmode=2
mapuje klawisze funkcyjneF1...F12
bez konieczności naciskaniaFn
. Pomiń, jeśli wolisz klawisze multimedialne. Zobacz Arch Wiki, aby uzyskać więcej.Na stałe w Ubuntu :
źródło
Odradzam korzystanie z xmodmap w przyszłości, ponieważ nie będzie on działał w Wayland, ale poza tym setxkbmap lub xkbcomp byłoby najlepszą metodą do wykorzystania w przyszłości i mój projekt Kinto używa go.
Kinto zamienia wybrane klawisze, ale także nasłuchuje używanej aplikacji, dzięki czemu możesz zachować odpowiednią mapę klawiszy dla aplikacji terminalowych, tak aby pasowała do twoich wrażeń z bycia na komputerze Mac.
Oto odpowiednie linki, ale uwzględnię także sedno tego, co robi Kinto - minus niestandardowe mapy klawiszy i naprzemienne możliwości mapowania klawiszy, więc masz pojęcie o tym, co faktycznie robi Kinto.
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Treść merytoryczna
źródło