140 lines
5.1 KiB
Markdown
140 lines
5.1 KiB
Markdown
Title: Compose Key vs Dead Key
|
||
|
||
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 №, √, →, ✓, ✗, ±, …, ≠, ≤, ≥, |