Comment mater le clavier sous Linux?

Retour à la page Systèmes

Motivation

Il y en a marre! A chaque fois que j'omets un malheureux paramètre de clavier lors de l'installation de mon Linux, c'est la croix et la banière pour retrouver un réglage correct

Donc plutôt que de râler jusqu'à la fin des temps, voici un petit espace pour décrire les manips les plus utiles...au moins dans le cas de ma config perso.

Cet article a été entamé le 10/3/2013 sur une distribution Fedora 18 avec un bureau GNOME 3.6.

Beaucoup des docs ou des liens ne sont plus à jour. Vous êtes donc fortement incités à:

  • Vérifier que les répertoires, fichiers, etc. cités existent bien.
  • Consulter les pages man ou info des commandes citées pour voir si elles ne comporteraient pas des informations plus à jour pour votre système.

Le kit de survie AZERTY-QWERTY

Bon, ça boote et le clavier est en vrac. Que faire? Dans l'immédiat on va d'abord s'occuper d'arriver à taper les commandes, puis on indiquera temporairement au système que l'on a un clavier français. Ensuite on sera à l'aise pour éditer comme il faut les bons fichiers de configuration.

Les utilisateurs francophones se retrouvent souvent avec un clavier configuré en QWERTY, alors que leurs petits doigts disposent d'un AZERTY. Voici alors comment produire les symboles à problème les plus courants:

Symbole Touche
A       Q
Q       A
W       Z
Z       W
M       , ou ;
:       shift-M
.       .
/       !
|       *

A présent cela devrait mieux aller et vous devriez pouvoir taper les commandes pour la suite.

Console et clavier

Si vous êtes en mode console sans X, et si votre clavier fait vraiment n'importe-quoi:

$ kbd_mode -a

NB: comment vérifier que vous êtes bien en mode "console"? En général ceci correspond au "run-level" 3. On peut vérifier cette valeur par:

$ who -r
         run-level 3  2013-03-10 14:18                   last=3

La console s'adresse au noyau pour connaître les touches. Il suffit alors d'indiquer un modèle de clavier tout préparé au noyau en question:

$ loadkeys azerty
$ loadkeys fr-latin1

NB: si vous avez un message "Couldn't get a file descriptor referring to the console" c'est sans doute que vous n'êtes PAS en mode console: vérifiez donc le run-level par la commande who dont on vient de parler.

La commande loadkeys charge alors un fichier présent dans un sous-répertoire de:

/lib/kbd/keymaps

Pour rendre le choix du clavier permanent, il faut éditer le fichier de configuration approprié:

$ vi /etc/vconsole.conf

... et y changer le nom du mappage par défaut:

KEYMAP="fr-latin1"

Attention, ce fichier est ignoré si l'option est passée au noyau lors du démarrage, i.e. si votre bootloader préféré comporte une ligne du style:

linux ... vconsole.keymap=us ...

Environnement X et clavier

Les liens évoqués précédemments montrent que X boycotte les mécanismes du noyau en ce qui concerne le clavier.

Le comportement dépend alors de vos paramètres X, voire de votre environnement de bureau préféré.

Si vous êtes en mode graphique sous X, ouvrez un terminal et tapez:

$ setxkbdmap fr

Voici votre clavier revenu à de meilleurs sentiments ... pour la session courante. Pour les suivantes, les réglages dépendront énormément de votre environnement favori.

En ce qui me concerne sous gnome 3.6:

  • "System settings"-->"Region & Language"-->"Input sources"
  • Cliquer sur "+" si votre source n'est pas citée

Il semble même que gnome 3.6 "écrase" les réglage par défaut de X déterminés dans

/etc/X11/xorg.conf

(voir la page man de xorg.conf pour s'en assurer ... aujourd'hui j'ai la flemme).

Pour aller plus loin

Commencer, déjà, par regarder les pages man des commandes concernées:

$ man loadkeys
$ man keymaps
$ man xorg.com

Regarder également les fichiers de configuration des répertoires indiqués:

/lib/kbd/keymaps
/etc/X11

On peut avoir besoin de: