Version 1.1rc1/Touches mortes/Enchaînement

De Disposition de clavier bépo

Certaines langues utilisent des lettres portant plusieurs diacritiques. La méthode de saisie disponible actuellement sur toutes les plateformes pour saisir tous ces caractères est de taper la lettre de base, puis d’ajouter les diacritiques combinants à la suite. Cette méthode de saisie est préférée dans la plupart des régions du monde. Mais dans les pays utilisant des touches mortes, les utilisateurs trouvent plus naturel de saisir des touches mortes en série (enchaînements de touches mortes) avant le caractère à diacriter.

Problème de Windows

L’OS de Microsoft contient une limitation due à l’obsolescence et le refus de mise à jour, qui impacte le développement des dispositions de clavier dans plusieurs pays : par touches mortes, une seule unité de code peut être générée, donc ni caractères décomposés[1], ni caractères des plans multilingues supplémentaires d’Unicode.

Le groupe de travail AFNOR ayant décidé d’éviter les éditeurs d’entrée, et Windows étant ce qu’il est (impossibilité de générer des séquences par touches mortes), la saisie par touches mortes sous Windows aboutit toujours à des caractères précomposés. Pour le vietnamien, où les diacritiques sont traditionnellement saisis à la suite des lettres de base[2], Windows contient une disposition où non seulement les 6 voyelles simples, mais aussi les 6 voyelles diacritées sont saisies par touches vives (sous forme précomposée pour les diacritées), et les diacritiques ayant une fonction de marque de ton sont ajoutés sous forme combinante. Dans ce cas, l’évitement des séries de touches mortes est arbitraire, puisque tous les caractères du vietnamien ont été encodés sous forme précomposée. Mais le lituanien avec marques de ton (1 % de l’usage), dont les caractères précomposés ont été refusés parce que la demande venait après la date limite, ne peut être saisi que de cette manière sur un clavier Windows sans éditeur d’entrée. La situation est pareille pour de nombreuses langues d’Afrique[3].

Au niveau du bépo, les séries de touches mortes sont implémentées sous Linux et macOS, mais pas encore sous Windows.

Notons qu’ISO/IEC 9995-11 indique comment résoudre le problème de Windows en créant des dispositions de clavier où tous les caractères morts sont des diacritiques combinants, traités ensuite par un algorithme d’édition d’entrée mettant en œuvre la routine de composition canonique[4] fournie par l’OS[5].

Avantages

  • saisie plus habituelle et moins compliquée, attendu que sur les dispositions à touches mortes, la génération des diacritiques combinants nécessite au moins un appui sur clavier bépoEspace après chaque touche morte (ou sur clavier bépopoint selon ISO/IEC 9995-11) ;
  • permet la gestion des pressions multiples ;
  • permet d’implémenter une fonctionnalité de composition dans la disposition de clavier ;
  • permet d’implémenter un ou plusieurs sélecteurs de groupe selon ISO/IEC 9995, parties 1 et 3, option sélecteur de groupe rémanent, sans toutefois l’option clavier bépoMaj+clavier bépoAltGr, puisqu’une modificatrice (« touche de combinaison ») comme clavier bépoAltGr ne peut pas être en même temps une touche à caractères (ce que sont les touches mortes).

Inconvénients / critiques

  • souvent considéré comme non intuitif du fait de n’avoir aucun retour après la frappe d’une touche morte ;
  • un problème de faisabilité était rencontré lors de la création de la disposition à l’époque, mais les manières de faire pour Windows sont aujourd’hui connues.

Portabilité

  • Windows : uniquement pour les caractères existant sous forme précomposée (par édition des sources en C générées par l’outil Microsoft KbdUTool, ou dans la source .klc, avant utilisation directe du KbdUTool, voir user:a2/dk)
  • X.Org : OK pour tous les caractères
  • macOS : OK pour tous les caractères

_________________________

  1. Forme NFD d’Unicode, où les lettres diacritées sont des séquences d’une lettre de base suivie d’un ou plusieurs diacritiques combinants.
  2. Au Vietnam, des éditeurs d’entrée sont couramment utilisés, acceptant la saisie des diacritiques après la lettre de base (voire en fin de mot), mais produisant des caractères précomposés.
  3. http://www.unicode.org/mail-arch/unicode-ml/y2016-m02/0072.html ; http://www.unicode.org/mail-arch/unicode-ml/y2016-m11/0075.html et les autres mails de ces fils
  4. https://fr.wikipedia.org/wiki/Normalisation_Unicode, http://fr.comp.normes.unicode.narkive.com/rp8WTJoK/unicode-composition-decomposition-canonique
  5. Cf. la critique dans l’article Wikipédia.