Title: Compose Key vs Dead Key
Date: 2017-07-12

L'AFNOR à lancé autour de juin 2017 un appel à commentaires à propos
de [la normalisation du clavier
français](http://www.afnor.org/presse_juin2017/clavier-francais-afnor-ouvre-projet-de-norme-aux-commentaires/),
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](https://en.wikipedia.org/wiki/Dead_key) 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](https://en.wikipedia.org/wiki/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](https://github.com/mirror/libX11/blob/master/nls/en_US.UTF-8/Compose.pre)
:

 - `[compose] [o] [c]` donne `©`
 - `[compose] [o] [r]` donne `®`
 - `[compose] [+] [-]` donne `±`
 - `[compose] [?] [?]` donne `¿`
 - `[compose] [ ] [ ]` donne un espace insécable
 - `[compose] [s] [s]` donne `ß`
 - `[compose] [S] [S]` donne `ẞ`
 - `[compose] [o] [e]` donne `œ`
 - `[compose] [O] [E]` donne `Œ`
 - `[compose] [o] [o]` donne `°`
 - `[compose] [<] [<]` donne `«`
 - `[compose] [>] [>]` donne `»`
 - `[compose] [%] [o]` donne `‰`
 - `[compose] [=] [e]` donne `€`
 - `[compose] [c] [|]` donne `¢`
 - `[compose] [L] [-]` donne `£`
 - `[compose] [y] [=]` donne `¥`
 - `[compose] [.] [.]` donne `…`
 - `[compose] [N] [o]` donne `№`
 - `[compose] [<] [3]` donne `♥`
 - `[compose] [:] [)]` donne `☺`
 - `[compose] [:] [(]` donne `☹`
 - `[compose] [p] [o] [o]` donne `💩` (U+1F4A9 "PILE OF POO")

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 №, √, →, ✓, ✗, ±, …, ≠, ≤, ≥,