< Xorg (Français)

Xorg (Français)/Keyboard configuration (Français)

Cet article décrit les bases de la configuration du clavier Xorg. Pour les sujets plus avancés tels que la modification de la disposition du clavier ou les mappages de touches supplémentaires, consultez respectivement X keyboard extension ou Extra keyboard keys.

État de la traduction: Cet article est la version francophone de Xorg/Keyboard configuration. Date de la dernière traduction: 2022-10-03. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Le serveur Xorg utilise l'extension X keyboard extension (XKB) pour définir la disposition du clavier. (XKB) pour définir les dispositions de clavier. En option, xmodmap peut être utilisé pour accéder directement à la table de clavier interne, bien que cela ne soit pas recommandé pour les tâches complexes. De plus, localectl de systemd peut être utilisé pour définir la disposition du clavier à la fois pour le serveur Xorg et la console virtuelle.

Note: Les options XKB peuvent être remplacées par les outils fournis par certains environnements de bureau tels que GNOME et KDE.

Visualisation des paramètres du clavier

Vous pouvez utiliser la commande suivante pour consulter les paramètres actuels de XKB :

$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Applied rules from evdev:
model:      evdev
layout:     us
options:    terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)+terminate(ctrl_alt_bksp)
geometry:   pc(pc104)
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc104)"     };
};

Utilitaires tiers

Il existe quelques utilitaires "non officiels" qui permettent d'imprimer des informations spécifiques sur la disposition de clavier actuellement utilisée.

  •  :

Configurer la disposition du clavier

La disposition du clavier dans Xorg peut être définie de plusieurs façons. Voici une explication des options utilisées :

  • sélectionne le modèle de clavier. Cela n'a d'influence que sur les touches supplémentaires que votre clavier peut avoir. Les options de secours les plus sûres sont pc104 ou pc105. Mais par exemple, les ordinateurs portables ont généralement des touches supplémentaires, et parfois vous pouvez les faire fonctionner en définissant simplement un modèle approprié.
  • sélectionne la disposition du clavier. Plusieurs dispositions peuvent être spécifiées dans une liste séparée par des virgules, par exemple si vous voulez passer rapidement d'une disposition à l'autre.
  • sélectionne une variante de disposition spécifique disponible pour le . Par exemple, la variante par défaut (slovaque) est , mais vous pouvez spécifier manuellement , etc.
  • contient quelques options supplémentaires (séparées par des virgules). Utilisées pour spécifier le changement de disposition, le voyant de notification, le mode de composition, etc. Consultez la section #Options XKB fréquemment utilisées pour des exemples.
Note: Vous devez spécifier autant de variantes que le nombre de mises en page spécifiées. Si vous voulez la variante par défaut, spécifiez une chaîne vide comme variante (la virgule doit rester). Par exemple, pour avoir la disposition par défaut us comme principale et la variante dvorak de la disposition us comme secondaire, spécifiez us,us comme XkbLayout et ,dvorak comme XkbVariant.

Le nom de la disposition est généralement un code de pays à deux lettres. Pour consulter la liste complète des modèles de claviers, des dispositions, des variantes et des options, ainsi qu'une courte description, ouvrez . Alternativement, vous pouvez utiliser l'une des commandes suivantes pour consulter une liste sans description :

  • localectl list-x11-keymap-variants [layout]}

Les exemples des sous-sections suivantes auront le même effet, ils définiront le modèle pc104, comme disposition principale, comme disposition secondaire, la variante pour la disposition et la combinaison pour basculer entre les dispositions. Consultez pour des informations plus détaillées.

Utilisation de setxkbmap

La commande setxkbmap définit la disposition du clavier pour la session X actuelle uniquement, mais peut être rendue persistante dans [[Xinit (Français)#xinitrc|xinitrc]] ou xprofile. Cela remplace la configuration du système spécifiée à la suite de #Utilisation des fichiers de configuration de X. Cependant, la persistance ne s'applique pas aux claviers tels que les claviers externes, à moins que leur identifiant de périphérique ait été spécifié lors de l'exécution de setxkbmap. Ou qu'ils constituent le périphérique de clavier principal du serveur X.

L'utilisation est la suivante (consultez ) :

$ setxkbmap [-model xkb_model] [-layout xkb_layout] [-variant xkb_variant] [-option xkb_options]
Note: setxkbmap ajoute les options spécifiées dans la ligne de commande à celles qui étaient définies auparavant (telles qu'enregistrées dans les propriétés de la fenêtre racine). Si vous souhaitez remplacer toutes les options spécifiées précédemment, utilisez l'option -option avec un argument vide en premier lieu.

Pour modifier uniquement la disposition (-layout est l'option par défaut) :

$ setxkbmap xkb_layout

Pour de multiples personnalisations :

$ setxkbmap -model pc104 -layout cz,us -variant ,dvorak -option grp:win_space_toggle

Utilisation des fichiers de configuration de X

La syntaxe des fichiers de configuration X est expliquée dans Xorg (Français)#Configuration. Cette méthode crée une configuration à l'échelle du système qui est persistante lors des redémarrages.

Voici un exemple :

Utilisation de localectl

Pour des raisons de commodité, l'outil localectl peut être utilisé au lieu d'éditer manuellement les fichiers de configuration de X. Il enregistrera la configuration dans , ce fichier ne doit pas être modifié manuellement, car localectl écrasera les changements au prochain démarrage.

L'utilisation est la suivante :

# localectl [--no-convert] set-x11-keymap layout [model [variant [options]]]]

Pour définir un modèle, une variante ou des options, tous les champs précédents doivent être spécifiés, mais les champs précédents peuvent être ignorés en passant une chaîne vide avec . À moins que l'option ne soit passée, le clavier spécifié est également converti en clavier de console le plus proche et appliqué à la configuration de la console dans . Consultez pour plus d'informations.

Pour créer un comme celui ci-dessus :

# localectl --no-convert set-x11-keymap cz,us pc104 ,dvorak grp:win_space_toggle

Options XKB fréquemment utilisées

Passage d'une disposition de clavier à une autre

Pour pouvoir facilement changer de disposition de clavier, spécifiez d'abord plusieurs dispositions entre lesquelles vous voulez basculer (la première est celle par défaut). Ensuite, spécifiez une touche (ou une combinaison de touches) qui sera utilisée pour la commutation. Par exemple, pour passer d'une disposition américaine à une disposition suédoise en utilisant la touche , utilisez comme argument de et grp:caps_toggle comme argument de . Le nombre de s doit correspondre à celui des s - si vous voulez passer uniquement d'une variante à l'autre, dupliquez la disposition en conséquence (par exemple, ).

Vous pouvez utiliser d'autres combinaisons de touches que , elles sont listées dans , commencent par et se terminent par . Pour obtenir la liste complète des options disponibles, exécutez la commande suivante :

$ grep "grp :.*toggle" /usr/share/X11/xkb/rules/base.lst

Notez que l'option grp:alts_toggle est peu fiable et peu susceptible d'être corrigée ; préférez d'autres combinaisons !

Terminer Xorg avec Ctrl+Alt+Backspace

Par défaut, la combinaison de touches est désactivée. Vous pouvez l'activer en passant à . Vous pouvez également le faire en liant une touche à dans (ce qui annule tout paramètre existant de ). Pour que l'une ou l'autre de ces méthodes fonctionne, il faut également que ait la valeur "off" dans ; cependant, depuis 2004 , c'est la valeur par défaut.

Échanger le verrouillage des majuscules avec le contrôle gauche

Pour permuter le verrouillage des majuscules avec la touche de contrôle gauche, ajoutez ctrl:swapcaps à . Exécutez la commande suivante pour consulter les options similaires ainsi que leurs descriptions :

$ grep -E "(ctrl|caps) :" /usr/share/X11/xkb/rules/base.lst

Activation des touches souris

Les «touches souris», à ne pas confondre avec les touches de la souris, est désactivé par défaut et doit être activé manuellement en passant à . Ainsi, le raccourci permet de faire basculer les «touches souris».

Consultez également X keyboard extension#Mouse control pour une configuration avancée.

Configuration de la touche de composition

Bien que cela ne soit généralement pas le cas sur les claviers traditionnels, une touche de composition peut être configurée sur une touche existante.

La touche Compose commence une séquence d'appui sur une touche qui implique (généralement deux) appuis supplémentaires. Elle est généralement utilisée pour saisir des caractères dans une langue pour laquelle le clavier n'a pas été conçu, ou pour d'autres caractères moins utilisés qui ne sont pas couverts par le modificateur . Par exemple, l'appui sur Compose. produit , ou Compose produira un "em dash" : .

Bien que quelques claviers plus excentriques disposent d'une touche Compose, sa disponibilité est généralement assurée par la substitution d'une touche existante. Par exemple, pour transformer la touche {ic|Menu}} en touche {ic|Compose}}, utilisez la configuration de l'environnement de bureau, ou passez à (ou setxkbmap : setxkbmap -option compose:menu). Les substitutions de touches autorisées sont définies dans  :

$ grep "compose:" /usr/share/X11/xkb/rules/base.lst

Si le mappage souhaité n'est pas trouvé dans ce fichier, une alternative est d'utiliser xmodmap pour mapper la touche souhaitée sur le keysym , qui agit comme une touche de composition par défaut (notez que les paramètres de xmodmap sont réinitialisés par setxkbmap).

Combinaisons de touches

Les combinaisons par défaut des touches de composition dépendent de la locale configurée pour la session et sont stockées dans , où est par exemple .

Vous pouvez définir vos propres combinaisons de touches de composition en copiant le fichier par défaut dans et en le modifiant. Vous pouvez également créer un vide et inclure le fichier par défaut en utilisant , par exemple :

La touche de composition (désignée par <Multi_key> dans le fichier ) fonctionne avec n'importe lequel des milliers de caractères Unicode valides, y compris ceux qui ne font pas partie du plan multilingue de base. Jetez un coup d'œil à la page de manuel , elle explique le format des fichiers XCompose.

Cependant, GTK n'utilise pas XIM par défaut et ne suit donc pas les clés . Cela peut être corrigé en forçant GTK à utiliser XIM en ajoutant export GTK_IM_MODULE=xim et/ou à .

Signe de la devise sur une autre touche

Sur la plupart des claviers européens, le signe Euro (€) est imprimé sur la touche . Par exemple, pour y accéder avec , utilisez les options et .

Le signe de la roupie (₹) peut être utilisé de la même manière avec rupeesign:4.

Changement d'état immédiat lorsque la touche Caps Lock est enfoncée

Ceux qui préfèrent taper des lettres majuscules avec la touche Caps Lock peuvent ressentir un court délai lorsque l'état de Caps Lock est changé, résultant en deux ou plusieurs lettres majuscules (par exemple THe, ARch LInux). Cela se produit parce que le verrouillage des majuscules est activé immédiatement après avoir appuyé sur la touche de verrouillage des majuscules, mais n'est désactivé qu'après avoir relâché la deuxième pression sur la touche. Ce comportement s'inspire des machines à écrire où la fonction de verrouillage des majuscules était obtenue en verrouillant physiquement les barres de caractères décalées en place, et le relâchement d'une pression sur la touche shift était l'action qui provoquait la libération du verrouillage.

Certains systèmes d'exploitation plus populaires ont supprimé ce comportement, soit volontairement (car il peut être source de confusion pour certains), soit par erreur, mais c'est une question de préférence. Des rapports de bugs ont été déposés sur le bug tracker de Xserver, car il n'y a actuellement aucun moyen facile de passer au comportement reflété par ces autres systèmes d'exploitation. Pour ceux qui souhaitent suivre ce problème, les rapports de bogue et les derniers progrès réalisés peuvent être trouvés sur et .

Palliatif

Tout d'abord, exportez vos configurations de clavier dans un fichier :

$ xkbcomp -xkb $DISPLAY xkbmap

Dans le fichier xkbmap, localisez la section Caps Lock qui commence par key <CAPS> :

 key <CAPS> { [ Caps_Lock ] } ;

et remplacez toute la section par le code suivant :

touche <CAPS> {
    repeat=no,
    type[group1]="ALPHABÉTIQUE",
    symboles[group1]=[ Caps_Lock, Caps_Lock],
    actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3)]]
} ;

Sauvegarder et recharger les configurations du clavier :

$ xkbcomp -w 0 xkbmap $DISPLAY

Pensez à en faire un service qui se lance après le démarrage de X, car les configurations rechargées ne survivent pas à un redémarrage du système.

Fonctions des touches en un clic

Pour attribuer une fonction supplémentaire à une touche de modification, vous pouvez utiliser . Par exemple, il est possible de faire fonctionner comme lorsqu'elle est enfoncée seule, et comme Control lorsqu'elle est utilisée avec une autre touche. Commencez par définir la permutation Control en utilisant setxkbmap comme mentionné précédemment, et xcape pour définir l'association  :

 $ xcape -e 'Caps_Lock=Escape'

Vous pouvez définir plusieurs associations séparées par un point-virgule, par ex : .

Si vous maintenez une touche pendant une durée supérieure à la valeur du délai d'attente (500 ms par défaut), xcape ne générera pas d'événement de touche.

Réglage du délai et du taux de répétition

Le délai typographique indique la durée (généralement en millisecondes) pendant laquelle une touche doit être maintenue enfoncée pour que le processus de répétition commence. Une fois le processus de répétition déclenché, le caractère sera répété à une certaine fréquence (généralement exprimée en Hz) spécifiée par le taux typographique. Notez que ces paramètres sont configurés séparément pour Xorg et pour la console virtuelle.

Utilisation de xset

L'outil xset peut être utilisé pour définir le délai et le taux de frappe d'un serveur X actif, certaines actions pendant l'exécution peuvent cependant amener le serveur X à réinitialiser ces changements et à revenir à ses valeurs par défaut.

Utilisation :

$ xset r rate delay [rate] (en anglais)

Par exemple, pour définir un délai typographique de 200 ms et un taux typographique de 30 Hz, utilisez la commande suivante (utilisez xinitrc pour la rendre permanente) :

$ xset r rate 200 30

L'exécution de la commande sans spécifier le délai et le taux réinitialisera les valeurs typographiques à leurs valeurs par défaut respectives, soit un délai de 660 ms et un taux de 25 Hz :

$ xset r rate

Utilisation de l'option de configuration AutoRepeat

Pour faire persister la configuration et modifier les seat defaults, vous pouvez créer un fichier de configuration Xorg comme décrit dans #Utilisation des fichiers de configuration de X, et ajouter une entrée pour la section  :

Utilisation des options de démarrage de XServer

Une autre méthode de configuration consiste à transmettre les paramètres souhaités au serveur X lors de son démarrage à l'aide des options suivantes :

  • - définit le délai de répétition automatique (durée en millisecondes pendant laquelle une touche doit être enfoncée avant que la répétition automatique ne commence).
  • - définit l'intervalle d'autorepeat (durée en millisecondes qui doit s'écouler entre les frappes générées par autorepeat).

Consultez pour obtenir une liste complète des options du serveur X et consultez votre gestionnaire d'affichage pour savoir comment passer ces options.

Voir aussi

gollark: I did that after it came up with some error.
gollark: ```lua fix_node = function(instance) if not debuggetupvalue then return end local i = 1 while true do local n, v = debuggetupvalue(instance, i) if not n then break end if n == "isRunning" then debugsetupvalue(instance, i, false) end if n == "procs" then debug.setupvalue(instance, i, {}) end i = i + 1 end end```
gollark: <@!113673208296636420> ```lua if node then if potatOS.fix_node then potatOS.fix_node(node.init) end node.on("dummy", function() end) process.spawn(node.init, "node") end```
gollark: ||potaTodfpwm||
gollark: ||your parents were both gay||
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.