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