Linux console (Français)/Keyboard configuration (Français) - ArchWiki

Jump to content

# Linux console (Français)/Keyboard configuration (Français)

From ArchWiki

Related articles

- Xorg (Français)/Keyboard configuration (Français)
- Keyboard input
- Linux console#Fonts

La traduction de cet article ou section ne reflète pas le texte original.

Raison: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir ArchWiki:Translation Team (Français) (Discuss in Talk:Linux console (Français)/Keyboard configuration (Français)#)

Dès le chargement du noyau, une disposition de clavier peut être exportée par l'intermédiaire de variables d'environnement. Plus tard, c'est Systemd, qui initialisera la console, et définira la configuration d'après le fichier `/etc/vconsole`.

## Changement « à la volée »

Note: le petit « fr » que l'on retrouve dans les deux exemples de commande suivants correspond à un mapping, adaptez celui-ci à vos besoin. Voir ci dessous #Obtenir la liste des dispositions disponibles.

La commande `loadkeys`, exécutée en root, permet de charger un nouveau clavier :

    loadkeys fr

Le changement prend effet immédiatement et perdure après la déconnexion.

## Obtenir la liste des dispositions disponibles

Pour connaître le statut du type de clavier ainsi que les différents paramètres (comme les locales) :

    $ localectl status

Un «mapping» est un fichier de configuration du clavier, indiquant les correspondances entre les touches enfoncées et le caractère correspondant à cette touche. Ce fichier se trouve sous forme compressé en `xxxx.map.gz` dans le dopssier `/usr/share/kbd/keymaps/i386/`. Un nombre important de mappings de clavier existe, pour différentes sortes de machines, plus ou moins anciennes, plus ou moins exotiques. Voir bépo.

La liste complète peut être obtenue par :

    $ localectl list-keymaps

### Mapping français

Pour un clavier français le «traditionnel» `fr-latin1` permet de coder presque tous les accents. Son remplaçant moderne est `fr-latin9`, qui rajoute certains caractères tels que le symbole euro « € ».

Note: Latin-1 et ISO-8859-1 sont synonymes; tandis que ISO-8859-15 est équivalent à Latin9.

### Mapping US international

La configuration de vconsole est : `us-acentos` Pour charger la configuration X11 associée saisir la commande :

    $ localectl set-x11-keymap us pc105 intl

### A compléter

Attention: Les francophones hors de France devraient ajouter ici les informations qui pourraient leur être utile.

## Enregistrer une configuration

### Au moyen de Systemd

Une façon sûre et éfficace d'enregister une configuration de clavier est de passer par l'outil `localectl`, fourni par Systemd. Celui-ci:

- modifie la variable d'environnement KEYMAP,
- enregistre la variable KEYMAP dans le fichier `/etc/vconsole.conf`
- modifie la disposition du clavier sous Xorg en créant/modifiant le fichier `/etc/X11/xorg.conf.d/00-keyboard.conf`
- et enfin établie cette disposition pour la session en cours (depuis un tty)

Par exemple pour un clavier français:

    localectl set-keymap fr

### Depuis le noyau

Au démarrage, le kernel lit la variable `KEYMAP`. Par exemple:

    KEYMAP=fr-latin1

Cette variable peut être passée au noyau directement par le bootloader.

### Le fichier vconsole

Le fichier `/etc/vconsole.conf` est une interface fournie par Systemd) pour la configuration de la Console virtuelle (les consoles textes `tty1`, `tty2`, ...). La documentation complète se trouve dans le manuel: vconsole.conf(5). Même si la syntaxe de ce fichier est compatible avec un script shell, systemd n'interprète que les options suivantes:

- KEYMAP= Configure la disposition des touches du clavier. ("us" par défaut).
- KEYMAP_TOGGLE= peut être utilisée pour configurer une seconde disposition de clavier (désactivée par défaut).
- FONT=, FONT_MAP=, FONT_UNIMAP= Configure la police de la console.

Enfin, ce fichier peut être utilisé par les «hooks» `keymap` et `consolefont` lors de la génération de l'initramfs.

#### Agencement du clavier

Les agencements disponibles sont dans `/usr/share/kbd/keymaps`. Vous pouvez les lister avec :

    localectl list-keymaps

Par défaut, le clavier est en configuration us.

Pour l'établir au niveau système, vous pouvez ajouter au fichier `/etc/vconsole.conf` :

    KEYMAP=fr

Vous pouvez aussi faire les 2 avec la commande :

    localectl --no-convert set-keymap fr

Pour en changer temporairement lors d'un démarrage, il est possible de le spécifier depuis la ligne du noyau (dans le chargeur d'amorçage) :

    vconsole.keymap=fr

#### Police

Astuce: Ne pas en définir reste un bon choix.

Vous pouvez changer la police par défaut à l'aide de la commande `setfont`. Vous trouverez la liste dans `/usr/share/kbd/consolefonts`.

Au niveau système, vous pouvez rajouter au fichier `/etc/vconsole.conf` , exemple

    FONT=police
    FONT_MAP=table_de_correspondance

#### Paramètres usuels

Pays | Agencement
--- | ---
France | fr-latin9
France (Bépo) | fr-bepo
Canada (Québec) | cf
Belgique | be-latin1
Suisse | fr_CH-latin1

## Générer sa propre disposition du clavier

Il est possible de créer son propre fichier de mapping, il faut pour cela créer un fichier `.map`, soit dans `/usr/share/kbd/keymaps/"répertoire_perso"` soit simplement dans `~/`, peu importe. À ce stade, il peux être utile de s'inspirer des claviers déjà existant, en ouvrant les 'fr-latin1', 'latin9', etc.

Le principe est simple : à chaque touche correspond un scancode et à chaque scancode correspond un caractère ou une touche fonction. Les touches fonctions ont un nom de type « F32 » ; qui va permettre de remplir la table des chaines de caractères du noyau (kernel string table). Par exemple :

    keycode 67 = F10 F11
    string F10 = "Hello."
    string F11 = "Goodbye!"

affichera (le scancode 67 correspondant chez moi à la touche F9), la chaine Hello. Shift-F9, affichera quand à lui Goodbye!.

Il est possible de faire des raccourcis (plus ou moins) intéressants. Par exemple :

    keycode 68 = F12
    string F12 = "date\n"

Permet d'exécuter la commande 'date' et d'afficher le timestamp actuel.

Des mots clef existent soit pour donner plus d'informations sur le keycode considéré, soit pour donner des informations sur le caractère à afficher. Par exemple :

    altgr keycode 18 = currency

Signifie : pour le keycode 18 (correspond à la touche «e»), lorsque l'on presse aussi altgr, affiche le caractère «€».

Pour tester ce mapping :

    $loadkeys mon_mapping.map

sera suffisant. Sur la manière correcte de créer ce ficher de mapping, un man keymaps(5) ne sera pas superflu. Voir aussi, en plus, du showkeys précédent, le programme dumpkeys, qui s'avèrera très utile.

Enfin, quand le mapping est concluant, il faut mettre à jour le `KEYMAP` avec le mapping mis à jour. Cependant, comme le `KEYMAP` ne contient plus le nom du clavier d'origine, il peut être judicieux de faire un include du fichier correspondant. Par exemple, dans mon fichier de mapping personnel, il y a cet include: include "/usr/share/kbd/keymaps/i386/azerty/fr-latin1.map.gz"

Note: Il faut indiquer le chemin complet du fichier de mapping.

## La touche « compose »

La touche compose permet une combinaison de touches pour former des caractères diacritiques, notamment certains accents au-dessus de certains caractères - comme le tilde -, ou d'autres caractères Unicodes. Si cette touche peux être prévue sur certains claviers (clavier Sun, DEC...), elle n'est généralement pas prévue sur les claviers grand public. Il est néanmoins possible de la configurer, en rajoutant le keycode souhaité et indiquant `Compose` comme nom de touche dans le fichier de mapping: Ainsi :

    keycode 125 = Compose

permet d'utiliser la touche Windows comme touche compose.

La liste des touches compose peut se trouver ici `/usr/share/kbd/keymaps/include/compose.'le-type-de-mapping'` ou là `/usr/share/kbd/keymaps/include/compose.latin1`

### Compositions utiles

Si la clavier chargé au démarrage ne comporte pas certains caractères, par exemple ceux ayant des ligatures (tels que le « e dans l'o » : « œ »; ou « æ ») il peut être utile, si l'on a besoin de les utiliser souvent, de les rajouter grâce à la touche de composition. Par exemple :

    compose 'o' + 'e' to U+0153

permet d'afficher le caractère « œ », ayant le code unicode « 0153 », si l'on fait `compose` puis `o` puis `e`.

Attention: Le bon affichage du caractère - ici U+0153 - va dépendre de sa présence dans la fonte courante.

Il est possible de rajouter dans son fichier de mapping personnel des compositions supplémentaires, pour peu que la fonte courante permette d'afficher le caractère en question.

Categories:

- Keyboard configuration (Français)
- Input (Français)
- Pages or sections flagged with Template:Bad translation (Français)