Mise à jour : Debian Buster / sid
Pour passer le clavier en mode azerty (fr) :
$ setxkbmap fr
Pour passer le clavier en mode azerty (us) :
$ setxkbmap us
Repris de Suppression caractères parasites
La combinaison de touches ( AltGr + Espace ) délivre un caractère appelé no-break space. Ce caractère est affiché comme un Espace, mais sont code (0xc2 0xa0) est différent de celui du caractère espace (0x20). Dans une commande bash par exemple, ces caractères seront interprétés différemment
$ [[ 0 = 0 ]] && echo "frappe correcte"
frappe correcte
$ [[ 0 = 0 ]] && echo "frappe incorrecte"
[[ 0: command not found
Afin d'éviter cette erreur, on se propose ici de modifier le code émis par la combinaison de touche AltGr + Espace, pour que le code émis soit un espace.
- Code du caractère espace
$ showkey -a
Appuyer sur n'importe quelle touche. Ctrl-D mettra fin au programme
32 0040 0x20
- Code du carctère no-break espace (AltGr + Espace)
$ showkey -a
Appuyer sur n'importe quelle touche. Ctrl-D mettra fin au programme
194 0302 0xc2
160 0240 0xa0
- En utlisant hexdump
$ echo " " |hexdump -C
00000000 20 0a | .|
$ echo " " |hexdump -C
00000000 c2 a0 0a |...|
$ xmodmap -pke |grep space
keycode 65 = space space space space nobreakspace NoSymbol nobreakspace
Pour supprimer la combinaison nobreakspace, créer un fichier utilisateur ~/.Xmodmap contenant
keycode 65 = space space space space space NoSymbol space
Cette modification du "mappage" du clavier sera prise en compte à chaque lancement de la session de l'utilisateur.