Utilisateur:A2/neo2bepo

De Disposition de clavier bépo

En travaux

neo2bepo est un projet pour 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 en s'inspirant du pilote Windows créé pour le neo2 allemand.

L'idée est de sacrifier deux touches en accès direct, en bépo clavier bépoê et clavier bépoç ainsi que capslock pour obtennir six modificateurs donnant accès de manière quasi-symétrique pour les deux mains à deux couches complètes[1]. , nommées mod3 et mod4 sur le neo2, en plus de la couche majuscule (des tas de combinaisons sont possibles). Deux touches deviennent modificatrices et donnent accès à deux couches bien plus accessibles que la couche AltGr du bépo ou que la touche morte 8 à tout faire du dvorak-fr.

Dans les sources en C, l'astuce est que le .H contient une table des scancodes des touches et des virtualkeys. On sait que l'on peut donc déplacer certains modificateurs et que l'utilisation de la touche kana permet de créer une couche supplémentaire en plus de celle AltGr. Pour tester le pilote je copie la dll générée avec le WDK dans répertoire system32/sysWOW64 en écransant l'ancienne puis je ferme et réouvre ma session. Il n'y pas besoin de rebooter ou d’installer/désinstaller des tonnes de dispositions.

Je souhaite pouvoir encore au moins inverser MOD4 et Alt pour avoir des AltGr symétriques accessibles par les pouces. Dans cette configuration les claviers 104 touches n'aurait pas de Alt. Cette disposition serait vraiment optimisée pour les claviers où la touche balladeuse autour d'entrée se trouve sur la ligne du capslock à savoir les claviers les plus répandus en France[2] (voir le comportement de la touche au scancode 2B autour d'entrée).


État de base et majuscules

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║         ║
│    │    │    │    │    │    │    │    │    │    │    │    │    ║   <--   ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║       ║ B  │ É  │ P  │ O  │ È  │    │ V  │ D  │ L  │ J  │ Z  │ W  ║   |  ║
║  ->|  ║ b  │ é  │ p  │ o  │ è^  │ v  │ d  │ l  │ j  │ z  │ w  ║ <-'  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║**MOD3**║ A  │ U  │ I  │ E  │    │ C  │ T  │ S  │ R  │ N  │ M  │MOD3║     ║
║********║ a  │ u  │ i  │ e  │ ,  │ c  │ t  │ s  │ r  │ n  │ m  │****║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║   ^  ║MOD4│ À  │ Y  │ X  │    │ K  │    │ Q  │ G  │ H  │ F  ║     ^      ║
║   |  ║****│ à  │ y  │ x  │ .  │ k  │ Q  │ g  │ h  │ f  ║     |      ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║ EspaceMOD4 ║      ║     ║      ║
║ Ctrl  ║ WinG ║ Alt ║ Espace                    ║**** ║ WinD ║WinM ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

bépo from scratch avec modificateurs neo2 : ce qui change, ce qui pourrait bouger[3]
  • Je garde bépo pour l’alphabétique et place les chiffres en accès direct. 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 : elle me dérange car je l’insère trop souvent par mégarde.
  • Je place l’apostrophe typographique en accès direct à la place de '.
  • De là, le reste va bouger en fonction de mes besoins personnels et se construire petit à petit. De toute manière je peux revenir à bépo. Le but est en premier temps d’étudier l’accessibilité des nouvelles couches.
Remarque :

On peut revoir la position des touches « sensibles » en tenant compte de la fréquence des lettres sur le corpus de o< utilisée pour générer la dispo :

  • le tiret « - », servant de trait d'union en français, est quasi aussi fréquent que « à » et manque complètement alors que x y è z w ç et k moins fréquents sont en accès direct !
  • le ^ mort est très fréquent, il faut l'avoir en direct, lui ou êÊ, ^ serait surement mieux avec les autres touches mortes.
  • « À » me parait très bien où il est.
  • tenir compte de l’argument que les touches de M, J et surtout W sont en dehors de la « zône dactylograpique », voir les différentes variantes du bépo (bépow) : on utilise plus retour arrière et entrée, W est très bien où il est pour le peu d'anglais que je tape.
  • Nemolivier suggère d'inverser MOD3 et SHIFT mais je pense que l'accessibilité aux majuscules est moins importantes que ce que l'on va placer sur les autres couches.
  • tant qu'on y est on peut essayer de récuperer entrée comme mod4 (ou maj) : entrée à la place du k accessible par les deux index et k sous w (c'est top pour écrire wiki !) et pourquoi pas retour arrière sur ^ au milieu du clavier (j'avais déjà testé ça sur pkl).

Rangée supérieur : 26 places

Ceux qui veulent une disposition optimisée pour coder peuvent utiliser cette ligne de 13 touches pour mettre l'alphabet dans l'ordre…

 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
 │ a  │ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  │ m  ║         ║
 │ n  │ o  │ p  │ q  │ r  │ s  │ t  │ u  │ v  │ w  │ x  │ y  │ z  ║   <--   ║

Blague à part. Le neo2 choisit de mettre les chiffres en direct c'est discutable. Déjà l’ordre des chiffres peut être modifié fonction de la place du 0. Il faut tenir compte du fait que la touche du 6 est très peu accessible. Les caractères en majuscules sur cette rangée paraissent moins accessibles que ceux des nouvelles couches.

De plus le semblant de pavé numérique (sur MOD4) pour les chiffres est bien plus ergonomique à l'utilisation que la rangée supérieure, linéaire. Il vaudrait mieux placer des symboles en direct sur cette rangée. Les chiffres sont moins fréquents que certains symboles. Voici le bépo actuel :

 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
 │ # ¶│ 1 „│ 2 “│ 3 ”│ 4 ≤│ 5 ≥║ 6  │ 7 ¬│ 8 ¼│ 9 ½│ 0 ¾│ ° ′│ ` ″║         ║
 │ $ –│ " —│ « <│ » >│ ( [│ ) ]║ @ ^│ + ±│ - −│ / ÷│ * ×│ = ≠│ % ‰║ <--     ║
  • « et » comme : ; ? et ! sont liés à l’espace insécable, la paire «» est surement mieux sur une autre couche.
  • trois tirets sont nécessaires en français, sur 8 il est moins pire qu'ailleurs
  • on pourrait aussi placer È Ê Ç W
  • ou des touches mortes multi-fonctions (le grave mort est souvent utilisé pour ça).
  • pour info il reste à placer des caractères comme ()/ùœ*=@+%æ<>[]&… (dans l'ordre de fréquence même si c'est peu pertinent),


Couche « altgr »

J'essaye déjà de garder la couche AltGr pensée pour bépo et d'expoiler. Voilà la couche neo2 (voir la carte AltGr pour bépo) :

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    ║    │    │    │    │    │////│    ║         ║
│ °  │ ¹  │ ²  │ ³  │ ›  │ ‹  ║ ¢  │ ¥  │ ‚  │ ‘  │////│ ≠  │ ‰  ║         ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║       ║    │    │    │    │    ║    │    │    │    │    │    │    ║      ║
║       ║ |  │ ´  │ &  │ œ`  ║ ¡  │ ˇð/ijə˘  ║      ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║        ║    │    │    │    │    ║    │    │    │    │    │    │    ║     ║
║        ║ æù¨  │ €  │ ’  ║ ©  │ þß  │ ®  │ ˜¯¸  ║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║    │    │    │    │    │    ║    │    │    │    │    ║            ║
║      ║ /  │ \  │ {  │ }  │ …  │ ~  ║ ¿  │ °µ  │ †  │ ˛  ║            ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║                           ║     ║      ║     ║      ║
║       ║      ║     ║  _                        ║AltGr║      ║     ║      ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

Touche kana

TODO… (on peut y mettre un pavé numérique sous la main que l'on désire ou sous linux/pkl les touches de déplacements.)

Scancode et vk

TODO…

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║         ║
│ 29 │ 02 │ 03 │ 04 │ 05 │ 06 │ 07 │ 08 │ 09 │ 0A │ 0B │ 0C │ 0D ║   0E    ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
║  0F   ║ 10 │ 11 │ 12 │ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 19 │ 1A │ 1B ║  1C  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║
║  3A    ║ 1E │ 1F │ 20 │ 21 │ 22 │ 23 │ 24 │ 25 │ 26 │ 27 │ 28 │ 2B ║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║    │    │    │    │    │    │    │    │    │    │    ║            ║
║  2A  ║ 56 │ 2C │ 2D │ 2E │ 2F │ 30 │ 31 │ 32 │ 33 │ 34 │ 35 ║     36     ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║                           ║     ║      ║     ║      ║
║  1D   ║ E01F ║ 38  ║          39               ║E038 ║ E027 ║ E02F║ E01D ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

Pavé numérique

Le neo2 modifie aussi le pavé numérique en fonction des modificateurs, pour le moment ça ne m'intéresse pas, bepo n'a jamais touché à ça non plus.

Notes

<references>

  1. Ne sachant pas trop quel mot utiliser pour décrire l'ensemble des touches d’un modificateur spécifique, j’utilise le mot « couche », au sens de niveau (stratigraphique) comme si la disposition était une superposition d’états (du clavier) ou de plans (neo2 utilise le mot [witk:http://de.wiktionary.org/wiki/Ebene Ebene]).
  2. J’en ai une dizaine comme ça à la maison… et un TypeMatrix !
  3. Fréquemment débattu par les utilisateurs du bépo