Utilisateur:Marcel/Version 2.0

De Disposition de clavier bépo

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 (ou VerrMaj + touche morte pour 20 % des touches sous Windows, à compléter par touches vives de la rangée supérieure), 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 (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.[2]


É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)[3], à 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[4], 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[5].


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…


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[6] Ainsi l’utilisateur peut disposer d’une touche AltGr par exemple sur Windows droite ou gauche.

Selon les derniers tests[7], 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[8]. On peut se demander si les lettres « AP » dans GRPSELTAP ne signifieraient pas « aping »[9]… 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 ».

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[10]. 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. 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 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 principal inconvénient est l’absence de témoin lumineux. Avec de l’entraînement on peut acquérir une sorte de drapeau mental mais cela amène l’utilisateur à se préoccuper davantage 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).


La nouvelle modificatrice Num

La 105ᵉ touche – si elle est présente – 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 ».

La carte actuellement proposée est celle-ci :

╔════╗────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔══════════╗
║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 bé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[11].

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[12] :

  • 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 modificatrices supplémentaires disponibles sont les suivantes :

  • Oyayubi droite ;
  • Oyayubi gauche.

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.

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) :

static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
  { VK_SHIFT     , KBDSHIFT    },  // 0000 0001  0x01
  { VK_CONTROL   , KBDCTRL     },  // 0000 0010  0x02
  { VK_MENU      , KBDALT      },  // 0000 0100  0x04  Left Alt key
  { VK_OEM_AX    , KBDKANA     },  // 0000 1000  0x08  Right Alt is Kana modifier
  { VK_CAPITAL   , KBDROYAYUBI },  // 0001 0000  0x10  KBDROYA in kbd.h; added on CapsLock
  { VK_KANA      , KBDLOYAYUBI },  // 0010 0000  0x20  KBDLOYA in kbd.h; added on KanaLock
  { VK_OEM_WSCTRL, KBDGRPSELT  },  // 1000 0000  0x80  KBDGRPSELTAP in kbd.h; Group selector on B00
  { 0            , 0           }
};

Note : Le bit drapeau 0x40 n’est pas défini dans kbd.h ; de plus, il est difficile d’en avoir l’utilité sur les claviers occidentaux, à moins qu’il y ait une 106ᵉ touche comme sur les claviers brésiliens.

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 clavier bépoNum plusieurs touches (20 %) tombent en panne sous Windows, avec comme résultat le mitage des cartes « Num + [modificatrice bonus] ». 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 : français–arabe dans la culture maghrébine, grec–hébreu dans la culture chrétienne, arabe–hébreu pour l’équité et la réconciliation. Les défauts 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 touche morte (placée sur la carte du grec avec une ergonomie pour le cyrillique), et tous les caractères pris en charge sont aussi intégrés dans l’arborescence Compose (ou devront l’être).

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

  • Oyayubi droite sur VerrCap :
    • Sans Num : Grec monotonique et polytonique ;
    • Avec Num : Cyrillique ;
  • Oyayubi gauche sur VerrPro :
    • Sans Num : Arabe ;
    • Avec Num : Hébreu vocalisé.


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

Vue d’ensemble des 30 niveaux résultants

Touches vives

Gestion des espaces insécables

Utilisation de la rangée des chiffres

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

Davantage de touches mortes en accès direct

Des raccourcis pour des lettres étrangères

Touches mortes reliées à l’arborescence Compose

Le Compose de la disposition

Économies de touches mortes

Les nouvelles touches mortes Exposant et Indice

Deux sélecteurs de groupe rémanents

Les contenus 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. 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.
  3. ISO/CEI 9995 : Histoire d’ISO/CEI 9995
  4. 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)
  5. 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).
  6. 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.
  7. Marcel le 14 septembre 2016
  8. 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.
  9. 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…
  10. C’est le scénario le plus probable, qui toutefois est issu d’un décryptage personnel (adresser les critiques à Marcel).
  11. 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.
  12. Jusqu’à preuve du contraire.