Je configure actuellement ma disposition de clavier par défaut comme ceci:
setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]
Il désactive la touche de verrouillage des majuscules et en fait une touche ctrl supplémentaire, ainsi qu'un essaim d'autres options.
Je voudrais faire ce qui suit pour changer les dispositions du clavier:
setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps
Cependant, il ne réactive pas la touche de verrouillage des majuscules; la touche de commande gauche et le verrouillage des majuscules restent des touches de commande pour autant que je puisse voir.
Je sais que je peux effacer toute la liste des options, mais dans l'intérêt de la maintenabilité, je préfère ne pas copypaste les options autour. Comment réactiver le verrouillage des majuscules?
Mise à jour:
En regardant les touches avec xev (1), il apparaît ctrl: nocaps donne un Control_L
pour les deux touches, et ctrl: swapcaps "restaure" la touche de verrouillage des majuscules (en appuyant sur la touche donne Caps_Lock
). Cependant, la LED de verrouillage des majuscules ne s'allume pas et ne fonctionne pas réellement.
L'examen du xkeyboard-config/symbols/ctrl
fichier dans les sources X.org fait allusion au problème:
xkb_symbols "nocaps" {
replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
replace key <CAPS> { [ Control_L ] };
replace key <LCTL> { [ Caps_Lock ] };
};
Cette dernière option n'a pas de ligne modifier_map, quoi que cela fasse
la source
Réponses:
Les commandes suivantes devraient fonctionner:
ou
Les commandes ci-dessus fonctionnent très bien pour restaurer le comportement par défaut, dont je n'ai presque jamais besoin, heureusement.
Je remappe normalement le verrouillage des majuscules à Control (heureusement, VI / VIM prend en charge CTRL-C au lieu de ESC) avec la commande suivante:
la source
Essayer
setxkbmap -option -layout us -variant dvorak-l -option ctrl:swapcaps
Depuis la page de manuel:
L'ironie, c'est qu'ici l'
-option ctrl:swapcaps
emporte réellement-option ctrl:nocaps
- je suppose que le comportement a changé.Edit: Comme l'OP l'a déclaré, il veut éviter d' effacer les options (comme cela est fait de la manière ci-dessus).
/usr/share/X11/xkb/rules/xorg.lst
montre l'optionctrl:aa_ctrl
(contrôle en bas à gauche), qui semble réinitialiser le verrouillage des majuscules aprèsnocaps
ici.Je suppose que cela vaut la peine d'essayer, et vous pouvez également consulter la liste (
grep ctrl\:
) et voir s'il y a quelque chose d'autre qui pourrait fonctionner, au cas où celui-ci ne fonctionnerait pas.S'il n'y a pas d'option pour cela, je suppose que la solution est de pirater le clavier actuel, en associant à nouveau le verrouillage des majuscules à la touche de verrouillage des majuscules (mais je n'ai pas d'expérience avec cela, à part croire qu'il existe un outil qui vous permet de faire avec une doublure).
la source
swapcaps
réactiver le verrouillage des majuscules ici), mais à partir de/usr/share/X11/xkb/rules/xorg.lst
, je vois qu'il y a l'optionctrl:aa_ctrl
(contrôle en bas à gauche), qui semble réinitialiser le verrouillage des majuscules aprèsnocaps
ici.xmodmap
mais je ne sais pas trop comment l'utiliseril y a une option "caps: capslock" (qui correspond à l'ajout de "+ capslock (capslock)" à xkb_symbols) qui active le capslock.
Cependant, cette option (peut-être toutes les majuscules: xxxxx?) Est ajoutée avant celles ctrl: xxxxx existantes; comme ctrl: swapcaps redéfinit la touche majuscule, cette option n'a aucun effet.
Donc, vous devez absolument supprimer toutes les options et mettre celles que vous souhaitez; la façon dont les options existent, elles ne sont pas censées annuler l'action d'une précédente, et ayant des options conflictuelles (par exemple, deux (ou plus) qui affinent une même clé), vous ne pouvez pas définir leur ordre.
la source