Utilisateur:A2/neo2bepo

De Disposition de clavier bépo

Cette page détaille le fonctionnement de mon pilote Windows bépo « amélioré » en cours de développement (fév. 2010) : le déplacement de quasi toutes les touches, dont les modificateurs, est possible en compilant les sources en C du WDK[1].

néo2bépo est un projet perso visant à améliorer l'accessibilité des chiffres, des caractères de programmation et de typographie de la disposition de clavier bépo sur un clavier standard (105 touches décalé) en s'inspirant de la disposition Neo2 allemande.

Déplacement des modificateurs

L'idée du Neo2 est de sacrifier deux touches en accès direct, en bépo clavier bépoê et clavier bépoç ainsi que clavier bépoCapslock pour obtenir six modificateurs donnant accès de manière quasi symétrique pour les deux mains à deux couches complètes[2], nommées mod3 et mod4 sur le neo2, en plus de la couche majuscule. Les deux couches sont bien plus accessibles que la couche AltGr du bépo ou que la ctouche morte 8 à tout faire du dvorak-fr.

J'adapte ce système à bépo[3] en améliorant encore la symétrie et l'accessibilité aux modificateurs des couches auxiliaires grâce à :

  • deux clavier azertyMaj sur clavier bépoCapslock et clavier bépoEntrée
  • clavier bépoAlt sert d'clavier azertyAltGr gauche pour avoir AltGr symétrique.
  • clavier bépoWin gauche est supprimé au profit de clavier azertyAlt.
  • clavier bépoCapslock devient la fonction clavier azertyVerrou placée sur clavier bépoRetour arrière.
  • les nouveaux modificateurs clavier azertyICI et clavier azerty seront décrit plus bas.

Seul clavier bépoTab, clavier bépoCtrl et clavier bépoAltGr ne bougent pas, les modificateurs en rouge sont permutées.

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║ Verrou  ║
│    │    │    │    │    │    │    │    │    │    │    │    │    ║         ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
║  ->|  ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║        ║    │    │    │    │    │ <--│    │    │    │    │    │    ║     ║
║  Maj   ║    │    │    │    │    │    │    │    │    │    │    │    ║ Maj ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║    │    │    │    │    │    │ <-'│    │    │    │    ║            ║
║  ICI ║    │    │    │    │    │    │    │    │    │    │    ║          ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║                           ║     ║      ║     ║      ║
║ Ctrl  ║ AltAltGr║                           ║AltGr║ WinMenu ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

Changements perso sur bépo

  • Je garde bépo quasi complet. Pas question de réapprendre un réarrangement des touches, ça attendra une éventuelle v2 dans quelques années.
  • Je supprime l’espace insécable de Maj+espace[4].
  • Je place l’apostrophe typographique en accès direct.


Verr ICI et LÀ

┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ 
│  │ │ │ │ │ │ │ │ │ │ │ │ │     │ 
├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬────┤ 
│   │ │↷│ │ │ │ │ │ │ │ │ │ │    │ 
├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐   │ 
│    │↲│⇟│⇞│ │ │⌫│⇠│⇣│⇡│⇢│ │ │   │ 
├───┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┴───┤ 
│ICI│ │⌦│ │i│ │↲│ │ │ │ │ │  LÀ  │ 
├──┬┴─┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬──┤ 
│  │  │  │     ␣     │  │  │  │  │ 
└──┴──┴──┴───────────┴──┴──┴──┴──┘
┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ 
│  │ │ │ │ │ │ │7│8│9│ │ │ │Verr.│ 
├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬────┤ 
│ ⇥ │ │ │ │ │ │ │4│5│6│ │ │ │    │ 
├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐   │ 
│    │ │ │ │ │ │ │1│2│3│ │ │ │   │ 
├───┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┴───┤ 
│   │ │ │ │ │ │ │ │ │ │ │ │      │ 
├──┬┴─┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬──┤ 
│  │  │  │     0     │  │  │  │  │ 
└──┴──┴──┴───────────┴──┴──┴──┴──┘

Autocritique

Points positifs

  • modificateurs symétriques au niveau de la rangée de repos pour l'accès aux majuscules : clavier bépoCapslock et clavier bépoEntrée
  • modificateur symétrique pour accèder à la couche AltGr : clavier bépoAlt et clavier bépoAltGr
  • deux solutions pour clavier bépoEntrée au milieu du clavier : soit accès en maj clavier bépok avec perte de K, soit accès en direct avec perte de clavier bépoç
  • retour arrière au milieu du clavier (et suppr ?)
  • un pavé numérique verrouillable accessible par la touche clavier bépoVerr. sur la rangée de repos ainsi qu'une nouvelle couche à remplir
  • des touches de déplacements (défilements ?) sur les clavier béponeoMaj (les anciens Maj.)
  • touche compose ♫ (du Neo2) en clavier bépoICI+clavier bépoê
  • (probablement empilement de touches mortes en utilisant le même principe que compose)

Points négatifs

  • entrée/retour arrière n'ont plus d'accès direct
  • réflexe d'aller chercher les Maj vers le bas, les auriculaires sont plus courts, du coup Maj sur Entrée droit est éloigné : une solution est de supprimer clavier azerty, redescendre les majs et garder clavier azertyICI seul sur capslock qui fait très bien son travail sans LÀ
  • capslock pour les majuscules n'existe plus au profit du pavé numérique sous les doigts.
  • une seule touche super à droite voir aucune sur un clavier 104 touches avec un seul super

À faire

  • tester le déplacement des touches de défilements
  • tester le déplacement d'inser. et suppr.
  • compléter la nouvelle couche Verr à commencer par les abords du nouveau pavé numérique
  • revoir la couche AltGr maintenant symétrique et la rangée supérieure
  • tenter de numlock accessible pour surligner, par exemple sur inser pas trop loin de bs
  • vérifier compose et les touches mortes
  • essayer l'empilement de touches mortes
  • tester tester tester !
  • une installe pour les pilotes que les gens puissent essayer… quand le code sera plus propre !

Notes

<references>

  1. Pour tester le pilote je copie la dll générée avec le WDK dans les répertoires system32 et sysWOW64 en écrasant les précédentes puis je ferme et rouvre ma session. Il n'y pas besoin de rebooter ou d’installer/désinstaller la disposition.
  2. Carte/couche/état/niveau/plan AltGr/Maj… Quel terme utiliser en français pour décrire « l'ensemble des touches sous l'action d'un modificateur spécifique ». J’utilise le plus souvent inconsciement le mot « couche », pour son sens stratigraphique, décrivant la disposition comme une superposition de couches. La couche AltGr, la couche Maj, la couche AltGr+Maj… En anglais on trouve le terme d'état (shift state dans la source du pilote wind kbd.h), en allemand la traduction serait plutôt niveau, plan ou calque (le Neo2 utilise le mot Ebene). Sur ce wiki rencontre parfois simplement « carte AltGr » pour désigner la « carte de la “couche” AltGr ». Bref, où sont les académiciens ?
  3. Dans les sources en C, l'astuce est que le .H contient une table des scancodes des touches et des virtualkeys avec laquelle on peut donc déplacer les touches qui ne l'étaient pas dans MSKLC, ici les modificateurs. En passant l'utilisation de la touche kana comme touche morte permet de créer une couche vérrouillable (kanalock).
  4. Elle me dérange car je l’insère trop souvent par mégarde quand je saisie des caractères en Maj.