Naśladowanie klawiszy poleceń / alt / control w stylu Maca w systemie Linux

15

Absolutnie podoba mi się, że Mac oddziela klawisz poleceń od klawisza Control, umożliwiając współistnienie skrótów systemu operacyjnego i skrótów tekstowych. Jest niezwykle przydatny, zwłaszcza dlatego, że pozwala wszędzie na skróty emacsa .

Prawie wszędzie szukałem jakiegoś narzędzia, które może na to pozwolić i nic nie może znaleźć. Jakaś pomoc?

Uwaga: chcę zrobić więcej niż tylko mapować klawiaturę. Chcę faktycznie podzielić skróty systemu operacyjnego i skróty tekstowe. Jedyny sposób, w jaki mogę to zrobić, to ręcznie przejść przez każdy skrót w Gnome i Compiz i zmienić go.

Kenrick Rilee
źródło

Odpowiedzi:

1

Aktualizacja 02.03.2020

Kinto zostało teraz przepisane w C dla systemów Ubuntu / Debian przy użyciu x11. Wykorzystuje również pliki konfiguracyjne json, co ułatwia zarządzanie i rozszerzanie na inne aplikacje niż tylko terminale. Aplikacja nie jest już mapowana na Super w aplikacjach terminalowych, teraz poprawnie mapuje na Ctrl + Shift, aby stworzyć dokładnie to samo, co posiadanie klawisza Cmd.

Proszę sprawdzić najnowszą wersję. https://github.com/rbreaves/kinto

Główna zmiana pozwalająca na zmianę Super = Ctrl + Shift znajduje się w tym pliku symboli.

default partial xkb_symbols "mac_levelssym" {
    key <LWIN> {
      repeat= no,
      type= "ONE_LEVEL",
      symbols[Group1]= [ Hyper_L ],
      actions[group1]=[ SetMods(modifiers=Shift+Control) ]
    };
    key <RWIN> {
      repeat= no,
      type= "ONE_LEVEL",
      symbols[Group1]= [ Hyper_R ],
      actions[group1]=[ SetMods(modifiers=Shift+Control) ]
    };
};

Kinto może się przydać. To projekt, który niedawno stworzyłem, po kilku latach rozwiązywania tego problemu na kilka różnych sposobów, a teraz czuję, że jest wystarczająco solidny, aby się nim podzielić.

Instalator Kinto po prostu używa Pythona do przeprowadzenia wstępnej instalacji, po czym jest to tylko usługa systemowa, bash, xprop, setxkbmap i xkbcomp. Moim zdaniem jest to najszybsze i najbardziej natywne rozwiązanie tego problemu.

https://github.com/rbreaves/kinto

https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0

Oto także Gist, jeśli chcesz po prostu zobaczyć, co jest w centrum tego wszystkiego, nie zmieni naprzemiennie mapy klawiszy, gdy zajdzie taka potrzeba. Gist nie obejmuje również niestandardowych plików map klawiszy xkb, które konfigurują kursory w stylu macOS / manipulacje słowne wykorzystujące Cmd i klawisze strzałek.

https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb

treść merytoryczna

# permanent apple keyboard keyswap
echo "options hid_apple swap_opt_cmd=1" | sudo tee -a /etc/modprobe.d/hid_apple.conf
update-initramfs -u -k all

# Temporary & instant apple keyboard keyswap
echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd

# Windows and Mac keyboards - GUI (Physical Alt is Ctrl, Physical Super is Alt, Physical Ctrl is Super)
setxkbmap -option;setxkbmap -option altwin:ctrl_alt_win

# Windows and Mac keyboards - Terminal Apps (Physical Alt is Super, Physical Super is Alt, Physical Ctrl is Ctrl)
setxkbmap -option;setxkbmap -option altwin:swap_alt_win

#
# If you want a systemd service and bash script to help toggle between
# GUI and Terminal applications then look at project Kinto.
# https://github.com/rbreaves/kinto
#
# Note: The above may not work for Chromebooks running Linux, please look
# at project Kinto for that.
#
# If anyone would like to contribute to the project then please do!
#
R Ben R.
źródło
Nie zamieszczaj tej samej odpowiedzi na wiele pytań. Jeśli te same informacje naprawdę odpowiadają na oba pytania, to jedno pytanie (zwykle nowsze) powinno zostać zamknięte jako duplikat drugiego. Możesz to wskazać, głosując, aby zamknąć go jako duplikat lub, jeśli nie masz wystarczającej reputacji, podnieść flagę wskazującą, że jest to duplikat. W przeciwnym razie dostosuj swoją odpowiedź do tego pytania i nie wklejaj tej samej odpowiedzi w wielu miejscach.
DavidPostill
2
Gdybym myślał, że mógłbym dodać coś istotnego do pytania zadanego przez dopasowanie odpowiedzi, zrobiłbym to. Ogólnie rzecz biorąc, jest to dość częste pytanie i wszyscy dość dobrze dzielą tę samą odpowiedź. Tak czy inaczej, nie byłem świadomy zasad, aby albo oflagować, albo zamknąć duplikaty pytań. Będę o tym pamiętać na przyszłość.
R Ben R