Glossaire

🚧 en construction 🚧

Ergonomie & Optimisation

SFU (“Same Finger Usage”), SFB (“Same Finger Bigram”)

Aussi appelé « digramme de même doigt ». Quand deux lettres s’enchaînent avec un même doigt, ce qui est source d’inconfort ou d’erreurs, notamment à haute vitesse.

SKU (“Same Key Usage”), SKB (“Same Key Bigram”)

Répétition de même touche, e.g. pour produire nn avec n’importe quelle disposition de clavier, ou és en Ergo‑L.

Extension

Quand un doigt doit atteindre une touche qui est soit sur une autre colonne que la position de repos, soit à une distance supérieure à une touche.

Ciseau

Quand un bigramme nécessite un changement de rangée inconfortable.

Roulement intérieur

Deux touches ou plus enchaînées sur une même main, dans le sens de l’auriculaire vers l’index. C’est l’enchaînement considéré comme le plus confortable qui soit.

Roulement extérieur

Deux touches ou plus enchaînées sur une même main, dans le sens de l’index vers l’auriculaire.

Redirection

Trois touches enchaînées sur une même main avec un changement de direction, e.g. DSF ou KJL en Azerty ou Qwerty.

Mauvaise redirection

Une redirection où l’index n’intervient pas. L’un des pires enchaînements faisables sur un clavier, sinon le pire.

Support logiciel

Scan code

Données envoyées par un clavier physique à un ordinateur lorsqu’on appuie ou relâche une touche. Par suite aux évolutions technologiques (PS/2, USB, etc.), il existe plusieurs ensembles de scan codes.

Souvent associé au seul code envoyé lors de la pression d’une touche, en particulier avec les scan codes « XT » ou « ensemble 1 ». Il permet alors d’identifier la touche qui a été pressée dans un périphérique de saisie, au plus bas niveau de l’OS.

Key code

Code identifiant une touche sur un clavier. Ce code est propre à chaque système d’exploitation. Ce dernier se charge de convertir les différentes conventions de scan code en key code, permettant ainsi de faire abstraction de la technologie du clavier pour développer des dispositions de clavier.

Point de code (code point)

TODO (cf. point de code sur Wikipedia).

Modificateur

TODO (Modificateurs courants : Shift, Caps, AltGr, etc.).

Couche (layer)

Abstraction pour pouvoir disposer plusieurs caractères sur une même touche.

Exemple le plus courant de couches : en tapant des lettres sur la couche alpha on obtient les lettres en minuscules, en gardant la touche Shift enfoncée on obtient les lettres en majuscules, ce sont donc 2 couches différentes.

Ce concept de couches permet de diminuer le nombre de touches nécessaires sur un clavier et brille particulièrement sur les petits claviers ergonomiques en diminuant la distance que les doigts ont à parcourir.

Noter qu’une touche morte peut également être considérée comme définissant une couche, au même titre qu’un modificateur.

Touche morte (dead key)

Touche de clavier qui ne produit aucun résultat lorsqu’elle est enfoncée puis relâchée, mais modifie le comportement de la prochaine touche qui sera enfoncée. Une touche morte est généralement utilisée pour produire des lettres accentuées ou autres diacritiques.

Exemple : la touche [^]{.kbd} sur le clavier Azerty puis E donne la lettre ê.

Diacritique

Signe accompagnant une lettre ou un graphème pour en modifier le sens ou la prononciation.

Exemple : la cédille pour « ç » ou les accents sur les voyelles. Plus de détails dans l’article Wikipedia.

Windows

AHK

Abréviation du logiciel AutoHotKey qui permet de manière globale de créer des scripts pour Windows. Dans le cas des dispositions clavier, il est utilisé pour modifier les touches envoyées par le clavier et ainsi créer un pilote de disposition ne necessitant pas d’installation.

KbdEdit

Logiciel qui permet de créer des pilotes Windows pour des dispositions clavier personnalisées. Il est beaucoup plus complet que MSKLC (voir ci-dessous). Contrairement à ce dernier, il est payant et n’est pas officiellement supporté par Microsoft.

KLC

Fichier avec extension .klc décrivant une disposition clavier pour Microsoft Keyboard Layout Creator (MSKLC).

C’est un fichier source pour créer les pilotes Windows.

MSKLC

Abréviation du logiciel Microsoft Keyboard Layout Creator qui permet de créer des pilotes Windows pour des dispositions clavier personnalisées.

Il peut être utilisé de manière autonome ou par l’intermédiaire de Kalamine, ce dernier corrigeant ainsi de nombreuses limitations de MSKLC.

Virtual Key (VK, touche virtuelle)

Code de touche spécifique à Windows, de plus haut niveau que le key code. Il est utilisé pour définir le placement des touches spéciales ainsi que le comportement d’une touche lorsqu’elle est utilisée dans un raccourci clavier.

macOS

keylayout

TODO

Karabiner

TODO

Linux

Explication simplifée du processus : appui sur une touche → production de caractère

  1. Le clavier produit un scan code.
  2. L’OS transforme le scan code en keycode.
  3. Le keycode est transformé en keysym selon le groupe les modificateurs actifs, ces derniers déterminant la couche active.
  4. La keysym est transformée en caractère(s) par la méthode de saisie (Compose par défaut) si active, sinon en utilisant la table de conversion standard de XKB.

Environnement

X11

X est un protocole de système de fenêtrage. X11 en est la onzième version majeure.

X.Org

Le principal serveur X utilisé sur Linux.

Wayland

Un protocole de système de fenêtrage, destiné à remplacer X11 qui n’est plus maintenu. Bien qu’en développement depuis 2008, son implémentation dans les environnements de bureau majeurs n’a commencé à être suffisante que dans les années 2020.

XKB (X Keyboard Extension)

Un protocole défini comme extension de X11 et dédié à la gestion des claviers.

C’est aussi utilisé pour le format texte de configuration des dispositions clavier.

Par abus de langage c’est aussi la base de données des configurations clavier, xkeyboard-config.

Compose

Une méthode de saisie (input method ou IM). C’est notamment ce qui permet aux touches mortes système (autres que 1dk) de fonctionner. Elle porte ce nom car elle compose – entendre : combine – plusieurs keysyms en un1 nouveau keysym.

Exemples : la séquence ◌́e est transformée en é, n~ en ñ, +- en ± et <3 en .

Une touche qui active la méthode de saisie Compose pour les touches pressées à la suite. Cette touche n’est pas présente sur les claviers physiques modernes, mais elle est peut être configurée dans l’OS avec les options de clavier.

La keysym <Multi_key>, qui est placée sur la touche Compose.

XCompose

Une spécification de Compose pour les systèmes basés sur X11 et Wayland. Il existe plusieurs implémentations: XIM (référence), xkbcommon, Gtk, Qt, ibus, etc. Noter qu’il existe des différences entre ces implémentations.

Un format pour configuer la méthode de saisie XCompose.

Les fichiers de configuration correspondants. En particulier :

  • /usr/share/X11/locale/**/Compose : les fichiers système, organisés par locale.
  • ~/.XCompose : le fichier utilisateur par défaut.

XKB

Keycode

Code identifiant une touche physique sur un clavier. Le code brut (raw keycode) est le code numérique issu du traitement bas niveau par le noyau, alors que le code symbolique est le nom donné dans les fichiers XKB pour faciliter la configuration haut-niveau du clavier. On distinguera le code brut du noyau de celui de XKB, ce dernier étant obtenu en ajoutant 8 au premier.

Exemple : sur un clavier QWERTY, le code brut noyau de la touche Q est 162, le code brut sur XKB est 16 + 8 = 24 et son code symbolique est AD013.

Noter qu’un clavier QWERTY et un clavier AZERTY produisent habituellement des keycodes identiques pour les touches situées au même emplacement : ainsi la touche imprimée Q sur le clavier QWERTY produira le même keycode que la touche imprimée A sur un clavier imprimé AZERTY. En effet, c’est la configuration du clavier dans XKB et non le clavier lui-même qui définit la correspondance touche / keysym.

Keysym

Code numérique identifiant un symbole sur le capuchon d’une touche. Ce mot vient de l’anglais « key symbol ». Les keysyms sont également associées à des noms anglais pour faciliter leur utilisation. Exemples : a, agrave pour « à », Shift_L pour la touche majuscule à gauche, etc.

À la différence des keycodes, les keysyms ne sont pas utilisés pour identifier les touches physiques mais pour configurer le résultat obtenu en pressant une touche. Ainsi, la touche Q d’un clavier imprimé QWERTY peut être configurée pour produire le4 keysym q ou a sur la couche de base, et les keysyms Q ou A sur la couche masjcule, etc.

Il existe différents types de keysyms :

  • caractère : a et A pour les scripts latins, gamma « γ » et GAMMA « Γ » pour le grec, etc.
  • touche morte : dead_grave et dead_diaeresis, qui correspondent respectivement à l’accent grave et au tréma. Une touche morte est une touche spéciale car elle ne génère pas de caractère, mais modifie le caractère de la touche qui est utilisée directement après elle. Ce comportement nécessite la fonctionnalité « Compose ».
  • modificateur : une touche qui modifie l’effet des autres touches : par exemple Shift_L, Control_R, Caps_Lock. Les modificateurs utilisent un mécanisme différent des touches mortes et servent à accéder aux différentes couches d’une disposition, ainsi qu’à définir des raccourcis clavier.
  • système : actions spéciales non comprises ci-dessus : flèche Left, Pause, Escape, F1, etc.
Key type

TODO

Key Action

TODO

Groupe

TODO

Également appelé abusivement disposition (layout). TODO: développer.

Keymap

TODO


  1. Le cas le plus fréquent est un keysym, mais il est possible d’en produire plusieurs. C’est indispensable pour certains caractères qui nécessitent plusieurs points de code, comme « ė̄ » (U+0117 + U+0304), mais aussi 👩🏿‍🚀👩🏾‍🚀👩🏽‍🚀👩🏼‍🚀👩🏻‍🚀👩‍🚀, qui requiert au moins deux points de code pour chaque emoji.↩︎

  2. Correspond à KEY_Q dans le fichier d’en-tête input-event-code.h.↩︎

  3. Les codes symboliques sont suivent la norme ISO/IEC 9995-2 pour les touches alpha-numériques.↩︎

  4. On devrait dire un keysym car c’est un symbole de touche, mais une keysym sonne peut-être mieux.↩︎