Quelques astuces pour l'usage du clavier sous X11

Message 1, par Elzen

§ Posté le 05/10/2014 à 23h 32m 53

Dans les (nombreuses) notes de mon dernier article, je vous parlais d'un certain nombre de combinaisons de touches permettant d'obtenir les caractères typographiques que je vous présentais. Ce n'était peut-être pas la manière la plus efficace de faire, comme grim7reaper l'avait fait remarquer en commentaire.

Aussi, il peut être intéressant de dédier véritablement un article aux nombreuses possibilités d'usage du clavier sous les systèmes Unix libres en général, et les systèmes GNU/Linux en particulier.

Tous ces systèmes ont en commun d'utiliser (du moins pour l'instant, mais les choses devraient normalement évoluer d'ici quelques temps) le même système graphique, baptisé « X11 ». C'est donc de lui que je vais vous parler dans cet article.


Avant toute chose, précisons que ce que je vais décrire est propre à la disposition dite « France Alternative », ou « fr oss », qui est, normalement, utilisée par défaut lorsque le système est en version francophone.

Toutefois, certains systèmes sont encore réglés pour utiliser une variante obsolète de cette disposition, aussi, si les combinaisons que je vous indiquerai dans cet article ne fonctionnent pas, vous aurez peut-être besoin d'en changer.

Changer de disposition se fait soit par le gestionnaire de configuration de votre environnement, soit en lançant, dans un terminal, la commande suivante :

setxkbmap fr oss

Bien sûr, si vous voulez utiliser une autre disposition clavier que celle-ci, il suffit d'indiquer d'autres arguments à la commande. Ainsi, « setxkbmap us » vous fournira une disposition qwerty classique ; et « setxkbmap fr bepo » vous permettra d'utiliser la disposition Bépo, laquelle est conçue pour être très ergonomique et permettre de taper du bon français en bougeant le moins possible les doigts, mais qui est très perturbante pour une personne habituée à l'azerty.


Notez que la commande sus-mentionnée ne fera effet que pendant la session actuelle, et cessera donc de fonctionner après un redémarrage de l'ordinateur ou si vous vous déconnectez.

Pour régler la disposition clavier par défaut une bonne fois pour toutes, sans passer par la configuration spécifique de votre compte, sous les systèmes Debian, Ubuntu, et leurs dérivés, vous pourrez lancer, avec les droits de super-utilisateur, la commande suivante :

dpkg-reconfigure keyboard-configuration

Ce qui présentera en outre l'avantage de fonctionner également en TTY, où les réglages propres à la session graphique ne fonctionneront pas. Les autres systèmes doivent proposer un mécanisme analogue, mais je n'ai une utilisation suffisamment poussée pour savoir comment faire que pour ces deux-ci.


Et maintenant que le clavier est correctement réglé, passons à la façon de bien l'utiliser.

Tout d'abord, il est important de savoir que la plupart des touches permettant d'obtenir les lettres et autre symboles habituels ont quatre « niveaux », permettant donc d'obtenir quatre caractères différents.

Le premier niveau, c'est celui que nous obtenons en tapant directement sur la touche. Nous obtenons le second niveau (pour une lettre simple, il s'agit de son équivalent en majuscule) en tapant sur la touche tout en maintenant la touche « shift » enfoncée (il s'agit de la touche avec la (grosse) flèche vers le haut, en bas à gauche du clavier). Le troisième niveau, nous l'obtenons en tapant sur la touche tout en maintenant la touche « alt gr » enfoncée (celle qui est à droite de la touche espace). Enfin, le quatrième niveau s'obtient en combinant shift et alt gr.

Les premier et deuxième niveaux des touches sont, sauf erreur de ma part, communs à tous les claviers azerty. Les troisième et quatrième, en revanche, varient beaucoup d'une disposition à l'autre. Celle dont je vous parle respecte les symboles usuels dessinés sur certaines touches, comme le symbole « € » au troisième niveau de la touche E (à l'exception notable du troisième niveau de la touche $, qui donne « ø » au lieu de « ¤ »).

J'ai constitué ce tableau listant, parmi les caractères que l'on peut obtenir à l'aide des troisièmes et quatrième niveaux, ceux qui ne sont pas affichés sur les touches et que j'utilise relativement fréquemment.

La plupart de ces caractères sont des symboles typographiques que je vous décrivais dans l'autre article, mais le tableau contient également des flèches, ainsi que certains signes mathématiques dont j'ai pu vous parler au fil d'autres articles.

Une petite remarque concernant le point médian : c'est à l'origine un symbole mathématique, utilisé comme opérateur de multiplication alternatif, ou pour certaines opérations proches de la multiplication classique. Il est cependant également utilisé en typographie (j'aurais peut-être pu en parler dans l'autre article) pour indiquer un marqueur de genre optionnel, comme dans « tou⋅te⋅s ».


Parlons maintenant du verrouillage majuscule, que l'on obtient à l'aide de cette touche avec (généralement) un cadenas, avec une petite lumière qui s'allume quelque part sur le clavier quand il est actif.

D'une certaine manière, on pourrait considérer que cette touche inverse les niveaux des lettres simples, c'est-à-dire que vous obtiendrez la majuscule en tapant directement – d'où le nom –, et la minuscule en maintenant shift enfoncée. C'est cependant un poil plus compliqué que ça, dans la mesure où ça n'affecte que les lettres, toutes les lettres, et absolument pas les autres symboles.

Ainsi, les troisièmes et quatrièmes niveaux des touches A et O, mentionnés dans le tableau, seront affectés également. Pour les touches chiffrées (celles situées au dessus des lettres : n'utilisant que très rarement un pavé numérique, je ne le mentionnerai pas dans cet article), les niveaux sont inchangés (il sera toujours nécessaire d'appuyer sur la touche shift pour obtenir les chiffres, verrouillage majuscule actif ou pas), mais le premier niveau des quatre touches correspondant à des lettres accentuées (é, è, ç et à) sera modifié pour fournir la majuscule.


Au cas où ça ne suffirait pas (ça ne suffit jamais ^^), il existe un mécanisme supplémentaire : celui des touches mortes. Ces touches sont désignées ainsi parce qu'elles n'insèrent aucun caractère quand on appuie dessus. En revanche, elles permettent de modifier le comportement de la touche qu'on pressera aussitôt après elles.

La touche morte la plus connue est sans doute la touche ^, qui permet d'obtenir les lettres avec accents circonflexes (cette touche est celle située à côté du P, tandis que le troisième niveau de la touche 9 permet d'insérer directement le caractère « ^ » dans le texte, sans effet modificateur). Mais le clavier en contient un certain nombre d'autres.

Tout d'abord, les autres niveaux de cette même touche : au deuxième niveau, elle fournit le tréma (« ¨ »), au troisième, le tilde (« ~ », caractère que l'on obtient directement avec le troisième niveau de la touche 2), qui fournit le « ñ » espagnol, et au quatrième, le diacritique en forme de cercle (« ° ») permettant d'obtenir, notamment, le « å » scandinave. De plus, le troisième niveau de la touche % permet d'obtenir l'accent aigu (« ´ »), et le troisième niveau de sa voisine *, l'accent grave (« ` »). Le quatrième niveau de cette même touche permet d'insérer un trait au dessus de certaines lettres (« ¯ »).

Si la combinaison demandée n'est pas valide, aucun caractère ne sera affiché. Notez qu'il s'agit, dans tous les cas, d'un caractère unique : unicode propose également des caractères de superposition, mais vous ne les obtiendrez pas par ce moyen.

En revanche, les touches mortes permettent, en plus des caractères accentués classiques, d'obtenir un certain nombre de symboles mathématiques : d'une part, les dix chiffres, le plus, le moins, l'égal et les parenthèses peuvent être mis en exposant à l'aide du ^ (« ¹²³⁴⁵⁶⁷⁸⁹⁰⁺⁻⁼⁽⁾ ») ; d'autre part, le ~ suivi du = permet d'obtenir le signe « ≃ » (à peu près égal).


En extension de ce principe de touches mortes se trouve la touche « compose », qui permet d'associer les deux prochains caractères tapés. Laquelle des touches de votre clavier correspond à cette touche compose se règle dans la configuration de votre session graphique, ou par le paquet sus-mentionné.

Cependant, les choix proposés par défaut sont limités et ne concernent que des touches qui me sont habituellement utiles. Il est heureusement possible d'associer n'importe quelle touche à cette touche compose en passant par une commande X spécialisée : j'utilise pour ma part la touche ² (la première de la ligne des chiffres, au dessus de la touche de tabulation), inutile puisque je peux obtenir ce caractère à l'aide de la combinaison décrite juste au dessus.

Pour faire ce réglage, j'ai créé un fichier contenant la seule ligne suivante :

keycode 49 = Multi_key

Il suffit ensuite de demander au serveur graphique de lire ce fichier définissant le réglage du clavier, par la commande suivante :

xmodmap emplacement/du/fichier

Cette fois encore, une telle modification n'est effective qu'au cours de la session actuelle : il faudra donc relancer la commande automatiquement au démarrage.


Les combinaisons qu'il est possible d'obtenir avec la touche compose peuvent elles-mêmes être définies, ce que je n'ai pas encore eu l'occasion de faire (j'amenderai cet article en temps utile pour proposer ma configuration), mais voici un autre tableau présentant les combinaisons intéressantes que j'ai identifié jusque là avec son réglage de base.

Il m'en reste probablement encore un certain nombre à découvrir (n'hésitez pas à contribuer 😉 ), mais vous pouvez dores et déjà noter qu'il y a pas mal de doublons avec les combinaisons précédentes. Comme la touche compose est, me semble-t-il, indépendante de la disposition clavier, ça pourrait donc vous être utile si vous tapez en qwerty, par exemple.

Quand j'aurai eu le temps de trouver/régler les combinaisons adéquates, j'utiliserai sans doute la touche compose pour obtenir les flèches doubles (⇐, ⇑, ⇒, ⇓), et je ferai au minimum en sorte que compose suivi de deux appuis sur la touche * fournisse un astérisme (« ⁂ »). Mais on verra ça un peu plus tard.


Bien sûr, ça fait beaucoup de caractères, mais ça ne les fait pas tous. Si vous cherchez un caractère particulier qui n'est pas présent sur votre clavier, les applications ayant un rendu en GTK vous fourniront un outil supplémentaire : appuyer simultanément sur les touches contrôle, shift et u, puis lâcher u (mais pas les deux autres) et taper l'identifiant hexadécimal du caractère vous permettra d'obtenir n'importe quel caractère unicode. Par exemple, ctrl+shift+u+266A vous fournit « ♪ » et ctrl+shift+u+266B vous fournit « ♫ ».

Cette astuce ne fonctionne pas avec les applications utilisant une autre bibliothèque graphique (sauf si, comme pour les applications XUL (Firefox, Thunderbird…), cette bibliothèque fait elle-même appel à GTK pour son affichage). Je travaille néanmoins sur un composant de Touhy qui devrait normalement permettre d'émuler cette fonction (en légèrement améliorée, même) quelle que soit la bibliothèque graphique utilisée. Là encore, je vous tiendrai au courant.


Pour finir cet article, quelques petites astuces sur le déplacement du curseur et la sélection.

Quand vous êtes dans une zone de saisie de texte, vous pouvez sélectionner un bout de texte au clavier, en maintenant la touche shift enfoncée et en utilisant les touches directionnelles (maintenez la touche enfoncée pour bouger de plusieurs caractères), ou bien les quatre touches « début », « fin », « page précédente » et « page suivante ».

Au sujet de ces quatre dernières touches : si vous êtes sur un ordinateur portable dont le clavier n'est pas trop mal conçu, vous pourrez probablement les obtenir en maintenant la touche « fonction » enfoncée pendant que vous utilisez les touches directionnelles, ce qui, je trouve, est largement plus pratique que de devoir aller chercher une autre touche ailleurs.

Enfin, si vous pouvez utiliser les raccourcis claviers habituels pour copier/coller du texte, notez que X11 vous permet également d'utiliser un second presse-papier pour transporter de l'information autrement : sélectionnez simplement le texte qui vous intéresse, et effectuez un clic milieu (sur un touchpad ou si votre souris n'a que deux boutons (et pas de molette), vous pouvez normalement le simuler en appuyant sur les boutons droit et gauche en même temps) vers l'endroit où vous voulez le coller.

C'est la raison pour laquelle, quand vous sélectionnez du texte quelque part, l'éventuelle sélection précédente a tendance à disparaître.

(Suite au décès inopiné de mon précédent serveur, je profite de mettre en place une nouvelle machine pour essayer de refaire un outil de blog digne de ce nom. J'en profiterai d'ailleurs aussi pour repasser un peu sur certains articles, qui commencent à être particulièrement datés. En attendant, le système de commentaires de ce blog n'est plus fonctionnel, et a donc été désactivé. Désolé ! Vous pouvez néanmoins me contacter si besoin par mail (« mon login at ma machine, comme les gens normaux »), ou d'ailleurs par n'importe quel autre moyen. En espérant remettre les choses en place assez vite, tout plein de datalove sur vous !)