« Utilisateur:A2/neo2bepo » : différence entre les versions

De Disposition de clavier bépo
Ligne 132 : Ligne 132 :
<pre>
<pre>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│OEM1│ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │ 0  │    │OEM2║ LWIN  ║
│OEM1│ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │ 0  │OEM2│OEM3║ LWIN  ║
│ 29 │ 02 │ 03 │ 04 │ 05 │ 06 │ 07 │ 08 │ 09 │ 0A │ 0B │ 0C │ 0D ║  0E    ║
│ 29 │ 02 │ 03 │ 04 │ 05 │ 06 │ 07 │ 08 │ 09 │ 0A │ 0B │ 0C │ 0D ║  0E    ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║      ║ B  │OEM3│ P  │ O  │OEM4│BACK│ V  │ D  │ L  │ J  │ Z  │ W  ║      ║
║      ║ B  │OEM4│ P  │ O  │OEM5│BACK│ V  │ D  │ L  │ J  │ Z  │ W  ║      ║
║  0F  ║ 10 │ 11 │ 12 │ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 19 │ 1A │ 1B ║  1C  ║
║  0F  ║ 10 │ 11 │ 12 │ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 19 │ 1A │ 1B ║  1C  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
Ligne 141 : Ligne 141 :
║  3A    ║ 1E │ 1F │ 20 │ 21 │ 22 │ 23 │ 24 │ 25 │ 26 │ 27 │ 28 │ 2B ║    ║
║  3A    ║ 1E │ 1F │ 20 │ 21 │ 22 │ 23 │ 24 │ 25 │ 26 │ 27 │ 28 │ 2B ║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║OEMX│OEM5│ Y  │ X  │OEMP│RTRN│OEM6│ Q  │ G  │ H  │ F  ║            ║
║      ║OEMX│OEM6│ Y  │ X  │OEMP│RTRN│OEM7│ Q  │ G  │ H  │ F  ║            ║
║  2A  ║ 56 │ 2C │ 2D │ 2E │ 2F │ 30 │ 31 │ 32 │ 33 │ 34 │ 35 ║    36    ║
║  2A  ║ 56 │ 2C │ 2D │ 2E │ 2F │ 30 │ 31 │ 32 │ 33 │ 34 │ 35 ║    36    ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
Ligne 148 : Ligne 148 :
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
</pre>
</pre>
OEMX = OEM_102
*OEMX = OEM_102
OEMC = OEM_COMMA
*OEMC = OEM_COMMA
OEMP = OEM_PERIOD
*OEMP = OEM_PERIOD
RTRN = RETURN
*RTRN = RETURN


==Pavé numérique==
==Pavé numérique==

Version du 27 janvier 2010 à 13:43

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 en s'inspirant de la disposition Neo2 allemande.

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 capslock pour obtenir 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. Les deux couches sont 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 les répertoires system32/sysWOW64 en écrasant l'ancienne puis je ferme et rouvre 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 baladeuse 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).

Je sacrifie deux touches de plus au milieu du clavier comme je faisais avec pkl pour améliorer la symétrie et donc l'accessibilité aux modificateurs des couches auxiliaires : pour ça je permute Alt, Retour arrière, Entrée, ç et ^ par rapport au Neo2. Je garde le nom AltGr pour la couche AltGr symétrique, reste à trouver un nom pour l'autre couche, je part avec KanA2 pour « couche kana d'A2 », hop :D

Finalement clavier est utilisable sur un 104 touches, suffit de ne pas trop utiliser OEM_102, par exemple avec une touche compose ♫ qui serait mieux placée à côté maj. gauche[3].

État de base et majuscules

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

du bépo from scratch : ce qui change, ce qui pourrait bouger[4], les nouveaux modificateurs


  • 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 KanA2 et SHIFT mais je pense que l'accessibilité aux majuscules est moins importantes que ce que l'on va placer sur les autres couches[5]
  • on peut peut-être virer les Win accessibles par les pouces par Ctrl, j'utilise plus ctrl que win alors que ctrl est bien moins accessible. Je remarque que je n'ai qu'une touche Win sur le clavier, je vais finalement mettre un Alt sur WinG, une touche Win suffit.

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║  _                        ║AltGr║      ║     ║      ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

Couche AltGr + Maj

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

Couche kanA2

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.) On ne peut pas avoir les touches directionnelles… snif.

Scancode et vk

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│OEM1│ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │ 0  │OEM2│OEM3║  LWIN   ║
│ 29 │ 02 │ 03 │ 04 │ 05 │ 06 │ 07 │ 08 │ 09 │ 0A │ 0B │ 0C │ 0D ║   0E    ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║       ║ B  │OEM4│ P  │ O  │OEM5│BACK│ V  │ D  │ L  │ J  │ Z  │ W  ║      ║
║  0F   ║ 10 │ 11 │ 12 │ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 19 │ 1A │ 1B ║  1C  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║  KANA  ║ A  │ U  │ I  │ E  │OEMC| C  │ T  │ S  │ R  │ N  │ M  │ K  ║KANA ║
║  3A    ║ 1E │ 1F │ 20 │ 21 │ 22 │ 23 │ 24 │ 25 │ 26 │ 27 │ 28 │ 2B ║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║OEMX│OEM6│ Y  │ X  │OEMP│RTRN│OEM7│ Q  │ G  │ H  │ F  ║            ║
║  2A  ║ 56 │ 2C │ 2D │ 2E │ 2F │ 30 │ 31 │ 32 │ 33 │ 34 │ 35 ║     36     ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║LMENU ║OEM_8║                           ║OEM_8║      ║     ║      ║
║  1D   ║ X5B  ║ 38  ║          39               ║ X38 ║      ║     ║      ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
  • OEMX = OEM_102
  • OEMC = OEM_COMMA
  • OEMP = OEM_PERIOD
  • RTRN = RETURN

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 (shift state en anglais dans kbd.h) ou de plans (neo2 utilise le mot Ebene).
  2. J’en ai une dizaine comme ça à la maison… et un TypeMatrix !
  3. D'autant qu'il y a des pb. avec compose en maj+tab sur le pilote win Neo2. J'ai qu'une touche Windows sur ce clavier donc je la laisse tranquille pour m'adapter aux autres.
  4. Fréquemment débattu par les utilisateurs du bépo
  5. C'est con à dire mais on a forcément l'habitude du placement des shifts pour faire les majuscules sur ces claviers…