# Touche de composition

La touche de composition (Compose key en anglais), appelée aussi « touche multiplicatrice » (Multi key), est un élément qui n’est pas présent sur tous les claviers d’ordinateur. Son effet est de convertir en touche morte la touche pressée à la suite si elle fait partie d’une séquence spécifiée. C’est l’une des frappes suivantes qui va déclencher l’insertion d’un caractère spécial, typiquement un caractère précomposé ou un symbole.

## Histoire

La touche Compose Character fut inventée par des ingénieurs de chez Digital Equipment Corporation (DEC) et introduite pour la première fois sur le clavier LK201, disponible à partir de 1983 avec le terminal VT220. Le clavier comporte un voyant indiquant qu’une séquence Compose est en cours. Elle se trouve dans la rangée des voyants au-dessus des touches.
En 1987, Sun Microsystems lança Sun-4, le premier terminal dédié Unix qui eût une touche Compose. Sur les claviers des terminaux Sun Type 5 et 6, le voyant Compose est placée dans la touche (voir l’image ci-contre).
Alors même que les touches de flèches en T inversé, autre grande innovation de Digital sur le LK201, sont devenues un standard mondial de fait, et aussi le bloc de six touches diverses au-dessus introduit par DEC au même moment, la touche Compose, elle, ne nous est pas parvenue, faute d’avoir été pareillement copiée par IBM, puis par Apple. À sa place, nous trouvons aujourd’hui des touches modificatrices dont certaines sont en double, remplissant la rangée du bas. En conséquence, la tendance est à nouveau à l’implémentation de la touche Compose, et a conduit à tout un éventail de solutions issues de projets individuels, liées à un système d’exploitation ou un autre, libres pour la plupart, parmi lesquelles un certain nombre d’utilitaires et de pilotes de clavier$^,$$^,$.
Cela permet, par exemple, de saisir des caractères de translittération chinoise pinyin, et des caractères spécifiques à l’Europe de l’Est sur un clavier d’Europe de l’Ouest ; et plus généralement de personnaliser l’accès à certains caractères.
Le mécanisme de touche compose Unix est disponible sous Windows depuis mars 2011 avec FreeCompose et depuis avril 2013 grâce au logiciel WinCompose de Samuel Hocevar.

## Fonctionnement
### Sur le clavier

Comme touche morte, la touche Compose nécessite seulement un emplacement sur une touche, idéalement au niveau de Base, pendant que les autres emplacements de la touche peuvent être attribués à d’autres touches mortes voire à des caractères. D’autre part, et par égard pour les claviers compacts, la touche Compose peut aussi être cachée dans l’une des touches mortes classiques présentes, par exemple ^ q. Plus généralement, n’importe quelle touche morte peut être programmée pour composer bien plus que ce que l’on attend généralement d’elle, selon le principe qui est déjà utilisé pour les caractères portant plusieurs diacritiques. Le fait d’avoir une touche Compose dédiée sur chaque clavier, quel que soit le nombre des autres touches mortes, s’avère néanmoins être l’option la plus utile.

### Lors de la frappe

Comme beaucoup de claviers actuels savent gérer le key rollover, il n’est pas nécessaire finalement de relâcher la touche Compose avant les frappes suivantes. Cela permet aux dactylographes expérimentés de saisir rapidement les caractères précomposés. Voire, la vitesse de frappe s’accroît encore plus si la touche Compose peut s’actionner d’un pouce pendant que d’autres doigts s’apprêtent à appuyer sur les touches de la séquence.

### Séquences Compose

Au début, les séquences Compose suivaient l’ordre de l’écriture manuscrite et de la technique de la double frappe. Par exemple, appuyer sur Compose, suivie de n, puis de ~, produisait le caractère ñ. Cet ordre est toujours en usage, mais les caractères composés de plusieurs diacritiques sont difficiles à obtenir par cette méthode.
L’ordre inverse est connu des touches mortes comme elles se trouvent sur les dernières machines à écrire et aujourd’hui sur les claviers d’ordinateur : Compose, ~, n, pour ñ. Pareillement, taper Compose, suivie de O (ou o), puis C (ou c), va donner le symbole copyright ©. Cela permet de taper Compose, ^, ’, a, pour ấ.
Il n’y a pas de limite intrinsèque à la composition ou la longueur des séquences, qui devraient respecter seulement les règles ayant trait à la mnémotechnique et à l’ergonomie. Par exemple, le chiffre trois sans serif cerclé négativement ➌ (U+278C VIGNETTE CHIFFRE TROIS SANS EMPATTEMENT CERCLÉ BLANC AU NOIR) pourrait être inséré quand la séquence suivante est saisie : Compose, @, -, égal, 3. Cet exemple se base sur l’usage de Compose, @ pour tous les caractères cerclés, - dans ce contexte pour tous les cerclés en blanc sur disque coloré, et ‘=’ pour Sans Serif. Ces choix sont optimisés pour un clavier azerty français. Sur le clavier qwerty américain, ce serait plutôt Compose, @, %, $, 3.

### Nom de la touche

Ce qui est important à retenir, c’est qu’en dépit de son nom, la touche Compose et son support logiciel ne composent en réalité rien du tout, autrement que l’ancienne technique de la double frappe qui permettait de composer littéralement des caractères diacrités : n, Retour arrière, ~ pour ñ. Compose pourrait tout aussi bien s’appeler “super touche morte”. Néanmoins, elle porte très bien son nom de par le principe qui régit sa mnémotechnique et qui la rend si utile pour augmenter le nombre des caractères disponibles sans pousser les utilisateurs à apprendre un ensemble de codes plus ou moins compliqués. Pour le cœur ♥ c’est encore facile sous Windows car il s’insère par Alt+3 sur le pavé numérique ; en Compose, on utilise la séquence d’émoticône <3 : Compose, <, 3 pour ♥. Mais pour œ c’est Alt+0156, alors que Compose permet de taper simplement Compose, o, e.

## Une touche morte pas comme les autres

L’avantage de la touche Compose ressort quand on la compare avec une touche morte classique. À la base, le répertoire d’une touche morte contient un nombre limité de lettres simplement diacritées. Ce qui va au-delà semble peu évident, comme ¨ s pour ß. Encore que de celle-ci l’on se souvient quasi automatiquement, car écrire en allemand sur un clavier non allemand nécessite la touche morte ¨ tout au long. La touche Compose par contre permet de taper Compose s s pour ß (ou plus proprement, Compose s z), donc une frappe de plus.
Prenons un autre exemple. La fraction deux tiers ⅔ (U+2154) est saisie le plus facilement par Compose 2 3, tandis qu’une solution à touche morte simple aboutit à quelque chose comme ~ z (parce que ~ 3 sera utilisé pour ⅓). Aussi la solution touche Compose est-elle plus facile à retenir. Autrement les utilisateurs doivent apprendre que les fractions se trouvent dans ce que l’on appellera le groupe Tilde et s’étalent vers le bas en commençant par la rangée des chiffres.
L’inconvénient de la touche Compose est d’utiliser une touche de plus quand le but est d’obtenir des caractères précomposés avec un ou deux diacritiques, plus facilement saisis par touche morte. Son premier avantage au contraire est de limiter le nombre de touches mortes, dont la prolifération rend le clavier très complexe et dur à utiliser. Sur les lettres latines précomposées d’Unicode, on dénombre en effet plus d’une trentaine de diacritiques différents. Ici la touche Compose devient intéressante à mesure que le nombre de langues supportées s’accroît, jusqu’à la version “clavier latin universel” (universel au sens où le clavier national permet d’écrire en plus, dans toutes les langues à écriture latine). Si au contraire le clavier se limite à l'écriture de la (ou des) langue(s) nationale(s), des touches mortes sont suffisantes, comme le prouvent les nombreuses dispositions de clavier qui les utilisent.
Le deuxième avantage de la touche Compose est de favoriser la disponibilité sur le clavier, de toute sorte de symboles. Virtuellement on pourrait ranger énormément de symboles dans les répertoires des touches mortes existantes et de leurs combinaisons (destinées aux diacritiques multiples), ou utiliser par exemple la touche morte Tilde pour toutes les fractions (~ 2 3 pour ⅔, tandis que ⅓ est inséré par ~ 1 3) mais ainsi ils risquent de devenir de fait indisponibles. Le clavier est plus facile à utiliser quand les séquences sont mnémotechniques et commencent toutes par une touche Compose unique et dédiée.

## Activation

Il est possible sur certains bureaux, d’activer et de définir la touche Compose directement dans les préférences. Ainsi, on peut définir son emplacement dans les environnements X Window (GNU/Linux, *BSD, et autres systèmes apparentés à UNIX), par exemple dans l’environnement de bureau GNOME : Système > Préférences > Clavier > Agencements > Options > Position de la touche Compose. Plus généralement, pour l’activer il suffit d’ajouter dans le fichier .xession :
et d’ajouter dans le fichier .Xmodmap la ligne suivante :
ou bien, en décimal :
    Multi_key est le keysym de la touche Compose ;
    133 est le keycode de la touche Windows gauche.
Dans cet exemple, c’est la touche Windows gauche qui servira de touche Compose. Le code décimal de cette touche est quant à lui donné par l’outil xev.