web-dev-qa-db-fra.com

Comment changer la touche de commande et la touche de contrôle sur un MacBook Pro?

J'ai parcouru le Web et je n'arrive pas à faire en sorte que Xmodmap ou quoi que ce soit fonctionne correctement. Je veux échanger À LA FOIS mes clés de commande avec ma clé de contrôle - pour l’inverse, inverser ce qu’elles font actuellement.

Comment je ferais ça?

J'ai essayé xmodmap -e "keycode 133 = Control_L" et les commandes correspondantes pour les codes clés 134 (commande à droite) et 37 (commande à gauche). J'ai même essayé ces commandes, plus xmodmap -pke > ~/.Xmodmap et xmodmap ~/.Xmodmap dans .xinitrc.

Mon objectif final est Je veux que HUD/Dash apparaisse lorsque je clique sur control et command au contrôle fonctionnel, c.-à-d., control-v est un raccourci commun à coller, je clique sur command-v.

59
kalaracey

Je l'ai compris. Mettez ce qui suit dans ~/.Xmodmap:

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
add mod4 = Super_L

Pour tester, exécutez la commande:

xmodmap ~/.Xmodmap

Pour le faire fonctionner à chaque fois, ajoutez-le aux applications de démarrage.

Cela devrait fonctionner sur n'importe quel MacBook Pro. le problème était que Xmodmap affectait Super_L aux touches de commande gauche et droite et Control_L à la touche de contrôle gauche. Pour certaines raisons, par défaut, Ubuntu pense que le MacBook Pro possède un clavier standard à 105 touches (pensant probablement au clavier complet Apple Keyboard), mais cela est faux. Quoi qu'il en soit, j'ai réaffecté les codes de clé aux bons clés, puis les ai attribués à control et mod4.

63
kalaracey

Je viens d'installer Ubuntu 16.04 dual boot sur mon MBP13 "hier. Pour Ubuntu 16.04, voici comment je l'ai fait:

Étape 1: lancement du terminal

Étape 2: Modifier l'extension du clavier X

Sudo nano /usr/share/X11/xkb/symbols/pc

Étape 3: Apportez les modifications suivantes. Assurez-vous que votre fichier ressemble à ceci:

key <LCTL> {    [ Super_L       ]   };
key <LWIN> {    [ Control_L     ]   };

...

key <RCTL> {    [ Super_R       ]   };
key <RWIN> {    [ Control_R     ]   };

Étape 4: Vider le cache de xkb

Sudo rm -rf /var/lib/xkb/*

Étape 5 (conditionnelle): Si les clés ne sont pas échangées après l'étape 4, redémarrez votre ordinateur. Cela a fonctionné pour moi après cela.

J'espère que ça aide, bonne chance!

30
clodal

Allez dans System -> Preferences -> Keyboard

Cliquez sur l'onglet "Layouts" puis sur le bouton "Layout Options".

Cliquez sur "Comportement de la touche Alt/Win"

Sélectionnez "Le contrôle est associé aux touches Windows (et à la touche Ctrl habituelle).

de http://ubuntuforums.org/showthread.php?t=1293081

15
alex reska

Allez dans les paramètres du système, puis dans la disposition du clavier, puis dans les options, puis sur le comportement de la touche Win/Alt, puis cochez la case "Meta switches Ctrl" puis, dans la position Ctrl, cochez "Ctrl switches Meta" et le tour est joué!

sur 12.04.1 vous changez cela en:

Tout d'abord, allez dans "Paramètres système" puis cliquez sur "Clavier" puis "Paramètres de mise en page" (en bas à gauche), puis "Options" en bas à droite, puis développez l'onglet "Comportement de la touche Alt/Win", puis en sélectionnant " Le contrôle est mappé pour gagner des clés (et les touches Ctrl habituelles) "

6
TenorB

Les claviers page d'aide de la communauté Ubunt pour Apple donnent les étapes suivantes pour appliquer ce changement de façon permanente: (testé le 2017-05-27)

Exécutez la commande suivante pour ajouter la ligne de configuration au fichier /etc/modprobe.d/hid_Apple.conf en le créant si nécessaire:

echo options hid_Apple swap_opt_cmd=1 | Sudo tee -a /etc/modprobe.d/hid_Apple.conf

Déclencheur copiant la configuration dans le fichier de démarrage initramfs.

Sudo update-initramfs -u -k all

Éventuellement, redémarrez

Sudo reboot

Pour le tester temporairement, vous pouvez exécuter

echo 1 | Sudo tee /sys/module/hid_Apple/parameters/swap_opt_cmd
5
RasmusWL

Mis à jour pour 18.04 car aucune des réponses fournies ne semblait fonctionner sur mon système. J'ai effectué une nouvelle installation du 18.04 et essayé d'utiliser un clavier câblé en aluminium Apple. Le comportement par défaut de Left Super sur l'anglais américain est mappé sur Gnome Desktop Dashboard. Outil Tweak avait tous les paramètres nécessaires dans une interface graphique facile à utiliser!

Sudo apt install gnome-Tweak-tool

J'ai tout d'abord échangé le touche de raccourci du tableau de bord sur le côté droit , puis sous "Options de disposition supplémentaires", vous pouvez utiliser "Position Ctrl/ Permuter la victoire à gauche avec la touche Ctrl gauche " à bon escient.

4
Dan Rozelle

Dupliquer de Comment permuter les touches de commande et de contrôle avec xkb pas à pas?

En 16.04, voici comment j'ai finalement réussi à faire fonctionner cela. Xmodmap ne fonctionne pas universellement dans toutes les applications, l'outil gnome Tweak manquait de la fonction, la modification par dconf d'un échange de clé altwin2 personnalisé (comme la réponse principale ici) a échoué; , et solution élégante:

gksudo gedit /usr/share/X11/xkb/symbols/pc

changez le en:

default  partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {

key <ESC>  {    [ Escape        ]   };

// The extra key on many European keyboards:
key <LSGT> {    [ less, greater, bar, brokenbar ] };

// The following keys are common to all layouts.
key <BKSL> {    [ backslash,    bar ]   };
key <SPCE> {    [    space      ]   };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {    [ BackSpace, BackSpace  ]   };

key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
key <RTRN> {    [ Return        ]   };

key <CAPS> {    [ Caps_Lock     ]   };
key <NMLK> {    [ Num_Lock      ]   };

key <LFSH> {    [ Shift_L       ]   };
key <LCTL> {    [ Alt_L     ]   };
key <LWIN> {    [ Super_L       ]   };

key <RTSH> {    [ Shift_R       ]   };
key <RCTL> {    [ Alt_R     ]   };
key <RWIN> {    [ Super_R       ]   };
key <MENU> {    [ Menu          ]   };

// Beginning of modifier mappings.
modifier_map Shift  { Shift_L, Shift_R };
modifier_map Lock   { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2   { Num_Lock };
modifier_map Mod4   { Super_L, Super_R };

// Fake keys for virtual<->real modifiers mapping:
key <LVL3> {    [ ISO_Level3_Shift  ]   };
key <MDSW> {    [ Mode_switch       ]   };
modifier_map Mod5   { <LVL3>, <MDSW> };

key <ALT>  {    [ NoSymbol, Control_L, Control_R    ]   };
//include "altwin(meta_alt)"
key <LALT> {    [ Control_L     ]   };
key <RALT> {    [ Control_R     ]   };
modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };

key <META> {    [ NoSymbol, Meta_L, Meta_R  ]   };
modifier_map Mod1   { <META> };

key <SUPR> {    [ NoSymbol, Super_L ]   };
modifier_map Mod4   { <SUPR> };

key <HYPR> {    [ NoSymbol, Hyper_L ]   };
modifier_map Mod4   { <HYPR> };
// End of modifier mappings.

key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_symbols "editing" {
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <SCLK> {    [  Scroll_Lock      ]   };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key  <INS> {    [  Insert       ]   };
key <HOME> {    [  Home         ]   };
key <PGUP> {    [  Prior        ]   };
key <DELE> {    [  Delete       ]   };
key  <END> {    [  End          ]   };
key <PGDN> {    [  Next         ]   };

key   <UP> {    [  Up           ]   };
key <LEFT> {    [  Left         ]   };
key <DOWN> {    [  Down         ]   };
key <RGHT> {    [  Right        ]   };
};

Sauvegarder.

rm -rf /var/lib/xkb/*

(Je ne sais pas si cela est nécessaire, mais je l'ai fait.)

Redémarrez.

1
Tom Mercer