Il peut arriver que l'on souhaite que la touche Verr. Maj (Caps Lock) se comporte comme la touche Maj mais sans avoir à rester appuyer sur la touche pour pouvoir utiliser les chiffres. En effet, sur Ubuntu lorsque l'activation de la touche Verr. Maj permet d'écrire les caractères accentués en majuscule (é donnera É par exemple) mais pas du tout d'écrire les chiffres de 1 à 9. Pour ces derniers il faut généralement utiliser la combinaison Maj + chiffre. Voici comment procéder.
Cette approche a été testée sur :
La méthode consiste à modifier 2 fichiers de configuration.
Pour cela vous pouvez soit utiliser votre éditeur de texte en ligne de commande ou bien votre éditeur de texte graphique.
sudo nom_de_l_editeur_de_texte /usr/share/X11/xkb/symbols/fr
Avec kate par exemple :
sudo kate /usr/share/X11/xkb/symbols/fr
Il faudra ensuite simplement insérer la ligne
include "mswindows-capslock"
en début de fichier juste en dessous de la ligne
include "latin"
Ce qui donne
default partial alphanumeric_keys xkb_symbols "basic" { include "latin" include "mswindows-capslock" [...]
Il faudra alors enregistrer et quitter le fichier.
On commence par créer ce fichier
sudo kate /usr/share/X11/xkb/symbols/mswindows-capslock
Puis il faudra insérer les lignes suivantes dans le fichier texte vide qui s'est ouvert
// Replicate a "feature" of MS Windows on AZERTY keyboards // where Caps Lock also acts as a Shift Lock on number keys. // Include keys <AE01> to <AE10> in the FOUR_LEVEL_ALPHABETIC key type. partial alphanumeric_keys xkb_symbols "basic" { key <AE01> { type= "FOUR_LEVEL_ALPHABETIC", [ ampersand, 1, bar, exclamdown ] }; key <AE02> { type= "FOUR_LEVEL_ALPHABETIC", [ eacute, 2, at, oneeighth ] }; key <AE03> { type= "FOUR_LEVEL_ALPHABETIC", [ quotedbl, 3, numbersign, sterling ] }; key <AE04> { type= "FOUR_LEVEL_ALPHABETIC", [apostrophe, 4, onequarter, dollar ] }; key <AE05> { type= "FOUR_LEVEL_ALPHABETIC", [ parenleft, 5, onehalf, threeeighths ] }; key <AE06> { type= "FOUR_LEVEL_ALPHABETIC", [ section, 6, asciicircum, fiveeighths ] }; key <AE07> { type= "FOUR_LEVEL_ALPHABETIC", [ egrave, 7, braceleft, seveneighths ] }; key <AE08> { type= "FOUR_LEVEL_ALPHABETIC", [ exclam, 8, bracketleft, trademark ] }; key <AE09> { type= "FOUR_LEVEL_ALPHABETIC", [ ccedilla, 9, braceleft, plusminus ] }; key <AE10> { type= "FOUR_LEVEL_ALPHABETIC", [ agrave, 0, braceright, degree ] }; };
Enregistrer et quitter le fichier.
Une fois le pc redémarré, les changements devraient être effectifs.
Pour réaliser l'édition rapidement, coller ce code en tant qu'utilisateur root.
# Insérer à la ligne 5 sed -i '5i include "mswindows-capslock"' /usr/share/X11/xkb/symbols/fr # Génération du fichier echo "// Replicate a \"feature\" of MS Windows on AZERTY keyboards // where Caps Lock also acts as a Shift Lock on number keys. // Include keys <AE01> to <AE10> in the FOUR_LEVEL_ALPHABETIC key type. partial alphanumeric_keys xkb_symbols \"basic\" { key <AE01> { type= \"FOUR_LEVEL_ALPHABETIC\", [ ampersand, 1, bar, exclamdown ] }; key <AE02> { type= \"FOUR_LEVEL_ALPHABETIC\", [ eacute, 2, at, oneeighth ] }; key <AE03> { type= \"FOUR_LEVEL_ALPHABETIC\", [ quotedbl, 3, numbersign, sterling ] }; key <AE04> { type= \"FOUR_LEVEL_ALPHABETIC\", [apostrophe, 4, onequarter, dollar ] }; key <AE05> { type= \"FOUR_LEVEL_ALPHABETIC\", [ parenleft, 5, onehalf, threeeighths ] }; key <AE06> { type= \"FOUR_LEVEL_ALPHABETIC\", [ section, 6, asciicircum, fiveeighths ] }; key <AE07> { type= \"FOUR_LEVEL_ALPHABETIC\", [ egrave, 7, braceleft, seveneighths ] }; key <AE08> { type= \"FOUR_LEVEL_ALPHABETIC\", [ exclam, 8, bracketleft, trademark ] }; key <AE09> { type= \"FOUR_LEVEL_ALPHABETIC\", [ ccedilla, 9, braceleft, plusminus ] }; key <AE10> { type= \"FOUR_LEVEL_ALPHABETIC\", [ agrave, 0, braceright, degree ] }; };" > /usr/share/X11/xkb/symbols/mswindows-capslock;
Il s'agit en quelque sorte du revers de la médaille. Une des solution consiste à switcher entre plusieurs dispositions de clavier (par exemple la disposition belge) une que l'on utilisera pour les majuscules accentuées et une autre pour les chiffres en fonction des besoins.