Au risque d'exprimer mon opinion personnelle et de sortir de
la masse, je tiens à profiter de ce billet pour exprimer ma
haine envers la touche CAPS_LOCK. Combien de
fois vous êtes vous fait avoir à taper un texte avec ce
modifieur, et à ne pas pouvoir le repasser en lower-case ?
Certes, si l'on utilise un éditeur de texte tel Word, Kate,
Notepad++ ou autres, des raccourcis existent (respectivement
ctrl+F3 et ctrl-U), mais dans la plupart des cas on est bon
pour retaper le texte. Horreur et damnation, la hantise de
tout fainéant qui se respecte.
Sérieusement, qui se sert de cette touche, à part les Kikoolol
qui aiment hurler leur incompétence sur tous les forums et
autres skymerdes ?
Au pire, il faut marquer un mot en majuscule (pour le SQL par
exemple), et la touche majuscule suffit amplement. Voyons donc
comment désactiver ce reliquat inexpugnable des temps
anciens...
Désactiver Caps Lock
Il existe un petit utilitaire fort sympathique sous Linux qui
gère tous les modifieurs du clavier. Si vous travaillez sur
des serveurs distants, vous le connaissez peut être : il
s'agit de xmodmap.
Ouvrez un terminal et marquez xmodmap, vous devriez
avoir quelque chose de ce genre qui s'affiche :
neamar@neamar-laptop:~$ xmodmap xmodmap: up to 2 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Vous l'aurez compris, le but va être de supprimer la ligne
lock Caps_Lock (0x42).
xmodmap permet, comme vous vous en doutez, de
modifier ces mappings de touche. Il faut pour cela utiliser
l'option -e suivie de la commande à exécuter.
Je vous laisse vous reporter à man xmodmap pour plus
de détails.
Exécutons donc la commande pour supprimer Caps Lock :
neamar@neamar-laptop:~$ xmodmap -e "remove Lock = Caps_Lock"
Et voilà ! Appuyez maintenant sur votre touche... miracle ! La petite LED ne s'allume plus, et vous continuez d'écrire comme une personne civilisée !
Désactiver Caps Lock définitivement
Fin de la tyrannie du Caps Lock ? Hélas, non ! Car le modifieur que nous venons de faire ne s'applique que pour cette section. Pour le rendre permanent, il va donc falloir l'exécuter en début de session.
Ici, chacun pourra utiliser la méthode qu'il souhaite. Personnellement, j'ai un faible pour le @REBOOT du crontab, c'est donc la méthode que je détaillerai ici.
Pour ceux qui ne le savent pas, crontab est un
utilitaire pour planifier des tâches régulières ; par exemple
la sauvegarde d'un dossier tous les jours à 18h, et à 12h les
samedis et dimanche. Un outil puissant, qui peut aussi
exécuter des scripts au reboot.
Pour commencer, tapez la commande suivante :
neamar@neamar-laptop:~$ crontab -e
Rajoutez le code suivant à l'intérieur du fichier :
#Désactiver cette saleté de caps lock dès le démarrage. #La touche reste quand même active, elle n'a juste plus l'effet capitalize @reboot xmodmap -e "remove Lock = Caps_Lock" >>/dev/null/
Un petit Ctrl-X, "O" pour enregistrer... et voilà ! Vérifiez que tout a bien été sauvegardé avec crontab -l, et cette fois c'en est fini de la touche maudite ! Supprimé, le Caps Lock, enfin !
Pour aller plus loin...
Comme précisé dans les commentaires, seul l'effet Lock est
désactivé : la touche reste donc parfaitement viable. Vous
pouvez par exemple vous en servir comme raccourci clavier (ça
fait une touche gratuite), comme touche hôte pour une machine
virtualisée...
Et si de temps en temps vous avez vraiment besoin d'un
caps_lock, vous pouvez affecter une autre touche à l'effet
Lock : faite juste attention à choisir une touche que vous
n'enclencherez pas par erreur (il suffit de remplacer le
remove par add) !