Est-il possible d'échanger le Shift gauche et la gauche CTRL clés utilisant setxkbmap
au lieu de xmodmap
?
MODIFIER
Je suis passé à Fcitx, qui fonctionne bien mieux avec la disposition de mon clavier et ma configuration de clavier personnalisée qu'IBus à tous égards. Je le recommande vivement.
Réponse acceptée :
xmodmap
est obsolète ; donc effectivement il faut le faire avec le xkb
outils.
Le swap que vous voulez ne semble pas être inclus par défaut avec les fichiers X11 ; vous devez donc l'écrire vous-même.
La page https://web.archive.org/web/20170825051821/http://madduck.net/docs/extending-xkb/ m'a aidé à comprendre et à trouver un moyen de le faire.
Créer un fichier ~/.xkb/keymap/mykbd
où vous mettez la sortie de setxkbmap
, ce sera la définition de votre clavier de base ; ex :
setxkbmap -print > ~/.xkb/keymap/mykbd
ensuite, créez un fichier de symboles pour définir votre échange de clés, placez-le par exemple dans ~/.xkb/symbols/myswap
là, mettez les lignes suivantes :
partial modifier_keys
xkb_symbols "swap_l_shift_ctrl" {
replace key <LCTL> { [ Shift_L ] };
replace key <LFSH> { [ Control_L ] };
};
puis éditez le ~/.xkb/keymap/mykbd
fichier et modifiez le xkb_symbols
ligne à ajouter
+myswap(swap_l_shift_ctrl)
enfin, vous pouvez le charger avec xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
(vous ne pouvez pas utiliser "~" pour le -I
paramètre).
Il crachera probablement beaucoup d'avertissements sur les symboles indéfinis pour certaines clés rares, mais vous pouvez les ignorer (par exemple, rediriger l'erreur vers dave :2> /dev/null
).
Si vous voulez pouvoir basculer facilement entre un ctrl/shift normal et votre ctrl/shift inversé ; créez simplement sous ~/.xkb/keymap/
un autre fichier, sans l'option supplémentaire "myswap", et chargez-le avec xkbcomp
. Vous pouvez créer deux petits scripts pour les charger.