« Utilisateur:Marcel/Version 2.0 » : différence entre les versions

De Disposition de clavier bépo
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 159 : Ligne 159 :
* La qualité de modificatrice est donnée dans la liste d’allocation des bits modificateurs ; la modification est active tant que la touche est pressée.
* La qualité de modificatrice est donnée dans la liste d’allocation des bits modificateurs ; la modification est active tant que la touche est pressée.


Les modificatrices supplémentaires disponibles sont les suivantes :
Les '''bits modificateurs''' sont au nombre de 8 sous Windows. Certains ont un usage historique plus ou moins général, mais pour un bon fonctionnement on n’est pas obligé de conserver leurs noms s’ils en portent un. Dans la source en-tête du driver Windows de cette proposition, kbdfrbt9.H(110), ils sont actuellement nommés ainsi :
* Oyayubi droite ;
/**********************************************************************************\
* Oyayubi gauche.
* RENOMMAGE DES BITS MODIFICATEURS
Elles sont présentes à l’origine sur les claviers de la gamme Oasys de chez Fujitsu. Pour cette raison elles ont été implémentées sous Windows et restent disponibles suite au gel. Oyayubi droite sert sur la disposition ergonomique allemande Neo2.
*
* Ces définitions visent à donner aux bits modificateurs des noms français.
* Voir kbd.h(56) pour une description détaillée. Voir aussi kbdcommon.H(351).
* L’utilisation proposée pour la version 2.0 est indiquée dans les commentaires.
* Ces noms servent dans « static ALLOC_SECTION_LDATA VK_TO_BIT », kbdfrbt9.C(145).
\**********************************************************************************/
#define MODMAJ  0x01  // coordonné à la bascule VerrMaj / VerrCap
#define MODCTRL  0x02
#define MODALT  0x04
#define MODPRO  0x08  // sur Alt droite ; = Kana, coordonné à la bascule VerrKana
#define MODNUM  0x10  // sur la touche 105
#define MODGREC  0x20  // ensemble avec la bascule VerrCap ; + Num -> Hébreu
#define MODARABE 0x40  // ensemble avec la bascule VerrPro ; + Num -> Cyrillique
#define MODCYR  0x80  // optionnellement sur une touche au choix


Dans cette proposition de version 2.0, Oyayubi droite est ajoutée sur VerrCap, et Oyayubi gauche sur VerrPro (Kana Lock ; source C des drivers Windows) :
Dans la source C, kbdfrbt9.C(145), les bits modificateurs sont affectés aux touches. La modificatrice au bit le plus élevé est placée temporairement sur la touche de fonction qui sert à faire afficher l’aide qui nécessite en général l’usage du pointeur. Plus tard on peut l’affecter à une touche absente du clavier afin que l’utilisateur puisse l’activer à l’aide du Scan Code Mapper.
/***************************************************************************\
* ASSOCIATION DE TOUCHES AUX BITS MODIFICATEURS
*
* Les noms des bits modificateurs sont définis dans l’en-tête kbdfrbt9(110).
\***************************************************************************/
  static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
  static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
   { VK_SHIFT    , KBDSHIFT    },  // 0000 0001 0x01
   { VK_SHIFT    , MODMAJ  },  // 0x01 == 0000 0001  
   { VK_CONTROL  , KBDCTRL    },  // 0000 0010 0x02
   { VK_CONTROL  , MODCTRL  },  // 0x02 == 0000 0010  
   { VK_MENU      , KBDALT      },  // 0000 0100 0x04  Left Alt key
   { VK_MENU      , MODALT  },  // 0x04 == 0000 0100  
   { VK_OEM_AX    , KBDKANA    },  // 0000 1000 0x08  Right Alt is Kana modifier
   { VK_OEM_AX    , MODPRO  },  // 0x08 == 0000 1000   touche Alt droite
   { VK_CAPITAL   , KBDROYAYUBI },  // 0001 0000  0x10 KBDROYA in kbd.h; added on CapsLock
   { VK_OEM_WSCTRL, MODNUM   },  // 0x10 == 0001 0000   touche 105
   { VK_KANA      , KBDLOYAYUBI },  // 0010 0000 0x20  KBDLOYA in kbd.h; added on KanaLock
  { VK_CAPITAL  , MODGREC }, // 0x20 == 0010 0000  en plus sur VerrCap
   { VK_OEM_WSCTRL, KBDGRPSELT  },  // 1000 0000 0x80  KBDGRPSELTAP in kbd.h; Group selector on B00
   { VK_KANA      , MODARABE },  // 0x40 == 0100 0000   en plus sur VerrPro
   { 0            , 0           }
   { VK_F1        , MODCYR  },  // 0x80 == 1000 0000   pour tester sur F1
   { 0            , 0       }
  };
  };
Note : Le bit drapeau 0x40 n’a pas d’utilisation particulière dans kbd.h.


Ces “modificatrices bonus” sur les bascules '''nécessitent en principe un nouvel appui sur la bascule après chaque utilisation''' afin de remettre la bascule dans son état précédent. Leur principal intérêt est par conséquent limité aux cas où elles servent à saisir des séquences entières, comme les noms propres dans une écriture autre que celle du clavier. Cette fonctionnalité permet donc d’améliorer la prise en charge de ces écritures, traditionnellement assurée au moyen de touches mortes uniquement.
Ces “modificatrices bonus” sur les bascules '''nécessitent en principe un nouvel appui sur la bascule après chaque utilisation''' afin de remettre la bascule dans son état précédent. Leur principal intérêt est par conséquent limité aux cas où elles servent à saisir des séquences entières, comme les noms propres dans une écriture autre que celle du clavier. Cette fonctionnalité permet donc d’améliorer la prise en charge de ces écritures, traditionnellement assurée au moyen de touches mortes uniquement.


Les modificatrices sur les bascules peuvent se combiner à leur tour avec d’autres modificatrices, mais avec {{t|Num}} plusieurs touches (20 %) tombent en panne sous Windows, avec comme résultat le mitage des cartes « Num + [modificatrice bonus] »<ref>Il y a pire : les combinaisons de touches qui impliquent Oyayubi droite et Oyayubi gauche en même temps, et qui techniquement devraient fonctionner et seraient utiles (pourvu d’avoir ces modificatrices toutes du même côté et pas l’une à « droite » et l’autre à « gauche » comme ce fut le cas à l’origine) sont complètement désactivées et donc inutilisables.</ref>. Face à ces bugs ou bridages de Windows, le premier réflexe est d’éviter ces combinaisons, ce qui limiterait la prise en charge à deux écritures supplémentaires, a priori le grec et le cyrillique pour un support total des langues de l’Union Européenne. Or comme ce genre de bug n’a pas lieu d’être sous Linux et Mac OS, le mieux est d’étendre le support à l’arabe et à l’hébreu, utilisés en France et complémentaires à plusieurs égards : arabe–français dans la culture maghrébine, grec–hébreu dans la culture chrétienne, arabe–hébreu pour l’équité et la réconciliation (et la paix au Proche-Orient). Les défauts (black-outs) des dispositions Windows sont palliés grâce à des doublages d’allocation. En parallèle, il existe la possibilité de retomber sur une saisie par touches mortes (placée l’une sur la carte du grec avec une ergonomie pour le cyrillique, et l’autre sur celle de l’arabe pour une meilleure mnémonique de la saisie de l’hébreu). Tous les caractères pris en charge sont aussi intégrés dans l’arborescence Compose<ref>L’arabe reste à intégrer dans l’arborescence Compose, mais cela représente un gros travail ; il faut prendre en charge à la fois les noms des lettres selon leur prononciation, et les noms des lettres selon la romanisation normalisée (devenus les noms Unicode).</ref>.
Les modificatrices sur les bascules peuvent se combiner à leur tour avec d’autres modificatrices, mais dans certaines combinaisons, sous Windows, 20 % voire 100 % des touches sont complètement désactivées et donc inutilisables. Face à ces bugs ou bridages de Windows, le premier réflexe est d’éviter ces combinaisons, ce qui limiterait la prise en charge à deux écritures supplémentaires, a priori le grec et le cyrillique pour un support total des langues de l’Union Européenne. Or comme ce genre de bug n’a pas lieu d’être sous Linux et Mac OS, le mieux est d’étendre le support à l’arabe et à l’hébreu, utilisés en France et complémentaires à plusieurs égards : arabe–français dans la culture maghrébine, grec–hébreu dans la culture chrétienne, arabe–hébreu pour l’équité et la réconciliation (et la paix au Proche-Orient). Les défauts (black-outs) des dispositions Windows sont palliés grâce à des doublages d’allocation. En parallèle, il existe la possibilité de retomber sur une saisie par touches mortes (placée l’une sur la carte du grec avec une ergonomie pour le cyrillique, et l’autre sur celle de l’arabe pour une meilleure mnémonique de la saisie de l’hébreu). Tous les caractères pris en charge sont aussi intégrés dans l’arborescence Compose<ref>L’arabe reste à intégrer dans l’arborescence Compose, mais cela représente un gros travail ; il faut prendre en charge à la fois les noms des lettres selon leur prononciation, et les noms des lettres selon la romanisation normalisée (devenus les noms Unicode).</ref>.
 
Les combinaisons avec Pro sont aussi utilisables mais peu ergonomiques. On peut y placer des alphabets mathématiques comme le cursif, l’ajouré, l’italique et le gras.


Au final, la distribution proposée est la suivante :
Au final, la distribution proposée est la suivante :
* Oyayubi droite sur VerrCap :
* Appui constant sur VerrCap :
** Sans Num : Grec monotonique et polytonique ;
** Sans Num :
** Avec Num : Cyrillique ;
*** Sans Pro : Grec monotonique et polytonique ;
* Oyayubi gauche sur VerrPro :
*** Avec Pro : alphabet mathématique cursif ;
** Sans Num : Arabe ;
** Avec Num :
** Avec Num : Hébreu vocalisé.
*** Sans Pro : Hébreu vocalisé ;
*** Avec Pro : alphabet mathématique italique ;
* Appui constant sur VerrPro :
** Sans Num :
*** Sans Pro : Arabe ;
*** Avec Pro : alphabet mathématique ajouré ;
** Avec Num :
*** Sans Pro : Cyrillique selon la disposition bulgare phonétique ;
*** Avec Pro : alphabet mathématique gras ;
* Modificatrice optionnelle sur une touche au choix [sur F1 pour tester] :
** Sans Num :
*** Sans Pro : Cyrillique selon la disposition bulgare phonétique ;
*** Avec Pro : (à définir) ;
** Avec Num :  
*** Sans Pro : (à définir) ;
*** Avec Pro : (à définir) ;





Version du 21 septembre 2016 à 06:37

Le but de cette page est de ranimer la discussion sur la version 2.0 en parallèle à celle sur la version 1.1, afin qu’avant la normalisation, la communauté puisse voter pour décider de l’ampleur des évolutions qui seront implémentées en vue de la normalisation.

Attention

Plusieurs pages préexistantes contiennent le plus gros des ressources
pour la version 2 :

  • Présentation générale et orientations : v2:Projet ;
  • Boîte à idées : v2:Idées ;
  • La page d’accueil v2:Creation référence toutes les pages de la v2.

Dans la suite, il sera question d’une proposition concrète testable à l’aide de fichiers inclus dans le pack à télécharger sur dispoclavier (pour Windows ; les fichiers pour Linux et Mac sont à venir).

Plutôt que comme un accomplissement, la normalisation du bépo peut être considérée comme un point de départ. Dans ce cas, le processus est le moment de la dernière chance. Si la promotion et la popularité du bépo passent à la vitesse supérieure grâce à la norme, la mise au point d’une version 2 ne devrait pas être reportée. C’est un peu juste et c’est dommage de ne pas avoir eu toutes ces idées deux ans plus tôt[1], mais ce n’est pas une raison d’exclure a priori que le bépo fasse une sorte de mue in extremis. En interprétant des témoignages sur la ML (exemple), on peut affirmer qu’une partie des bépoètes s’attendent à des changements et sont prêts à adopter de nouvelles fonctionnalités.

Sur le plan de l’ergonomie, les éléments nouveaux comprennent la frappe en A, l’exploitation de l’accessibilité des touches sous les médians et les annulaires sur la rangée supérieure, l’accès avantageux aux chiffres par Alt droite (AltDr qui devient la modificatrice Kana sous Windows, qu’on propose d’appeler « Pro ») et sa bascule (KanaLock ou VerrPro) et aussi en pavé par une modificatrice sur la touche 105 (Num, claviers ISO uniquement), l’utilisation des bonnes places en AltDr sur la rangée de repos et voisines pour les caractères informatiques, et le basculement de l’accès direct entre la diacritation (mode Langues) et des caractères informatiques fréquents (mode Programmeur). Sont inclus l’accessibilité simultanée en direct des deux apostrophes (typographique et guillemet simple informatique), un meilleur accès au tiret sur tous les claviers, et au Ç sur les claviers ANSI.

Au niveau typographique on compte l’apostrophe déjà citée, ainsi que l’espace fine insécable (EFI) qui peut être utilisée facilement avec les ponctuations hautes sans modifier l’accès traditionnel à l’espace insécable classique (EIC). Une saisie fluide des minuscules en exposant est possible sur les claviers ISO tant que Maj gauche et Num sont enfoncées. Le grec lui aussi est en touches vives tant que l’on appuie sur VerrMaj, l’arabe en écriture d’origine pareillement avec VerrPro, et le cyrillique l’est avec VerrMaj + Num[2], ainsi que l’hébreu vocalisé avec VerrPro + Num. Le pavé numérique inclus permet la saisie fluide des chiffres avec séparateur de milliers français (EFI), virgule ou point au choix, et pour cent, pour mille ou euro avec leur EFI automatique. C’est là aussi que se trouvent les opérateurs mathématiques en accès facile, dont l’ordonnancement sur la rangée des chiffres a dû être sacrifié à l’optimisation pour le français.

Proposition provisoire pour le bépo normalisable version 2.0 (Voir avec les info-bulles) :

Prop prov bépo.png

Point de départ

Cette proposition de version 2.0 est concrétisée dans l’urgence juste avant la normalisation pour égaliser les performances du bépo avec celles de l’azerty proposé par le même proposant. L’urgence résulte de la synchronisation, mais aussi et surtout de l’unicité de la chance offerte actuellement aux claviers français. Seules les fonctionnalités acceptées dans le processus présent entreront dans la réalité du grand public.

Normaliser le bépo sous sa forme actuelle (Version_1.0rc2) avec quelques ajustements aurait l’avantage de ne pas nécessiter de négociations avec les constructeurs, ni d’autocollants sur les claviers bépo existants. Mais ce serait inefficient et dangereux dans tous les cas :

  • Si l’AFNOR accepte les nouvelles fonctionnalités pour l’azerty, le bépo reste à la traîne ;
  • Si l’AFNOR refuse les nouvelles fonctionnalités par égard pour le bépo ou parce que la communauté du bépo les a refusées “elle aussi”, le nouvel azerty de France n’aura probablement pas le potentiel de devenir un grand succès, ni le peuple français l’envie de le porter à l’actif du gouvernement, bien au contraire. Et les Français ne verront peut-être aucune raison de ne pas faire basculer la situation politique et faire conduire l’Union Européenne à l’implosion.[3]


Éléments conservés

Beaucoup de propositions ont été faites pour optimiser l’ergonomie par des inversions ou des permutations circulaires de lettres et d’autres caractères, mais aucun consensus n’a pu se dégager en faveur de telle ou telle option sauf l’aménagement pour la frappe en A. Cette proposition de version 2.0 a donc beaucoup en commun avec la version stable actuelle et a pour but de s’inscrire dans la tradition du bépo afin de pouvoir être adoptée le cas échéant avec un minimum de changements dans les habitudes de base. Les innovations doivent toutes être motivées par un réel plus qu’elles apportent aux utilisateurs.

L’agencement de l’alphabet de base est conservé sauf pour l’clavier bépoX et l’clavier bépoY, décalés d’une touche vers la gauche pour s’adapter aux nécessités de la frappe en A. Sont pareillement conservés toutes les lettres diacritées en accès direct pour autant qu’elles soient exemptes de problèmes, c’est-à-dire l’clavier bépoÉ et l’clavier bépoÈ. Ainsi la rangée éponyme « clavier bépoBclavier bépoÉclavier bépoPclavier bépoO(clavier bépoÈ) » reste intacte et assure la continuité de l’identité visuelle du bépo dans ce qu’elle a de plus caractéristique.

Cette proposition maintient la présence de l’espace insécable classique (EIC) au niveau Majuscule sur la barre, et elle renforce l’utilisation de l’EIC avec les ponctuations françaises. Malgré ses inconvénients, l’insécable en Maj + espace est devenue d’emblée une fonctionnalité phare du bépo qui souligne le savoir-faire tant de ses concepteurs que de ses utilisateurs à cause du tour de main qui évite les frappes accidentelles.

Dans le même souci de faire l’économie de ruptures évitables dans l’expérience utilisateur, on propose aussi de maintenir à leurs places actuelles sur la barre les deux espaces insécables, tant que les préférences des utilisateurs ne penchent pas clairement en faveur de l’inversion.

On propose de conserver aussi la prise en charge sur la carte de base, des lettres « ß » et « ij » en minuscule et majuscule afin de maintenir une continuité de l’expérience utilisateur pour les bilingues Flamands et germanophones.

La plupart des caractères spéciaux sont eux aussi maintenus (et mis à jour le cas échéant), soit sur leurs places traditionnelles comme les indicateurs ordinaux, les obèles et la perluète, soit là où il restait des places, possiblement en gardant un minimum de logique ou autre mnémonique, comme pour les , , ×, ÷, , ¬.


Idées réalisées

De nombreuses fonctionnalités incluses dans cette proposition se retrouvent déjà sur la page de présentation du projet de version 2 et/ou dans la boîte à idées de la version 2 :

L’idée d’aménager le bépo pour la frappe en A a été discutée sur la ML et a trouvé un écho favorable. La présente proposition vise à la réaliser tout en évitant à l’À de se retrouver sur la touche 105. Les utilisateurs de claviers ANSI bénéficieraient ainsi eux aussi de la touche tiret au milieu, et le bépo conserverait son unicité.


Fonctionnalités ajoutées

Pour réaliser ces idées dans les meilleures conditions, il est nécessaire d’utiliser des ressources clavier moins courantes que la modificatrice traditionnelle Alternate Graphics. Par exemple, si les chiffres sont accessibles par Alt droite (AltDr), il faut pouvoir transférer le rôle de la bascule Verrouillage Capitales pour les chiffres vers une autre bascule. Sous Windows (soit sur la plupart des ordinateurs) cela aboutit à ajouter une bascule sur le clavier, et à changer pour une autre modificatrice sur AltDr.

L’agencement des chiffres en pavé à son tour nécessite une modificatrice à gauche, qui ne peut pas être sur Alt gauche (Alt), parce que sous Windows, le remappage de cette touche dans le driver de disposition est dysfonctionnel. La seule option normalisable est alors la conversion de la 105ᵉ touche en modificatrice, mais de préférence pas sous la forme d’un simple doublage d’AltDr, comme l’ISO/IEC avait prévu d’y doubler AltGr. L’utilité de cette symétrie concerne surtout les chiffres de la moitié droite, tandis que d’autre part, pour être ergonomique, le pavé numérique émulé doit s’étendre sur davantage de touches que ce qui découle de sa morphologie par défaut. Il en résulte que la 105ᵉ touche devient idéalement une nouvelle modificatrice, naturellement appelée « Num », et utilisable aussi pour écrire en exposants, fonctionnalité utile en français et d’autant plus souhaitable sur un clavier ergonomique.

Deux autres extensions de fonctionnalités sont implémentables sous forme de touches mortes. Il s’agit d’une part d’une paire symétrique de sélecteurs de groupe rémanents façon ISO/IEC 9995, et d’autre part d’une émulation COMPOSE intégrée à la disposition, et qui de ce fait participe de la prise en charge des caractères. Une implémentation rationnelle utilise trois positions de touches en AltDr : celle sur la barre d’espace pour COMPOSE, et deux sur la rangée Tab pour les sélecteurs dont chacun donne accès à la même carte supplémentaire (groupe 3), tandis qu’actionnés en double frappe ou ensemble, ils amènent le groupe 4. Jusqu’à 8 autres groupes sont accessibles par « groupe 3 + chiffre », mais aussi de manière circulaire par des frappes répétées des sélecteurs de groupe. L’avantage de cette approche est de fournir un nombre de cartes suffisant pour les domaines principaux comme les mathématiques et la musicologie, mais aussi de parer aux accusations d’hétéroclitie dans les cas où tel groupe contient des symboles issus de plusieurs secteurs.

Une fonctionnalité supplémentaire consiste à fournir un accès en touches vives à plusieurs écritures européennes et/ou utilisées en France et/ou dans le cadre de la culture occidentale, à savoir l’arabe, le cyrillique, le grec et l’hébreu. Implémentée avec les ressources par défaut d’un driver de disposition au format Windows, et de toute manière, cette fonctionnalité ne permet pas d’écrire de textes dans ces écritures, parce qu’il faut appuyer de manière continue sur une ou deux touches à gauche. (Une disposition de clavier dédiée offre aussi l’avantage que la langue utilisée est reconnue plus facilement par les applications.) Concrètement, les deux modificatrices supplémentaires restantes sous Windows sont ajoutées sur les deux bascules. C’est pertinent parce que le nombre de déverrouillages de la bascule après utilisation ⋘ le nombre de caractères de l’autre écriture entrés par touches vives.


Support par les systèmes d’exploitation et portabilité

Vu l’état du marché de l’informatique, les ressources pour les dispositions de clavier, et les stratégies de développement des éditeurs d’OS, les normes de clavier doivent se caler sur Windows. Les autres schémas d’action se sont révélés inefficaces :

  • Apple a adopté l’XML pour configurer les claviers, et c’est aussi dans ce format que les dispositions de clavier sont déposées dans le Common Locale Data Repository (CLDR) d’Unicode. En dépit de tout cela, Windows et Linux continuent d’insupporter les dispositions de clavier en XML.
  • Le Comité technique commun de l’ISO et de l’IEC a créé une norme de clavier internationale depuis le milieu des années 1980 à l’initiative de la France (Dʳ Yves NEUVILLE)[4], à laquelle l’AFNOR a mis la dernière main en 2015. Les développeurs de Linux se sont efforcés d’implémenter cette norme internationale, tandis que Microsoft a refusé jusqu’à sa propre participation aux réunions du groupe de travail, et a figé les API de dispositions de clavier, à ce qu’il paraît après avoir implémenté un sélecteur de groupe – probablement celui d’ISO/IEC 9995, cf. plus bas – de la manière la plus compliquée à programmer (avec le tout dernier bit drapeau, en sautant l’avant-dernier resté inattribué) et sans la moindre documentation dans kbd.h à part le nom (« KBDGRPSELTAP »).

Le bépo a déjà suivi ce principe en bridant la disposition pour l’aligner sur les ressources connues de Windows telles qu’elles sont représentées par le MSKLC, la seule chose qui dépasse étant le tiret bas sur la barre d’espace.

Maintenant que l’on sait que Windows supporte l’enchaînement des touches mortes[5], le bépo est mis à jour en conséquence. Dans la foulée, on peut utiliser pareillement les autres ressources clavier dormantes de Windows.

La portabilité sous les autres OS ne pose a priori pas de problème puisque l’XML est déjà plus performant que les API Windows, et que sous Linux on peut sans doute ajouter tout ce que l’on veut. Cela permet de partir du principe qu’une fois les ressources de Windows pleinement mises en œuvre, les autres OS se feront un devoir de prévoir d’en faire au minimum autant, si vraiment il leur manque encore quelque chose.

C’est peut-être un peu naïf comme point de vue, mais probablement plus terre-à-terre que la normalisation idéaliste que représente ISO/IEC 9995. La chose à éviter en tout cas, c’est la conception de dispositions de clavier en vase clos sans garder à l’œil la faisabilité sous l’OS figé qu’est Windows en ce qui concerne les claviers[6].


Modificatrices et bascules – les niveaux

Cette proposition de version 2.0 change la modificatrice sur Alt droite, place la bascule coordonnée sur la touche au-dessus de Tab, transforme en modificatrice la touche 105 à droite de Maj gauche, et superpose une modificatrice sur chacune des deux bascules. Sous Windows, elle donne accès aux niveaux AltGr par clavier bépoCtrl+clavier bépoAlt, surtout pour pallier l’impossibilité d’y obtenir par touche morte plus d’une unité de code UTF-16. En comptant aussi le niveau Ctrl hérité (presque vide, mais pas tout à fait) et en ajoutant le niveau Maj + Ctrl (encore vide, mais utilisé dans certaines dispositions de clavier Windows), on arrive à un total de 30 niveaux. Juste assez pour tirer pleinement parti de son clavier…

Ce faisant, on évite d’inventer des choses que l’on ne sait pas implémenter et que Microsoft n’implémentera de toute manière jamais. Un exemple d’une telle chose est le sélecteur de groupe rémanent sur Maj + AltGr spécifié comme option dans ISO/IEC 9995 et de fait jamais implémenté parce que techniquement impossible sous le Windows actuel[7]. Un autre exemple sont les bascules linguistiques sous forme de combinaisons avec les touches de fonction pour basculer vers l’arabe, le cyrillique, le grec, l’hébreu, le géorgien et d’autres écritures, qui seraient difficiles à réaliser et ne seront jamais implémentées par Microsoft qui préconise le basculement entre différentes dispositions de clavier avec à la clé l’avantage que la langue active est facilement reconnue par le système[8].

Cette proposition de version 2.0 prévoit simplement de quoi taper des noms dans toutes les langues de France et d’Europe, et elle y ajoute l’arabe et l’hébreu qui sont importants en France et/ou pour la civilisation française[9].


Le changement de modificatrice sur Alt droite

Le remplacement d’AltGr par Kana documenté sur ce site est proposé pour la version normalisable à ceci près que le kllf_altgr n’est pas supprimé, afin de pouvoir mapper AltGr sur un scancode inutilisé, activable au besoin par l’utilisateur à l’aide du convertisseur de signaux de touches inclus dans Windows[10] Ainsi l’utilisateur peut disposer d’une touche AltGr par exemple sur Windows droite ou gauche.

Selon les derniers tests[11], le sélecteur de groupe d’ISO/IEC 9995, bien que connu avant le gel de Windows – sa publication date de 1994 – n’a pas été correctement implémenté par Microsoft, car l’attribut GRPSELTAP qui devrait permettre de spécifier pour chaque touche si les niveaux KBDGRPSELTAP et Shift + KBDGRPSELTAP sont soumis à la bascule VerrCap, ne fonctionne pas[12]. On peut se demander si les lettres « AP » dans GRPSELTAP ne signifieraient pas « aping »[13]… Tout cela sur fond d’absence totale du moindre commentaire à propos de GRPSELTAP dans la source kbd.h, par ailleurs plutôt loquace en ce qui concerne les modificatrices et les niveaux.

On va par conséquent rester sur le remplacement d’AltGr par Kana. Ce remplacement est indiqué à condition de ne pas placer de lettres dans ces niveaux. La proposition présentée ici y garde toutefois l’« ẞ ß » et l’« IJ ij », qui ne sont pas utilisées en français et sont placées sur des touches vives surtout pour rassurer les lecteurs de la carte, car à l’usage on a le choix du fait que la touche morte accent grave (clavier bépoò) est en accès direct et permet d’obtenir ces lettres quand elle est suivie de clavier bépoç pour « ß », ou de clavier bépoj pour « ij ».

Ce remplacement d’AltGr par Kana est logique parce que les chiffres sont en AltDr (Alt droite), de sorte que la bascule qui les met en accès direct est simplement la bascule Kana. Cette bascule est associée aux niveaux Kana, et elle est paramétrable touche par touche, comme la bascule Maj. L’allocation des bascules est liée au keycode, qui est VK_KANA pour KanaLock, et VK_CAPITAL pour CapsLock. La modificatrice Kana au contraire, comme toutes les autres modificatrices, est mappée dans une liste d’allocation des bits drapeaux modificateurs, qui dit que telle touche est « KBDKANA ». Le nom proposé pour cette modificatrice est Pro comme Programmeur ; au sens impropre on peut parler d’AltGr, mais alors il devient plus exact d’utiliser le nom générique AltDr pour Alt droite.

Comme indiqué sur la page Remplacer AltGr par Kana, on évite ainsi le mélange entre raccourcis clavier et frappes de caractères sous Windows. La pertinence passée de l’implémentation d’AltGr choisie par Microsoft résulte de la volonté de conserver la pleine symétrie du clavier en ce qui concerne les touches Contrôle, Windows, et Alt – et accessoirement Ctrl + Alt pour AltGr – et du faible nombre de raccourcis clavier dans les applications. Ce fut seulement une fois les raccourcis en clavier bépoCtrl et clavier bépoMaj+clavier bépoCtrl saturés, que la mise à contribution de clavier bépoCtrl+clavier bépoAlt mit le désordre[14]. Ce problème est résolu dans Word, où l’équivalence n’est appliquée qu’en cas de non-interférence. LibreOffice et Windows au contraire désactivent l’un les raccourcis, l’autre les caractères quand il y a interférence. Mieux vaut donc éliminer le problème à la base.


La nouvelle bascule Programmeur

Avec les chiffres en AltDr, une bascule qui les met en accès direct devient indispensable pour une utilisation ergonomique. Sous Windows, c'est la bascule Kana En lui soumettant aussi les autres touches portant en accès direct par défaut des caractères non utilisés en programmation – clavier bépoÉ, clavier bépoÈ, clavier bépoê (la touche morte accent circonflexe) notamment – et en y plaçant en AltDr des caractères fréquents en programmation, on aboutit à un clavier multimodal avec un mode Programmeur. Le nom proposé pour cette bascule est donc bascule Pro.

Le mode Programmeur offre en accès direct les lettres ASCII, les chiffres, ainsi que les deux tirets et les deux guillemets informatiques, mais aussi la barre oblique inverse qui sert de caractère d’échappement dans la plupart des langages.

L’avantage par rapport à la bascule VerrCap et les chiffres en Maj est double :

  • Les chiffres ne sont plus associés aux capitales, car les deux peuvent être basculés indépendamment. Cela se retourne en inconvénient quand il s’agit de taper des sigles comportant des chiffres, et cela change aussi l’expérience utilisateur dans les tableurs, où l’on doit actionner les deux bascules à la fois pour avoir le même effet.
  • Les caractères informatiques en accès direct sur la rangée des chiffres du bépo 1.0 ne sont plus masqués par les chiffres quand la bascule à effet sur les chiffres est active, puisqu’ils se trouvent ailleurs, avec un accès stable.

Le manque de praticité du découplage du basculement des chiffres et des lettres pour une partie des utilisateurs peut être pallié, notamment sous Windows, en utilisant la possibilité de définir librement les niveaux Base et Maj accessibles quand la bascule VerrMaj est active[15]. À bascule active, les chiffres peuvent ainsi être en accès direct, et les majuscules diacritées, en Maj (ou alternativement par la touche morte accent grave en accès direct). Mais sur le bépo – contrairement à l’azerty Windows par défaut – cela amènerait une trop forte rupture de l’expérience utilisateur, et c’est donc à éviter a priori. D’autant plus que la présence d’une variante « capitales et chiffres » à côté de la variante « toutes capitales » compromettrait l’unicité du bépo.

Le principal inconvénient de la bascule Pro est l’absence de témoin lumineux. L’utilisateur en est réduit à faire un essai avec une touche soumise à la bascule Pro, par exemple n’importe quelle touche de la rangée des chiffres. Avec de l’entraînement on peut éventuellement acquérir une sorte de “drapeau mental” mais cela amènerait l’utilisateur à se préoccuper indûment du clavier. On peut aussi prendre l’habitude d’actionner la bascule systématiquement à la fin (du nombre en mode Langues, du commentaire en mode Programmeur).

Il n’en reste pas moins que les avantages de mettre les chiffres en Pro et d’ajouter la bascule Pro font a priori pencher la balance largement en faveur de cette solution.


La nouvelle modificatrice Num

La disposition des chiffres en pavé fait partie des options officielles de la v2. La présente proposition maintient les chiffres sur leur rangée historique et ajoute une facilité en pavé sur les claviers ISO[16]. La 105ᵉ touche est convertie en modificatrice, avec sous Windows le sélecteur de groupe « KBDGRPSELTAP » déjà cité. On parvient ainsi à avoir les chiffres en pavé entouré d’un certain nombre d’autres facilités, dans une émulation de pavé numérique élargi qui augmente grandement l’ergonomie de la disposition. Le nom proposé pour cette touche est « Num ».

Carte actuellement proposée pour le pavé numérique émulé étendu :

╔════╗────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔══════════╗
║Verr║    │    │    │    │    │    │    │    │    │    │    │    ║          ║
║ PRO║    │ ″  │ ′  │ °  │ E  │ F  │ 7  │ 8  │ 9  │ 0  │ /  │ ≃  ║ ←‒‒‒‒    ║
╠════╩══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──╥─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═══════╣
║ |←‒‒‒ ║    │    │    │    │    ║    │    │    │    │    │    │    ║    |  ║
║ ‒‒‒→| ║ &#x│ ;  │ √  │ ∛  │ C  ║ D  │ 4  │ 5  │ 6  │ *  │ ^  │EFI€║ ←‒‒┘  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───╨╥───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗      ║
║ Verr   ║    │    │&nb │    │    ║    │    │    │    │    │    │    ║      ║
║ CAPS   ║ (  │ )  │ sp;│€EFI│ A  ║ B  │ 1  │ 2  │ 3  │ -  │EFI%│EFI‰║      ║
╠══════╦═╩══╗─┴──┬─┴──┬─┴══╤═┴──┬─╨──╥─┴══╤═┴──┬─┴──┬─┴──┬─┴──╔═╧════╩══════╣
║  /\  ║    ║    │    │    │    │    ║    │    │    │    │    ║       /\    ║
║  ||  ║ Num║ U+ │ ×  │ ÷  │ −  │ 000║ 00 │ 0  │ ,  │ .  │ +  ║       ||    ║
╠══════╩╦═══╩══╦═╧═══╦╧════╧════╧════╩════╧════╧╦═══╧═╦══╧═══╦╩═════╦═══════╣
║       ║      ║     ║                          ║     ║      ║      ║       ║
║ Ctrl  ║ Win  ║ Alt ║ [espace fine insécable]  ║ Pro ║ Win  ║ Menu ║ Ctrl  ║
╚═══════╩══════╩═════╩══════════════════════════╩═════╩══════╩══════╩═══════╝
 

Les fonctionnalités étendues comprennent :

  • Les chiffres hexadécimaux ;
  • Les double et triple zéros ;
  • Le dédoublement du zéro pour une meilleure accessibilité, en particulier lors de la saisie de nombres binaires ;
  • L’accès simultané au point et à la virgule, un peu comme sur les claviers brésiliens ;
  • Les opérateurs de base typographiques sur des touches mnémoniques (touches selon la frappe en A) ;
  • L’espace fine insécable séparateur de milliers sur la barre d’espace ;
  • Pour cent, pour mille et Euro avec l’espace fine insécable intégrée ;
  • Deux symboles racine ;
  • Prime et double prime en style typographique, avec le symbole degré ;
  • Le symbole de l’approximation sur la touche du signe égal ;
  • La séquence « U+ » pour la popularisation d’Unicode ;
  • Une facilité pour saisir à la main les entités HTML hexadécimales, sur les touches clavier bépoB et clavier bépoÉ ;
  • L’entité HTML nommée de l’espace insécable classique sur la touche clavier bépoI.

Grâce au doublage du zéro, la modificatrice clavier bépoNum fonctionne pour les chiffres comme un doublage d’AltDr. Ainsi les utilisateurs qui rencontrent des difficultés pour saisir les chiffres en AltDr à droite, trouveront un semblant de symétrie de modificatrice. On notera toutefois que cette situation devrait rester minoritaire. Le doublage du zéro au niveau du pavé numérique émulé permet surtout une saisie ergonomique des nombres binaires en programmation, avec l’index droit sur clavier bépo1, et l’annulaire droit sur clavier bépo0[17].

Par la force des choses, ce surplus d’ergonomie est malheureusement réservé aux claviers 105 touches (ISO). Sur les claviers 104 touches (ANSI), la saisie reste traditionnelle, donc sans ce surcroît de confort. Par contre on évite ainsi de réserver aux claviers ISO des facilités substantielles comme l’accès ergonomique au tiret d’une part, et l’accès direct aux deux apostrophes d’autre part. Ces éléments d’ergonomie ne sont plus liés à la 105ᵉ touche, ils sont disponibles sur tous les claviers.

En plus du pavé numérique étendu, la modificatrice Num est la clé de quelques autres facilités :

  • Écriture en exposants : Toutes les minuscules en exposant disponibles dans Unicode, c’est-à-dire de a à z sauf le q, sont en touche vive sur la touche de leur lettre respective si l’on appuie simultanément sur Maj et Num. Autrement dit, les minuscules en exposant sont en Maj + Num. Pour écrire « Mᵐᵉˢ » on peut ainsi taper clavier bépoMaj+clavier bépoM puis clavier bépoMaj+clavier bépoNum+clavier bépoM clavier bépoMaj+clavier bépoNum+clavier bépoE clavier bépoMaj+clavier bépoNum+clavier bépoS. Cela revient à bloquer l’auriculaire gauche sur clavier bépoMaj, à taper clavier bépoM, à bloquer en plus l’annulaire gauche sur clavier bépoNum avant de taper clavier bépoM encore une fois, clavier bépoE (de la main gauche, ce qui demande certes un petit tour de main), puis clavier bépoS. Avec la touche morte Exposant (clavier bépo) c’est un peu plus long à taper.
  • Diacritiques combinants fréquents : Un certain nombre de langues ajoutent optionnellement des marques tonales sous forme de diacritiques combinants. Au niveau clavier bépoMaj+clavier bépoNum on peut avoir l’accent aigu, l’accent grave, le circonflexe, l’háček et le tilde combinants en touches vives sur les touches ne portant pas de minuscules en exposant.
  • Encore davantage, car il reste de la place (tàf).


Les modificatrices ajoutées sur les bascules

La structure des dispositions de clavier fait qu’une touche peut être à la fois une bascule et une modificatrice. Il en est ainsi sous Windows, et il en sera de même sous les autres OS[18] :

  • La qualité de bascule est définie sur la base du keycode ; l’activation de la bascule a lieu lors du relâchement de la touche, et la désactivation au moment où la touche est de nouveau pressée.
  • La qualité de modificatrice est donnée dans la liste d’allocation des bits modificateurs ; la modification est active tant que la touche est pressée.

Les bits modificateurs sont au nombre de 8 sous Windows. Certains ont un usage historique plus ou moins général, mais pour un bon fonctionnement on n’est pas obligé de conserver leurs noms s’ils en portent un. Dans la source en-tête du driver Windows de cette proposition, kbdfrbt9.H(110), ils sont actuellement nommés ainsi :

/**********************************************************************************\
* RENOMMAGE DES BITS MODIFICATEURS
*
* Ces définitions visent à donner aux bits modificateurs des noms français.
* Voir kbd.h(56) pour une description détaillée. Voir aussi kbdcommon.H(351).
* L’utilisation proposée pour la version 2.0 est indiquée dans les commentaires.
* Ces noms servent dans « static ALLOC_SECTION_LDATA VK_TO_BIT », kbdfrbt9.C(145).
\**********************************************************************************/
#define MODMAJ   0x01  // coordonné à la bascule VerrMaj / VerrCap
#define MODCTRL  0x02
#define MODALT   0x04
#define MODPRO   0x08  // sur Alt droite ; = Kana, coordonné à la bascule VerrKana
#define MODNUM   0x10  // sur la touche 105
#define MODGREC  0x20  // ensemble avec la bascule VerrCap ; + Num -> Hébreu
#define MODARABE 0x40  // ensemble avec la bascule VerrPro ; + Num -> Cyrillique
#define MODCYR   0x80  // optionnellement sur une touche au choix

Dans la source C, kbdfrbt9.C(145), les bits modificateurs sont affectés aux touches. La modificatrice au bit le plus élevé est placée temporairement sur la touche de fonction qui sert à faire afficher l’aide qui nécessite en général l’usage du pointeur. Plus tard on peut l’affecter à une touche absente du clavier afin que l’utilisateur puisse l’activer à l’aide du Scan Code Mapper.

/***************************************************************************\
* ASSOCIATION DE TOUCHES AUX BITS MODIFICATEURS
*
* Les noms des bits modificateurs sont définis dans l’en-tête kbdfrbt9(110).
\***************************************************************************/
static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
  { VK_SHIFT     , MODMAJ   },  // 0x01 == 0000 0001   
  { VK_CONTROL   , MODCTRL  },  // 0x02 == 0000 0010   
  { VK_MENU      , MODALT   },  // 0x04 == 0000 0100   
  { VK_OEM_AX    , MODPRO   },  // 0x08 == 0000 1000   touche Alt droite
  { VK_OEM_WSCTRL, MODNUM   },  // 0x10 == 0001 0000   touche 105
  { VK_CAPITAL   , MODGREC  },  // 0x20 == 0010 0000   en plus sur VerrCap
  { VK_KANA      , MODARABE },  // 0x40 == 0100 0000   en plus sur VerrPro
  { VK_F1        , MODCYR   },  // 0x80 == 1000 0000   pour tester sur F1
  { 0            , 0        }
};

Ces “modificatrices bonus” sur les bascules nécessitent en principe un nouvel appui sur la bascule après chaque utilisation afin de remettre la bascule dans son état précédent. Leur principal intérêt est par conséquent limité aux cas où elles servent à saisir des séquences entières, comme les noms propres dans une écriture autre que celle du clavier. Cette fonctionnalité permet donc d’améliorer la prise en charge de ces écritures, traditionnellement assurée au moyen de touches mortes uniquement.

Les modificatrices sur les bascules peuvent se combiner à leur tour avec d’autres modificatrices, mais dans certaines combinaisons, sous Windows, 20 % voire 100 % des touches sont complètement désactivées et donc inutilisables. Face à ces bugs ou bridages de Windows, le premier réflexe est d’éviter ces combinaisons, ce qui limiterait la prise en charge à deux écritures supplémentaires, a priori le grec et le cyrillique pour un support total des langues de l’Union Européenne. Or comme ce genre de bug n’a pas lieu d’être sous Linux et Mac OS, le mieux est d’étendre le support à l’arabe et à l’hébreu, utilisés en France et complémentaires à plusieurs égards : arabe–français dans la culture maghrébine, grec–hébreu dans la culture chrétienne, arabe–hébreu pour l’équité et la réconciliation (et la paix au Proche-Orient). Les défauts (black-outs) des dispositions Windows sont palliés grâce à des doublages d’allocation. En parallèle, il existe la possibilité de retomber sur une saisie par touches mortes (placée l’une sur la carte du grec avec une ergonomie pour le cyrillique, et l’autre sur celle de l’arabe pour une meilleure mnémonique de la saisie de l’hébreu). Tous les caractères pris en charge sont aussi intégrés dans l’arborescence Compose[19].

Les combinaisons avec Pro sont aussi utilisables mais peu ergonomiques. On peut y placer des alphabets mathématiques comme le cursif, l’ajouré, l’italique et le gras.

Au final, la distribution proposée est la suivante :

  • Appui constant sur VerrCap :
    • Sans Num :
      • Sans Pro : Grec monotonique et polytonique ;
      • Avec Pro : alphabet mathématique cursif ;
    • Avec Num :
      • Sans Pro : Hébreu vocalisé ;
      • Avec Pro : alphabet mathématique italique ;
  • Appui constant sur VerrPro :
    • Sans Num :
      • Sans Pro : Arabe ;
      • Avec Pro : alphabet mathématique ajouré ;
    • Avec Num :
      • Sans Pro : Cyrillique selon la disposition bulgare phonétique ;
      • Avec Pro : alphabet mathématique gras ;
  • Modificatrice optionnelle sur une touche au choix [sur F1 pour tester] :
    • Sans Num :
      • Sans Pro : Cyrillique selon la disposition bulgare phonétique ;
      • Avec Pro : (à définir) ;
    • Avec Num :
      • Sans Pro : (à définir) ;
      • Avec Pro : (à définir) ;


Niveaux Ctrl + Alt auxiliaires en périphérie sous Windows

Comme Microsoft a refusé d’implémenter les séquences de caractères par touche morte et n’est ainsi pas à jour d’Unicode[20], les utilisateurs de Windows doivent se contenter d’utiliser clavier bépoCtrl+clavier bépoAlt et ses dérivés comme accès à des niveaux d’appoint, utilisables seulement en périphérie du clavier (pas sur les touches alphabétiques), pour y obtenir notamment des séquences :

  • Des lettres composées dont seule la minuscule existe en précomposée mais qui s’utilisent pour la transcription de l’arabe : « H̱ » et « T̈ » ;
  • Le trigramme breton « cʼh », accessible sous les autres OS par clavier bépoêclavier bépoq ;
  • Le symbole copyleft U+1F12F, dont l’encodage sous Windows occupe deux unités de code parce que c’est un OS en UTF-16 et que le copyleft n’est pas dans le plan multilinque de base d’Unicode ;
  • Les tirets cadratin et demi-cadratin ont une synergie optimale avec l’EIC dans les pages web, mais non en texte justifié dans les traitements de texte, où l’EIC contrairement à la norme n’est pas justifiante, et n’est pas non plus déclinée en avatar à largeur (chasse) fixe comme dans les logiciels de PAO. Aussi la disposition de clavier propose-t-elle un palliatif sous forme de séquences composées d’un tiret et d’une espace insécable justifiante après ou avant, obtenue à partir d’une espace-mot sécable entourée soit de gluons U+2060 (pour un usage dans les logiciels à jour comme LibreOffice), soit d’espaces insécables nulles U+FEFF aujourd’hui déconseillées pour cet usage, mais toujours la seule possibilité dans les logiciels obsolètes comme MS Office[21]. Sur la touche de chacun des deux tirets, il y a en clavier bépoCtrl+clavier bépoAlt le tiret suivi d’un gluon, d’une espace et de nouveau d’un gluon, et en clavier bépoMaj+clavier bépoCtrl+clavier bépoAlt la même chose mais avec le tiret à la fin, pour clore l’incise. Pour avoir le tout avec l’espace insécable nulle à la place du gluon, il faut chaque fois ajouter clavier bépoAltDr (clavier bépoPro).

Les places restantes dans ces niveaux sur les touches concernées peuvent servir à raccourcir la saisie de quelques autres caractères, en particulier les lettres « ɛ » et « ɔ » qui sont souvent doublées, de sorte que l’utilisateur pourrait apprécier de les avoir aussi en touches vives (en plus de les avoir en touches mortes).

Afin d’améliorer l’ergonomie de l’accès à ces niveaux, il est possible de remettre sur le clavier une touche clavier bépoAltGr en affectant à une touche comme Windows droite ou Applications (Menu contextuel) le scan code T5E[22]. Il est nécessaire que ces niveaux Ctrl + Alt fassent partie de la norme, ainsi que tous ces moyens de dépanner Windows, afin que Microsoft puisse distribuer les drivers complets. Mais il faudra probablement que la norme précise que cela concerne uniquement Windows, puisque sous Linux, Ctrl + Alt n’est pas AltGr.


Touches vives

Pour faire le tour du clavier, on propose de commencer par les touches vives, et de voir ensuite les changements proposés du côté des touches mortes.

Gestion des espaces insécables

L’introduction de l’usage de l’espace insécable dans les habitudes des utilisateurs est l’un des mérites du bépo qui a vraiment innové sur ce créneau en plaçant l’espace insécable classique (EIC) au niveau Majuscule de la barre. La disposition est en effet pensée pour taper en séquence, au même niveau, l’insécable et la ponctuation qui la nécessite.

Les axes de développement des espaces insécables sont :

  • L’extension de ce fonctionnement avec l’espace insécable classique (EIC) à toutes les ponctuations, en particulier aux guillemets-chevrons (« … »), mais aussi aux tirets cadratin (—) et demi-cadratin (–), et enfin à la paire nouvellement ajoutée des guillemets-chevrons simples (‹ … ›) ;
  • La prise en charge de l’espace fine insécable (EFI), qui pour accompagner les ponctuations est l’espace insécable préférée, mais qui était encore faiblement supportée par les polices de caractères, ayant été encodée dans Unicode seulement pour la version 3.0 (septembre 1999).

Pour l’égalité devant l’espace insécable de toutes les ponctuations éligibles, on propose d’élever les guillemets-chevrons doubles au niveau Maj comme c’est indiqué sur la page v2:Idées, et de trouver moyen de placer le tiret cadratin et le tiret demi-cadratin pareillement au niveau Maj. Cela devient facile du moment que les chiffres quittent le niveau Maj – réalisant ainsi une autre idée consignée sur la page v2:Idées – pour s’installer au niveau accessible par AltDr (touche Alt droite, marquée clavier bépoAltGr. Autrement dit, la clé de résolution de ce problème, c’est d’avoir les chiffres en clavier bépoPro (touche Alt droite, marquée clavier bépoAltGr. La bascule coordonnée étant placée sur la touche où se trouve le tiret demi-cadratin, il devient malheureusement indispensable de déplacer ce dernier. Il faut alors trouver une nouvelle mnémonique :

  • Le tiret cadratin reste sur clavier bépo1. Le symbolisme actuel, construit à partir du chiffre 1 = ¹⁄₁, est conservé.
  • Le tiret demi-cadratin passe de clavier bépo$ sur clavier bépo5. La mnémonique se base alors sur l’égalité 0,5 = ¹⁄₂.

Renoncer au placement côte à côte est possible parce que ces deux tirets, s’ils s’utilisent souvent par paires, ne sont pas appariés pour autant[23].

Pour assurer la prise en charge de l’espace fine insécable, la solution la plus évidente au vu des fréquences d’usage serait la permutation des deux espaces insécables, mais cela impliquerait une rupture de l’expérience utilisateur parce que :

  • Les traitements de texte se refusent[24] à conférer à l’EFI une quelconque identité visuelle (trame de champ dans LibreOffice/OpenOffice Writer, symbole degré dans MS Word), de sorte que l’utilisateur pourrait être perturbé ;
  • L’EFI de par sa largeur réduite modifie l’aspect des documents où elle remplace l’EIC, ce qui est justement le but mais peut ne pas être accepté par l’utilisateur, du fait que plusieurs éditeurs de presse ont éliminé les espaces insécables accompagnant les ponctuations[25] ;
  • Beaucoup de vieilles polices décoratives ne contiennent pas l’EFI, et une mauvaise gestion des caractères indisponibles aidant, le travail est perturbé[26].

Afin d’éviter de trop pénaliser les utilisateurs de l’EFI, et d’assurer une certaine ergonomie à l’utilisation directe des ponctuations avec l’espace insécable préférée en typographie, cette proposition prévoit d’insérer d’un seul tenant les séquences « EFI ponctuation » (ou « ponctuation EFI ») quand l’utilisateur actionne les touches suivantes ;

  • Pour les point-virgule, deux-points, point d’interrogation et d’exclamation : clavier bépoPro (Alt droite) en plus du clavier bépoMaj+clavier bépotouche habituel ; autrement dit : les séquences tout-en-un sont en clavier bépoMaj+clavier bépoPro (ou selon le marquage du clavier : en clavier bépoMaj+clavier bépoAltGr) sur les touches des ponctuations concernées ;
  • Pour les guillemets doubles : clavier bépoPro+clavier bépoZ et clavier bépoPro+clavier bépoW ;
  • Pour les guillemets simples : clavier bépoMaj+clavier bépoPro+clavier bépoZ et clavier bépoMaj+clavier bépoPro+clavier bépoW.

Les guillemets avec EFI sont sur clavier bépoZ et clavier bépoW et non sur les touches des guillemets parce que :

  • Ils sont si fréquents qu’un accès plus facile qu’en clavier bépoMaj+clavier bépoPro est souhaitable ;
  • Les places en Alt droite + main droite sont certes sous-optimales, mais pas inaccessibles, même s’il aurait été préférable d’avoir tous les guillemets sous la main gauche ;
  • Les places en clavier bépoMaj+clavier bépoPro sur les touches des guillemets sont données de manière logique au double prime et au prime, qui sont déplacés ici, le prime pour être sur la même touche que le guillemet simple informatique, le double prime pour être à côté (c’est un cas de mnémonique spatiale conservé) et sur la touche dont le caractère en accès direct, le croisillon, remplace le guillemet double informatique en accès direct mais fonctionne comme tel avec les touches mortes pour produire tous les guillemets-virgules (dont les trois doubles du bépo continuent d’être en touches vives) ;
  • Les guillemets simples avec EFI sont impossibles à obtenir par touche morte sous Windows (tandis que sans EFI, ils sont en clavier bépoêclavier bépo« et clavier bépoêclavier bépo»), il faut donc les mettre en touches vives, de préférence sur les mêmes touches que les doubles ;
  • Il n’y a pas de place à gauche près des guillemets, tandis que les clavier bépoZ et clavier bépoW sont côte à côte et mieux disponibles ;
  • On a un effet mnémonique à base de formes de lettres (qui a dû amener d’autres dispositions à avoir les guillemets-chevrons en bas à gauche), car le Z et le W peuvent chacun être découpés au milieu en deux chevrons.

En tant que séparateur de milliers français, l’EFI est sur la barre en mode pavé numérique émulé. Cela fait que sur les claviers ISO, l’EFI peut être saisie plus simplement par clavier bépoNum+clavier bépoEspace.

Le mode pavé numérique (actif tant que la nouvelle modificatrice clavier bépoNum est pressée) offre aussi des facilités pour insérer d’un seul tenant des séquences « EFI symbole » (ou « symbole EFI ») :

  • Pourcentages : bloquer l’auriculaire gauche sur clavier bépoNum, taper les chiffres (éventuellement avec virgule), et finir en donnant un coup de l’auriculaire droit sur clavier bépoM (existe aussi avec le symbole pour mille, une touche plus loin) ;
  • Montants en euros : bloquer l’auriculaire gauche sur clavier bépoNum, taper les chiffres (éventuellement avec des EFI séparateurs de milliers et une virgule), et finir en donnant un coup de l’auriculaire droit sur clavier bépoW (existe aussi avec le symbole euro préposé suivi d’EFI, sur clavier bépoE).


Utilisation de la rangée des chiffres

La morphologie des mains humaines fait que dans la frappe en A, les touches clavier bépo3 et clavier bépo4 sont atteintes aussi facilement de l’annulaire et du médian gauches, que la touche clavier bépoÈ l’est de l’index. Pareillement à droite, les touches clavier bépo9 et clavier bépo0 sont atteintes par le médian et l’annulaire dans la même position de la main qui permet de poser l’index sur clavier bépoV et l’auriculaire sur clavier bépoZ. Sur le bépo version 1, ce sont particulièrement la barre oblique et l’astérisque qui ont été choisis pour bénéficier de cette situation (ou selon la frappe classique et les claviers orthogonaux, plutôt le tiret et la barre oblique).

Le placement de lettres sur la rangée des chiffres figure déjà parmi les options de la v2. Les modifications connexes en sont à la fois des conditions et des avantages :

  • Le non-maintien des chiffres en Majuscule permet de les rendre beaucoup plus accessibles en Alt droite, de les mettre au même niveau que les caractères informatiques à placer en Alt droite pareillement, et de basculer les chiffres indépendamment de la casse des lettres ;
  • Les colonnes Base–Maj qui apparaissent ainsi sur les touches de la rangée des chiffres peuvent recevoir des lettres diacritées, qui deviennent ainsi plus accessibles comme le Ç (claviers ANSI), plus stables comme l’À en cas d’aménagement pour la frappe en A, plus ergonomiques comme l’Œ et l’Ù désormais sous l’autre main, et libèrent les emplacements très accessibles qu’ils occupaient pour des raisons mnémotechniques[27] ;
  • Les places en Alt droite libérées par les lettres Æ, Œ et Ù permettent l’aménagement ergonomique du niveau Alt droite de la rangée de repos et facilitent le placement des deux sélecteurs de groupe symétriques sur la rangée au-dessus ;
  • Les parenthèses et crochets sont placés au même niveau et de manière symétrique, évitant ainsi au mieux les discriminations a priori qui influencent dans un sens ou dans l’autre la présentation des documents écrits sur les dispositions historiques[28] ;
  • La “mauvaise” place sur clavier bépo6 est utilisée pour une lettre vraiment rare (l’Æ) et non pour l’arobase, dont l’accès direct se fait plus facilement sur la touche MOINS (à droite de 0) ;
  • On aboutit à une situation très logique où toutes les lettres minuscules utilisées pour le français sont en accès direct, ou en séquences d’accès direct (sauf les lettres avec tréma).


Contours des zones les plus accessibles de la rangée des chiffres, avec leur utilisation proposée : :

tiret↘ cadratin    tiret insécable ↘     ↙ barre de fraction  ↙ signe moins
╔════╗────┬────╔════╤════╗────┬────┬────┬────╔════╤════╗────┬────╔══════════╗
║Verr║ — ¶│ « ″║ » ′│ À ÷║ – ×│ Æ “│ - ⁄│ Œ ∞║ Ç ”│ Ù „║ − ±│ + ≠║          ║
║ PRO║ ` 1│ # 2║ ' 3│ à 4║ ^ 5│ æ 6│ á 7│ œ 8║ ç 9│ ù 0║ @ °│ = %║ ←‒‒‒‒    ║
╠════╩══╔═╧══╤═╝──┬─┴──┬─╚══╤═╧══╗─┴──╔═╧══╤═╝──┬─┴──┬─╚══╤═╧══╗═╚══╦═══════╣
║ |←‒‒‒ ║    │    │    │    │    ║    ║    │    │    │    │    ║    ║    |  ║
║ ‒‒‒→| ║ b $│ é '│ p &│ o  │ è "║[ê]\║ v  │ d  │ l  │ j  │ z  ║ w  ║ ←‒‒┘  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───╚╦═══╝┬───┴┬───┴┬───┴┬───┴┬───╚╗───╚╗      ║
║ Verr   ║    │    │    │    │    ║    │    │    │    │    │    ║    ║      ║
║ CAPS   ║ a (│ u )│ i |│ e €│ , *║ c #│ t {│ s }│ r [│ n ]│ m  ║[ò] ║      ║
╠══════╦═╩══╗─┴──┬─┴──┬─┴══╤═┴──┬─╚══╗─┴══╤═┴──┬─┴──┬─┴──┬─┴──╔═╝──══╩══════╣
║  /\  ║    ║    │    │    │    │    ║    │    │    │    │    ║       /\    ║
║  ||  ║ Num║ y <│ x >│ . …│ - ·│ k /║ ’ ~│ q  │ g  │ h  │ f  ║       ||    ║
╠══════╩╦═══╩══╦═╧═══╦╧════╧════╧════╩════╧════╧╦═══╧═╦══╧═══╦╩═════╦═══════╣
║       ║      ║     ║ [EIC]       [EFI]        ║     ║      ║      ║       ║
║ Ctrl  ║ Win  ║ Alt ║ [espace]    [Compose]    ║ Pro ║ Win  ║ Menu ║ Ctrl  ║
╚═══════╩══════╩═════╩══════════════════════════╩═════╩══════╩══════╩═══════╝


Rapprochement du Ç sur les claviers ANSI

La frappe en A et la touche tiret

Accès direct aux lettres du français

Accès direct à des caractères informatiques en mode Langues

Parenthèses, crochets et accolades sur la rangée de repos

Les autres caractères informatiques en AltDr

Les différents modes d’accès aux chiffres

Le mode Programmeur

Touches mortes

Le nouveau modèle de fonctionnement

Davantage de touches mortes en accès direct

Les nouvelles touches mortes Exposant et Indice

Des ponctuations par touches mortes

Des raccourcis pour des lettres étrangères

Touches mortes reliées à l’arborescence Compose

Le Compose de la disposition

Économies de touches mortes

Deux sélecteurs de groupe rémanents

Les contenus manquants sont à venir sous peu, merci de votre compréhension.

Notes

  1. De nombreuses idées attendent sur la page v2:Idées, mais pour leur concrétisation sous Windows – traditionnellement l’OS le plus limitatif – il en manquait une ou deux. On essaie de faire le tour dans la section Point de départ.
  2. Sous Windows, dans les niveaux « VerrXxx + Num » une touche sur 5 est défaillante sans raison apparente, suite à un bug ou par le fait d’un bridage. Il faut voir cela sur le fond du refus de Microsoft d’implémenter les dispositions de clavier en XML, adopté par Apple et le CLDR d’Unicode, et de manière plus générale, le refus de Microsoft de mettre à jour les ressources clavier pour une prise en charge totale d’Unicode, ainsi que son refus de participer aux travaux de la norme internationale ISO/IEC 9995. Pour pallier le mitage de la carte, on a le choix entre les doublages sur des touches non utilisées (c’est ce qui a permis de mettre tout l’hébreu en touches vives), et la saisie par touche morte. Pour le cyrillique, les touches défaillantes sont doublées sur la rangée des chiffres, et une touche morte sur clavier bépoVerrMaj+clavier bépoY donne accès à son tour à tout l’alphabet cyrillique.
  3. Cette argumentation risquera de tomber à plat parce que les révélations sur la politique de la peur ont déja immunisé l’opinion publique. Il faudrait toutefois diriger ce réflexe contre ceux qui font surtout des discours, non contre ceux qui proposent des solutions et qui ont peur de les voir rejetées faute d’une conscience des tenants et aboutissants.
  4. ISO/CEI 9995 : Histoire d’ISO/CEI 9995
  5. Quand je ne le savais pas, je le réclamais sur les forums de Microsoft Community, MSDN et Technet… Marcel (discussion) 13 septembre 2016 à 12:57 (CEST)
  6. Cette situation de Windows s’explique par une externalisation de fait. Les dispositions de clavier performantes y sont devenues l’apanage d’autres maisons, qui ont développé des éditeurs d’entrée. Même l’ISO/IEC a pris ce virage avec la nouvelle partie 11 d’ISO/IEC 9995 (tout en restant dans sa tradition à dominante théorique qui se révèle inefficace en pratique).
  7. Une modificatrice rémanente est implémentée en tant que touche morte, et une touche (comme AltGr) ne peut pas être à la fois une modificatrice et une touche à caractères. Cela fait que pour implémenter son clavier allemand multilingue standard sous Windows, Karl PENTZLIN a été amené à détourner une touche vive (celle du symbole multiplication) pour en faire une touche morte sélectrice de groupe.
  8. Un autre avantage est que Microsoft évite de canoniser un panel d’écritures “must have” alors que c’est à chaque utilisateur de configurer sa barre de langues avec les dispositions de son choix, qu’il peut d’ailleurs adapter à tout moment selon ses préférences avec le MSKLC.
  9. Rappelons que le fondement historique de la civilisation française (et européenne) est le christianisme, qui depuis la Réforme utilise en France le grec et l’hébreu en plus du français et du latin ; que depuis la Renaissance, la civilisation occidentale serait impensable sans le rôle joué par les savants arabes ; et qu’enfin, depuis l’époque de la colonialisation, la France a délibérément lié son sort à celui de plusieurs nations de civilisation arabe. Inutile de préciser que le vietnamien est couvert dans le cadre de la prise en charge (totale) de l’écriture latine.
  10. Le Scan Code Mapper for Keyboards fait partie de Windows depuis 2000. Il permet de remapper les codes des touches. Son paramétrage est dans la valeur « Scancode Map » à ajouter dans la clé de registre « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout ». Pour écrire la valeur Scancode Map, toutes les explications sont sur la page Keyboard and mouse class drivers (Windows Drivers), section Scan Code Mapper for keyboards.
  11. Marcel le 14 septembre 2016
  12. La valeur 0x80 de l’attribut a été additionnée à l’attribut 0x01 de la touche VK_A, attribut qui soumet la touche à la bascule VerrCap pour les niveaux Base et Shift. Le nouvel attribut qui en résulte est 0x81, mais au test, à bascule VerrCap active, la sortie avec la modificatrice KBDGRPSELTAP (implémentée sous forme de la modificatrice clavier bépoNum) était inchangée.
  13. Admettant que le reste signifie « group selector ». Cela reviendrait à imaginer que les développeurs auraient reçu la consigne de prévoir de quoi « singer » ce sélecteur de groupe…
  14. C’est le scénario le plus probable, qui toutefois est issu d’un décryptage personnel (adresser les critiques à Marcel).
  15. Cette fonctionnalité porte le nom de SGCaps pour « Swiss German Capitals », d’après la région pour laquelle elle avait été implémentée sous Windows.
  16. Sur les claviers de bureau ANSI, la touche Windows gauche peut être remappée pour faire office de touche 105. Cette dernière peut être ajoutée aussi sur les claviers de portables ANSI en mettant à contribution la touche F1, car l’aide peut être invoquée à l’aide du dispositif de pointage, qui de toute manière est en général indispensable pour y naviguer. Sous Windows, ces remappages sont faits avec le Scan Code Mapper for Keyboards inclus.
  17. Il aurait peut-être été souhaitable de tripler le zéro à gauche du clavier bépo1, mais cette place est prise par le chiffre hexadécimal clavier bépoB. Une autre option serait de tripler le zéro à la place du double zéro clavier bépo00.
  18. Jusqu’à preuve du contraire.
  19. L’arabe reste à intégrer dans l’arborescence Compose, mais cela représente un gros travail ; il faut prendre en charge à la fois les noms des lettres selon leur prononciation, et les noms des lettres selon la romanisation normalisée (devenus les noms Unicode).
  20. Cette obsolescence de Windows ressort d’un échange public entre Karl PENTZLIN, concepteur et rédacteur de la nouvelle norme de clavier allemande et de la dernière révision d’ISO/IEC 9995, et Michael S. KAPLAN, développeur chez Microsoft et auteur du MSKLC, dans ce fil de discussion sur la ML publique d’Unicode (en anglais).
  21. Il faudrait vérifier si Office 2013, 2016 ou 365 ont été mis à jour.
  22. Cela doit être demandé individuellement par l’administrateur de l’ordinateur. Des clés de registre à fusionner contenant des valeurs « Scancode Map » doivent être mis à la disposition des utilisateurs de Windows.
  23. On verra d’autres exemples où le côte-à-côte cède la place à une mnémonique plus graphique que spatiale ; il s’agit surtout des guillemets-virgules et des opérateurs mathématiques, mais aussi du ¶. Un autre principe mnémonique est l’assonance, utilisée pour ¬ et avant tout pour les touches mortes.
  24. Cf. ce qu’en dit un wiki obsolète chez OpenOffice : https://wiki.openoffice.org/wiki/Non_Breaking_Spaces_Before_Punctuation_In_French_%28espaces_ins%C3%A9cables%29#Exclusion_of_the_NARROW_NO-BREAK_SPACE_.28U.2B202F.29
  25. Pour s’en justifier, ils prétextent l’indisponibilité de l’espace insécable sur le web — ignorance ou hypocrisie ? Le Huffington Post peut être cité en exemple, pour alléguer que le but est l’égalisation de la charte graphique sur le modèle US-américain, malgré le partenariat avec Le Monde, lequel emboîta le pas pendant un moment dans son édition en ligne. Cf. « Les malheurs de l'espace dure », tribune d’Antoine COMPAGNON dans le Huffington Post.
  26. Une partie des utilisateurs de traitements de texte wysiwyg écrivent directement dans la police finale, qui lorsqu’elle ne contient pas un caractère utilisé, présente un glyphe d’indisponibilité, ou certains logiciels vieillots affichent un point d’interrogation ; d’autres comme Word qui basculent automatiquement vers une police par défaut, ne retournent pas à la police précédente à la suite. Parmi les solutions on peut citer la saisie en fonte de labeur avant l’application de la fonte finale ; la saisie avec EIC puis rechercher-remplacer de tous les EIC par des EFI si l’EIC sert uniquement aux ponctuations.
  27. Comparée à l’effort global d’apprentissage du bépo, la mnémonique du placement de quelques lettres moins fréquentes ou rares ne représente qu’un faible gain, qui se retourne même en perte si l’on considère aussi la perte d’ergonomie. Autrement dit, l’utilisateur a plus d’avantages à consentir un petit effort d’apprentissage supplémentaire, qu’à s’arrêter devant l’apprentissage d’une rangée de plus.
  28. Emploi à mauvais escient des parenthèses sur les claviers français, des crochets sur les claviers US-qwerty.