Je souhaite utiliser mes longs clavier Apple en aluminium avec les touches de commande Cmd
et Control Ctrl
permutées. Comment cela se fait-il étape par étape sur Trusty Tahr (14.04) en utilisant xkb
?
Remarque: This la solution ne fonctionne pas pour moi car xkb
a remplacé xmodmap
dans 13.04 ou même plus tôt .
Cette réponse est principalement basée sur la réponse donnée ici . La raison pour laquelle je pose encore une fois cette question est la dernière étape, qui n’a pas été décrite en détail. Pour en savoir plus sur xkb
look here , here , et here .
Créez un fichier dans /usr/share/X11/xkb/symbols
(qui pourrait aussi l'être dans /etc/X11/xkb/symbols
) appelé altwin2
et contenant le mappage suivant:
// Control is SWAPPED with Win-keys
partial modifier_keys
xkb_symbols "cmd_n_ctrl" {
key <LWIN> { [ Control_L ] };
key <RWIN> { [ Control_R ] };
key <LCTL> { [ Super_L ] };
modifier_map Control { <LWIN>, <RWIN> };
modifier_map Mod4 { <LCTL> };
};
Insérez la ligne suivante sous la section options = symbols
dans /usr/share/X11/xkb/rules/evdev
(ne tenez pas compte de l'avertissement de la première ligne):
altwin2:cmd_n_ctrl = +altwin2(cmd_n_ctrl)
Ajoutez la nouvelle option à /usr/share/X11/xkb/rules/evdev.lst
dans la section des options:
altwin2:cmd_n_ctrl Win swapped with Ctrl
Si vous ne savez pas où se trouve votre fichier de configuration du clavier, vous pouvez le modifier en utilisant dconf-editor , en ajoutant "altwin2:cmd_n_ctrl"
à xkb-options
sous org :: gnome :: desktop :: input-sources comme indiqué ici . Si vous savez où se trouve votre fichier de configuration, vous devez inclure la nouvelle option dans le champ XkbOptions
name__, comme indiqué ci-dessous:
Section "InputClass"
Identifier "keyboard-layout"
Driver "evdev"
MatchIsKeyboard "yes"
Option "XkbLayout" "us, ru, ca, fr"
Option "XkbOptions" "altwin2:cmd_n_ctrl"
EndSection
Redémarrez ou redémarrez lightdm
pour mettre à jour les modifications:
Sudo restart lightdm
REMARQUE: si des modifications sont apportées directement dans les fichiers de mise en page, c'est-à-dire si vous n'utilisez pas d'options, les fichiers mis en cache dans /var/lib/xkb/
doivent être supprimés comme indiqué ici .
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.