Julien Palard

Python Developer and Trainer

Compose Key vs Dead Key

L'AFNOR à lancé autour de juin 2017 un appel à commentaires à propos de la normalisation du clavier français, réunissant 3725 retours.

Parmis ces retours certains mentionnent la compose key :

[…] il est possible de composer une quantitée de symboles bien plus grande qu'avec une dead key

[…] et éventuellement une touche de composition pour permettre d'obtenir des caractères exotiques ou non-latins (ex: compose + oc = © / compose + or = ® / compose + tm = ™

Un clavier permettant de composer simplement les emojis les plus courants semble donc répondre à un réel besoin.

Une alternative que je trouve intéressante serait de proposer une touche "Composer" (en référence à la touche utilisée sur les anciens claviers Sun) qui permettrait de composer des ligatures.

Il s’agit d’une touche morte qui permet de composer «visuellement» les caractères non présents sur le clavier. Par exemple : [COMPOSE]+[O]+[/] = Ø

La touche morte traditonnellement appelée « composition » (ou « compose », aussi en français par anglicisme) devrait être appelée « touche morte neutre », surtout depuis que selon Unicode, des lettres sont composées à partir de caractères indépendants et de diacritiques combinants. On a des caractères précomposés qui peuvent être décomposés. Dans cet espace conceptuel, une touche morte de composition semble ne plus avoir de place.

Lors de la première réunion de dépuillement des commentaires, l'AFNOR a rejeté l'idée de la compose key, la trouvant je cite "trop compliquée".

Les dead keys

Les dead keys sont des touches permettant d'attacher un signe à la frappe suivante, typiquement un caractère.

Il faut donc une touche morte par diacritique.

Ainsi, si la touche ['] est une touche morte, suivie d'un [e], elle donne é.

La compose key

La compose key est comme un commentaire le mentionne une "touche morte neutre", elle permet comme son nom l'indique de "composer" les touches suivantes, c'est à dire de les "assembler".

Il n'y a donc qu'une seule touche "compose" sur un clavier.

Ainsi, [COMPOSE] [e] ['] donne é.

Compatibilité

Il n'existe aucune incompatibilité à proposer des dead keys et une compose keys sur une même disposition physique: les touches mortes étant des diacritiques et la compose key une autre touche.

Avantages et inconvénients

Avantage de la dead-key

Les touches mortes permettent accès rapide aux saisies courantes: ['] [e] suffit pour obtenir un é, alors qu'il faut taper [compose] ['] [e] avec une compose key.

Inconvénient de la dead-key

Il est plus lent d'obtenir une diacritique seule, comme l'apostrophe, pour lequel il faut taper ['] [ ], ce qui n'est pas intuitif. L'intuition ammene aussi certaines personnes à taper [']['][backspace] pour obtenir une apostrophe.

Cet inconvénient n'a pas le même impact pour toutes les dead keys, ni dans tous les environnements, typiquement les guillemets, souvent utilisé par paires, peut profiter de la séquence ["] ["] générant deux guillets, l'utilisateur peut ainsi se décaler entre les deux guillemets pour y saisir son texte.

Avantage de la compose key

La compose key permet de composer des caractères au delà des diacritiques, sans alterer le comportement des touches diacritiques, et ce de manière intuitive puisque c'est souvent une simple superposition visuelle de caractères. Aussi la pluspart des compositions peuvent se composer dans les deux sens : [compose] [e] ['] et [compose] ['] [e] sont identiques.

Voici quelques exemples typiques tirés d'un fichier de configuration de la libX11 :

Ce fichier contient 4042 compositions au total, dont une partie non négligable n'est évidemment pas atteignable avec une dead-key, comme ẞ, qui nécessiterai que le [s] soit une touche morte.

Parmis ces exemples, certains sont intéressants à utiliser au quotidien dans certains métiers, comme №, √, →, ✓, ✗, ±, …, ≠, ≤, ≥,