Imiter les touches de commande / alt / contrôle de style Mac sous Linux

14

J'aime absolument que Mac sépare la touche de commande de la touche de contrôle, permettant aux raccourcis OS et aux raccourcis texte de coexister. C'est incroyablement utile, surtout parce qu'il permet des raccourcis emacs partout .

J'ai cherché presque partout un type d'utilitaire qui peut permettre cela et ne trouve rien. De l'aide?

Remarque: je veux faire plus que simplement remapper mon clavier. Je veux réellement diviser les raccourcis OS et les raccourcis texte. La seule façon dont je peux voir cela est de parcourir manuellement chaque raccourci dans Gnome et Compiz et de le changer.

Kenrick Rilee
la source

Réponses:

2

Je n'ai pas essayé moi-même mais j'ai trouvé ceci sur "Ask Ubuntu":

Installez AutoKey:

apt-get install autokey-gtk

et définissez une phrase pour:

Phrase Text: <ctrl>+C (actually type out the <ctrl>+ here)
Paste Using: Keyboard
Abbreviation: None
Hotkey: <super>+v
Window Filter: None

Voir ici: Comment faire fonctionner le clavier comme OSX System Wide?

Théorien
la source
0

Mise à jour 02/03/2020

Kinto a maintenant été réécrit en C pour les systèmes Ubuntu / Debian utilisant x11. Il utilise également des fichiers de configuration json, ce qui facilite la gestion et l'extension à d'autres applications que les simples terminaux. L'application ne correspond plus à Super dans les applications Terminal, elle sera désormais correctement associée à Ctrl + Maj pour créer exactement la même sensation que d'avoir une clé Cmd.

Veuillez vérifier la dernière version. https://github.com/rbreaves/kinto

Le principal changement pour permettre le changement Super = Ctrl + Maj se trouve dans ce fichier de symboles.

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) ]
    };
};

Vous pouvez trouver Kinto utile. C'est un projet que j'ai récemment créé, après quelques années de lutte contre ce problème de différentes manières et j'ai maintenant l'impression qu'il est assez solide pour être partagé.

Le programme d'installation de Kinto utilise simplement python pour effectuer l'installation initiale, après quoi ce n'est qu'un service systemd, bash, xprop, setxkbmap et xkbcomp. En ce qui me concerne, c'est la solution la plus rapide et la plus native à ce problème que vous allez trouver.

https://github.com/rbreaves/kinto

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

Voici également un résumé, si vous voulez simplement voir ce qui est au cœur de tout cela, il n'alternera pas votre carte de touches en cas de besoin. Le Gist n'inclut pas non plus de fichiers de clavier xkb personnalisés qui configurent des curseurs de style macOS / des manipulations de mots qui utilisent Cmd et les touches de direction.

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

contenu essentiel

# 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
la source
Veuillez ne pas poster la même réponse à plusieurs questions. Si la même information répond vraiment aux deux questions, alors une question (généralement la plus récente) doit être fermée en double de l'autre. Vous pouvez l'indiquer en votant pour le fermer comme doublon ou, si vous n'avez pas assez de réputation pour cela, lever un drapeau pour indiquer qu'il s'agit d'un doublon. Sinon, adaptez votre réponse à cette question et ne collez pas simplement la même réponse à plusieurs endroits.
DavidPostill
1
Si je pensais que j'aurais pu ajouter quelque chose de substantiel à la question posée en adaptant la réponse, je l'aurais fait. Dans l'ensemble, c'est une question assez courante et ils partagent tous assez bien la même réponse. Quoi qu'il en soit, je n'étais pas au courant de la politique pour signaler ou fermer les questions en double. Je garderai cela à l'esprit pour l'avenir.
R Ben R