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

De Disposition de clavier bépo
 
(102 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
'''neo2bepo''' est un projet pour améliorer l'accessibilité des [[place des chiffres|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 [http://neo-layout.org/ neo2 allemand].  
{{sommaire à droite}}
{{note|Cette page explique 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<ref>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.</ref>.}}
'''néo2bépo''' est un projet perso visant à améliorer l'accessibilité des [[place des chiffres|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 [http://neo-layout.org/ Neo2 allemande].


L'idée est de sacrifier deux touches en accès direct, en bépo {{t|ê}} et {{t|ç}} ainsi que capslock pour obtennir six modificateurs donnant accès de manière quasi-symétrique pour les deux mains à deux couches complètes, 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 notre AltGr oa que le 8 à tout faire du [[dvorak-fr]].
==Déplacement des modificateurs==
L'idée du Neo2 est d'utiliser six modificateurs<ref>Neo2 sacrifie deux touches en accès direct, en bépo {{t|ê}} et {{t|ç}}, la 102{{e}} touche et la touche balladeuse.</ref> pour accèder à deux couches<ref>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 [http://de.wiktionary.org/wiki/Ebene ''Ebene'']). Sur ce wiki rencontre parfois simplement « carte AltGr » pour désigner la « carte de la “couche” AltGr ». Bref, où sont les académiciens ?</ref> dont l'une est un AltGr mort<ref>AltGr n'est plus un Ctrl+Alt mais une touche morte (vérrouillable avec kanalock si besoin).</ref> et l'autre une nouvelle couche inventée. Ce système est bien meilleur que le simple AltGr du bépo ou que la <s>c</s>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 du [[wp:kana|kana]] permet de créer une couche supplémentaire en plus de celle AltGr connue sur bépo.  
{|
|-
|
┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐
│  │ │ │ │ │ │ │ │ │ │ │ │ │Verr.│
├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬────┤
│  │ │ │ │ │ │ │ │ │ │ │ │ │    │
├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐  │
│Maj │ │ │ │ │ │ │ │ │ │ │ │ │Maj│
├───┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┴───┤
│Ici│ │ │ │ │ │ │ │ │ │ │ │Là-bas│
├──┬┴─┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬──┤
│  │  │AltGr        │AltGr│  │  │
└──┴──┴──┴───────────┴──┴──┴──┴──┘
| J'améliore la symétrie et l'accessibilité des modificateurs en plaçant<ref>Dans les sources en C, l'astuce pour déplacer les modificateurs est de modifier le .H qui contient une table des scancodes des touches et des virtualkeys.</ref> :
*deux {{tA|Maj.}} sur {{t|Capslock}} et {{t|Entrée}} ;
*deux nouveaux modificateurs {{tA|Ici}} et {{tA|Là}} sur les anciens {{t|Maj}} ;
*un deuxième {{tA|AltGr}} à gauche sur {{t|Alt}} qui est décalé sur {{t|WinG}} ;
*un {{tA|Verrou}}, sorte de {{t|Capslock}} placé sur {{t|Retour arrière}}<ref>Il vérrouille la nouvelle couche contenant le pavé numérique et non l'accès aux lettres capitales.</ref>.


Je souhaite pouvoir encore au moins inverser MOD4 et Alt, pour avoir un couche [[AltGr symétrique]] accessibles par les deux pouces. Dans cette configuration les claviers 104 touches n'aurait pas de Alt. Cette disposition sersait vraiment optimisée pour les claviers où la touche balladeuse autour d'entrée se trouve sur la ligne du capslock à savoir les [[type de clavier|claviers les plus répandus en France]]<ref>J’en ai une dizaine comme ça à la maison… et un TypeMatrix !</ref> (voir le comportement de la touche au scancode 2B autour d'entrée).
{{t|AltGr}}, {{t|Tab}} et les touches {{t|Ctrl}} et ne bougent pas.
|}
{{boîte|titre=Carte ASCII détaillée des modificateurs|afficher=non|
<center>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║{{r|Verrouille}}
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║      ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
║ Tab  ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
║ {{r|Maj}}    ║    │    │    │    │    │    │    │    │    │    │    │    ║ {{r|Maj}} ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║    │    │    │    │    │    │    │    │    │    │    ║            ║
║ {{r|Ici}}  ║    │    │    │    │    │    │    │    │    │    │    ║    {{r|Là}}      ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║      ║      ║    ║                          ║    ║      ║    ║      ║
║ Ctrl  ║ {{r|Alt}}  ║{{r|AltGr}}║                          ║AltGr║ {{r|Win}}  ║{{r|Menu}} ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
</center>}}


== 0 : état de base + 1 majuscules ==
==Changements perso sur bépo==
Je garde bépo pour l’alphabétique et place les chiffres en accès direct. Pour le reste il y a beaucoup de place on verra plus tard. Je supprime l’espace insécable de maj+espace que j'insère trop souvent par mégarde et je place l’[[apostrophe]] typographique en accès direct.
*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<ref>Elle me dérange car je l’insère trop souvent par mégarde quand je saisie des caractères en Maj.</ref>.
**Je place l’[[apostrophe]] typographique en accès direct.
**«⍽ ⍽» : guillemets avec espace insécable ligaturée.
**penser à placer un « où » ligaturé quelque part.


:'''bépo avec modificateurs neo2 :'''
<!--
===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…
<pre>
<pre>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │ a b c d e f g h i j k l m        
│    │ 1 2 3 4 5 6 7 8 9 0   │    ║  <--  ║
  │ n │ o  │ p q r s t │ u  │ v w x y z        
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║      ║ B É P O  │ È  │ !  │    │    │    │    │    │ W   | 
║  ->|  ║ b é  │ p │ o  │ è ^   │    │    │    │    │ w  ║ <-'  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║**MOD3**║ A U I  │ E  │ ;  │ C  │ T  │ S  │ R  │ N  │ M  │MOD3║    ║
║********║ a │ u  │ i e  │ ,  │ c  │ t s r n │ m  │****   
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║  ^  ║MOD4│    │    │    │    │    │    │    │    │    │    ║    ^      ║
║  |  ║****│    │    │    │    │    │    │    │    │    │    ║    |      ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║      ║      ║    ║                          ║MOD4 ║      ║    ║      ║
║ Ctrl  ║ WinG ║ Alt ║ Espace                    ║**** ║ WinD ║WinM ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
</pre>
</pre>


:'''Remarque :'''
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.
On peut revoir la position des touches « sensibles » en tenant compte de la [[fréquence des lettres#Corpus de Nicolas C.|fréquence des lettres]] sur le corpus de [[Utilisateur:Crako|o<]] utilisée pour générer la dispo :
 
De plus le semblant de pavé numérique (sur lock) pour les chiffres est bien plus pratique et 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 :
<pre>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│ # ¶│ 1 „│ 2 “│ 3 ”│ 4 ≤│ 5 ≥║ 6  │ 7 ¬│ 8 ¼│ 9 ½│ 0 ¾│ ° ′│ ` ″║        ║
│ $ –│ " —│ « <│ » >│ ( [│ ) ]║ @ ^│ + ±│ - −│ / ÷│ * ×│ = ≠│ % ‰║        ║
</pre>
* je supprime les accès direct ascii « historique » pour le moment : ~`° sont disponibles avec les touches mortes
* « et » comme : ; ? et ! sont liés à l’espace insécable en français : en maj. avec $ qui peut avoir besoin d’une insécable « 298 $ ».
* «»()[]<>/\{} n'ont pas à être placées par paires comme sur bépo (qui a adopté cette configuration à cause de l'altgr asymétrique)
* trois tirets sont nécessaires en français, - en direct donc sur le 0, le moins pire pour le moment étant droitier ;
* reste deux places surement pour des touches mortes multi-fonctions comme fait neo (à tester).
* pour info il reste à placer des caractères comme ()/çùœ*=@+%æ<>[]&… (dans l'ordre de fréquence même si c'est peu pertinent),
 
<pre>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │ «  │ »  │    │    │    │ –  │ —  │    │    │    │    ║        ║
│ 0  │ 1  │ 2( │ 3) │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │ -  │    │    ║        ║
</pre>
 
<code>
+---------------------------------------------------------------------------------------+
¦˜ ? ¯¦° ª ¬¦§ º ?¦l ? ?¦» ? ?¦« · ?¦$ £ ?¦€ ¤ ?¦„ ? 8¦“ / ?¦” * ئ— - ?¦? ?  ?¦Backspace¦
¦ˆ ° ?¦1 ¹ 1¦2 ² 2¦3 ³ 3¦4 › ?¦5 ‹ ?¦6 ¢ ?¦7 ¥ ?¦8 ‚ ?¦9 ‘ ?¦0 ’ 0¦-  -¦` ¨ ?¦    ?    ¦
+---------------------------------------------------------------------------------------¦
¦ Tab?  ¦X ? ?¦V ? v¦L ? ?¦C ? C¦W ? O¦K ¡ צH 7 ?¦G 8 G¦F 9 F¦Q + Q¦? - °¦¸ ? ?¦      ¦
¦ Tab? ? ¦x … ?¦v _  ¦l [ ?¦c ] ?¦w ^ ?¦k ! ?¦h < ?¦g > ?¦f = f¦q & ?¦ß ? ?¦´ / ?¦Return¦
+---------------------------------------------------------------------------------+    ¦
¦  Mod  ¦U ? ?¦I ? ?¦A ? ?¦E ? ?¦O ? ?¦S ¿ S¦N 4 N¦R 5 R¦T 6 ?¦D , ?¦Y . ?¦ Mod ¦  ?  ¦
¦    3    ¦u \  ¦i / ?¦a { a¦e } e¦o * ?¦s ? s¦n ( ?¦r ) ?¦t - t¦d : d¦y @ ?¦  3  ¦    ¦
+---------------------------------------------------------------------------------------¦
¦CapsLk¦ Lock¦Ü ? ?¦Ö ? n¦Ä ? ?¦P ? ?¦Z ? Z¦B : ?¦M 1 ?¦– 2 ?¦• 3 ?¦J ; T¦  CapsLock  ¦
¦Umsch ¦Mod4 ¦ü #  ¦ö $ ?¦ä | ?¦p ~ p¦z ` ?¦b + ߦm % µ¦, " ?¦. ' ?¦j ; ?¦  Umschalt  ¦
+------+-----------------------------------------------------------+--------------------¦
¦ Strg ¦      ¦ Alt  ¦Leerzeichen?      0        schmal ¦  ¦ Lock ¦      ¦ Menü ¦ Strg ¦
¦      ¦      ¦      ¦Leerzeichen? Leerzeichen? geschützt ? ¦Mod4  ¦      ¦      ¦      ¦
+---------------------------------------------------------------------------------------+
</code>


*le [[Utilisateur:nemolivier:tiret|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 important pour ê car on ne l'a plus en double.
*« À » me parait très bien où il est.
*tenir compte de l’argument « Z M et W hors zône dactylo », voir les différentes variantes du bépo (bépow).
*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 la couche 3.


===Rangée supérieur===
<!--
Le neo2 choisit de mettre les chiffres en direct. 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 la bien des accès sur la couche trois.
== La bataille entre dirLock et les neoMajs ==
{{t|{{r|dirLock}}}} ({{r|dLck}}) est un démon qui contrôle le côté obscure de la force du pavé numérique. Il a défait {{t|numLock}}, plus connu dans nos contrées sous le nom verrNum, et a marqué d'une Étoile rouge{{r|*}} les terres dispatchées de cet ancien pavé-monde numérique sur lesquelles les neo{{t|{{b|Maj}}}}s ont seulement un pouvoir surligneur, surtout geo{{t|Maj}}. {{t|{{r|dirLock}}}} maitrise les flèches directionnelles qui lui permettent de se déplacer plus vite dans l'espace. Il pourra bientôt de se {{t|défil}}er, voir s'{{t|insér}}er ou mettre {{t|fin}} à tout.  


Si le pavé numérique (couche 4) suffit pour les chiffres, il vaudrait mieux placer des symboles en direct sur la rangée supérieure. Les chiffres sont tout de mêmes moins fréquents que certains symboles.
Les neo{{t|Maj}}s ont du caractère, aiment science et littérature. Ils ont pris une place importante et ont un rôle majeur à apporter au monde :
*geo{{t|Maj}} s'est installé sur {{t|Maj gauche}} qui a su, lui, grimper d’un rang pour conquérir et même faire fuire {{t|Capslock}} de son trône. S’il a un peu de mal avec les chiffres il surveille les caractères de prêt et a le tiret {{t|-}} plutôt rapide ;
*deo{{t|Maj}}, copiant son semblable, a destitué {{t|Maj droit}}, reparti sans broncher par la porte d’{{t|Entrée}}. deoMaj est bien plus à l'aise avec les chiffres que geoMaj ;
* non loin repose {{t|Nbsp}} l'invisible ⍽ assis sur sa barre, attendant fortune ailleurs.  


== 3 : prog et typo ==
Essayer de garder Couche AltGr et rangée supérieure en bépo à transposer sur MOD3.


== 4 : chiffres et ? ==
Carte de la bataille entre dirLock et les neoMajs :
Couche AltGr 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.
<code>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│{{r|dLck}}│    │    │    │    │    ║    │    │ 9{{r|*}} │    │    │    │    ║        ║
│ %  │ 9  │ 8  │ 7  │ 6  │ 5  ║ +  │ %  │ {{r|⇞}}  │    │    │    │    ║        ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║      ║    │    │    │    │    ║    │    │ 8{{r|*}} │    │    │    │    ║      ║
║  ⇥    ║ 4 │ 3  │ 2  │ 1  │ !  ║ ⌫  │    │ {{r|⇡}}  │    │ -  │    │    ║      ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    ║    │ 1  │ 2  │ 3  │    │    │    ║    ║
║        ║ «  │ »  │ ? │ -  │ ;  ║ .  │ {{r|⇠}}  │ {{r|⇣}}  │ {{r|⇢}}  │ +  │    │    ║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║geo{{b|Maj}}║    │    │    │    │    │    ║    │    │ 3{{r|*}} │    │    ║  deo{{b|Maj}}    ║
║      ║ /  │ \  │ <  │ >  │ :  │ <-'║ ' │    │ {{r|⇟}}  │ . │    ║            ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║      ║      ║    ║                          ║    ║      ║    ║      ║
║      ║      ║    ║  nbsp                    ║ .?  ║      ║    ║      ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
</code>


==Scancode et vk==
<small>Les neo{{t|Maj}} et {{t|dirLock}} pourraient éventuellement posséder {{t|Entrée}} et {{t|Retour arrière}} et permettre de récupérer les deux touches abandonnées afin de revenir à un bépo plus normal…</small>
TODO
 
<pre>
 
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
Légende :
                          ║        ║
63 ⇥   … Tab
29 02 03 04 05 06 07 08 09 0A 0B 0C 0D ║  0E  
64 ⇤   … Left_Tab (spring z.B. ein Eingebefeld zurück)
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
65 ⇞⇟  … Bild auf/Bild ab
║      ║                          ║      ║
66 ⇱⇲  … Pos1/Ende
║  0F  ║ 10 11 12 13 14 15 16 17 18 19 1A 1B ║ 1C
67 ⌫ ⌦  … Backspace/Entf
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
68 ⌧   … Esc
║        ║                          ║    ║
69 ⎀   … Einf
3A    ║ 1E 1F 20 21 22 23 24 25 26 27 28 2B ║    ║
70 ⇠⇡⇢⇣ … Links/Hoch/Rechts/Runter
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
71 ♫   … Steht als Symbol für die Kombotaste (Compose)
║      ║    │    │                   ║            ║
72 ╌   … Weicher Trennstrich (U+00AD SOFT HYPHEN)
2A ║ 56 2C 2D 2E 2F 30 31 32 33 34 35 ║    36    ║
73 ␣   … Leerzeichen (SPACE)
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
74 ⍽   … Geschütztes Leerzeichen (U+00A0 NO-BREAK SPACE)
║      ║      ║     ║                          ║     ║      ║    ║      ║
75 ¦   … Schmales, geschütztes Leerzeichen (U+202F NARROW NO-BREAK SPACE)
1D  ║ E01F ║ 38  ║          39              ║E038 ║ E027 ║ E02F║ E01D ║
76 ↶   … undo-Funktion
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
77 ↷   … redo-Funktion
78 ↻   … Drehen-Funktion, dreht das folgende Zeichen
79 ⍓   … (de)aktiviert die Maussteuerung über die Tastatur -->
 
==  Les modificateurs Ici et Là et la couche Verrouille ==
Les nouveaux<ref>Ici et Là sont des Maj normaux, Verrouille est un Capslock normal. Seul la manière d'utiliser ces touches est nouvelle.</ref> modificateurs {{tA|Ici}} et {{tA|Là}} accèdent :
*aux touches de déplacement en T inversé (WASD gamer pour les trois doigts forts) et de défilement sous la main gauche ;
*à un pavé numérique complet sous la main droite (semblable niveau forme à l'ancien pour le moment).
 
Le nouveau {{tA|Verr.}} verrouille cette couche en accès direct. (Le placement des autres caractères que ceux du pavé numérique sur cette couche reste à faire, j'ai juste mis quelques paires pour illustrer.)
{|
|-
|
┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ Légende :
│ │ │ │ │ │ │7│8│9│+│ │ │     │ ⇥ Tab
├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬────┤ ⇱ Début  ⇲ Fin
│ ⇥ │⇱│⇡│⇲│ │ │ │4│5│6│-│ │ │    │ ⇠ Gauche ⇢ Droite
├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐  │ ⇡ Haut  ⇣ Bas
↲  │⇠│⇣│⇢│⌫│ │1│2│3│ │ │ │ ⌫ Retour arrière
├───┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┴───┤ ⌦ Suppr. ⎀ Inser.
{{r|Ici}}/│⇞│⎀│⇟│⌦│↲│ │ │ │ │ │ {{r|Là}}  ⇞ Préc.  ⇟ Suiv.
├──┬┴─┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬──┤ ↲ Entrée ␣ Espace
    ␣    │ 
  └──┴──┴──┴───────────┴──┴──┴──┴──┘
|
┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐
│ │ │ │ │ │ │7│8│9│+│ │ │{{r|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, perte du réflexe d'aller chercher les Maj vers le bas ;
* modificateurs symétriques pour accèder à la couche AltGr
* une nouvelle couche contenant un pavé numérique sous la main droite, accessible partiellement par {{t|Ici}} et {{t|Là}}, verrouillable avec {{t|Verr.}} pour un accès complet en direct ;
* des touches de déplacements/défilements sous la main gauche, accessible par {{t|Ici}} et {{t|Là}}
* une touche compose ♫ (du Neo2) en {{touches|Ici|ê}}
* empilement de touches mortes possible (en utilisant le même principe que compose).
 
=== Points négatifs===
* capslock pour les majuscules n'existe plus au profit du pavé numérique sous les doigts, c'est l'un ou l'autre ;
* une seule touche super à droite voir aucune sur un clavier 104 touches avec un seul super.
* pas de raccourcis ctrl sur les touches du pavé numérique déplacée : il faut ajuster le positionnement des vk pour les raccourcis importants (XCV, A Z…)


</pre>
== À faire ==
* 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 rendre numlock accessible pour surligner, par exemple sur inser pas trop loin de bs
* vérifier compose et les touches mortes, programmer les touches mortes « empilables » inaccessibles actuelement mais déjà dans le pilote
* ajuster les vk key au mieux pour les raccourcis
* une installe pour les pilotes que les gens puissent essayer… quand le code sera plus propre !


==Points noirs ==
== Opportunités du pilote en C ==
Trop d'accessibilité tue l'accessibilité.
Une petite liste de ce qui est faisable en plus de MSKLC :
* déplacement des fonctions (Maj) du pavé numérique : touches de déplacements, de défilements, inser. et suppr. ;
* gestion d'une touche compose et empilement de touche morte ;
* facilite la gestion des couches supplémentaires.


==Notes==
==Notes==
<references>
<references>

Dernière version du 10 mai 2010 à 07:35

Cette page explique 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 d'utiliser six modificateurs[2] pour accèder à deux couches[3] dont l'une est un AltGr mort[4] et l'autre une nouvelle couche inventée. Ce système est bien meilleur que le simple AltGr du bépo ou que la ctouche morte 8 à tout faire du dvorak-fr.

┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ 
│  │ │ │ │ │ │ │ │ │ │ │ │ │Verr.│
├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬────┤ 
│   │ │ │ │ │ │ │ │ │ │ │ │ │    │ 
├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐   │ 
│Maj │ │ │ │ │ │ │ │ │ │ │ │ │Maj│ 
├───┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┴───┤ 
│Ici│ │ │ │ │ │ │ │ │ │ │ │Là-bas│ 
├──┬┴─┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬──┤ 
│  │  │AltGr         │AltGr│  │  │ 
└──┴──┴──┴───────────┴──┴──┴──┴──┘
J'améliore la symétrie et l'accessibilité des modificateurs en plaçant[5] :
  • deux clavier azertyMaj sur clavier bépoCapslock et clavier bépoEntrée ;
  • deux nouveaux modificateurs clavier azertyIci et clavier azerty sur les anciens clavier bépoMaj ;
  • un deuxième clavier azertyAltGr à gauche sur clavier bépoAlt qui est décalé sur clavier bépoWinG ;
  • un clavier azertyVerrou, sorte de clavier bépoCapslock placé sur clavier bépoRetour arrière[6].

clavier bépoAltGr, clavier bépoTab et les touches clavier bépoCtrl et ne bougent pas.

Carte ASCII détaillée des modificateurs
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║Verrouille
│    │    │    │    │    │    │    │    │    │    │    │    │    ║         ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
║ Tab   ║    │    │    │    │    │    │    │    │    │    │    │    ║      ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║
║ 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[7].
    • Je place l’apostrophe typographique en accès direct.
    • «⍽ ⍽» : guillemets avec espace insécable ligaturée.
    • penser à placer un « où » ligaturé quelque part.


Les modificateurs Ici et Là et la couche Verrouille

Les nouveaux[8] modificateurs clavier azertyIci et clavier azerty accèdent :

  • aux touches de déplacement en T inversé (WASD gamer pour les trois doigts forts) et de défilement sous la main gauche ;
  • à un pavé numérique complet sous la main droite (semblable niveau forme à l'ancien pour le moment).

Le nouveau clavier azertyVerr. verrouille cette couche en accès direct. (Le placement des autres caractères que ceux du pavé numérique sur cette couche reste à faire, j'ai juste mis quelques paires pour illustrer.)

┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ Légende :
│  │ │ │ │ │ │ │7│8│9│+│ │ │     │ ⇥ Tab
├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬────┤ ⇱ Début  ⇲ Fin
│ ⇥ │⇱│⇡│⇲│ │ │ │4│5│6│-│ │ │    │ ⇠ Gauche ⇢ Droite
├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐   │ ⇡ Haut   ⇣ Bas
│ ↲  │⇠│⇣│⇢│⌫│ │ │1│2│3│ │ │ │ ↲ │ ⌫ Retour arrière
├───┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┴───┤ ⌦ Suppr. ⎀ Inser.
│Ici│/│⇞│⎀│⇟│⌦│↲│ │ │ │ │ │    │ ⇞ Préc.  ⇟ Suiv.
├──┬┴─┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬──┤ ↲ Entrée ␣ Espace
│  │  │  │     ␣     │  │  │  │  │ 
└──┴──┴──┴───────────┴──┴──┴──┴──┘
┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ 
│  │ │ │ │ │ │ │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, perte du réflexe d'aller chercher les Maj vers le bas ;
  • modificateurs symétriques pour accèder à la couche AltGr
  • une nouvelle couche contenant un pavé numérique sous la main droite, accessible partiellement par clavier bépoIci et clavier bépo, verrouillable avec clavier bépoVerr. pour un accès complet en direct ;
  • des touches de déplacements/défilements sous la main gauche, accessible par clavier bépoIci et clavier bépo
  • une touche compose ♫ (du Neo2) en clavier bépoIci+clavier bépoê
  • empilement de touches mortes possible (en utilisant le même principe que compose).

Points négatifs

  • capslock pour les majuscules n'existe plus au profit du pavé numérique sous les doigts, c'est l'un ou l'autre ;
  • une seule touche super à droite voir aucune sur un clavier 104 touches avec un seul super.
  • pas de raccourcis ctrl sur les touches du pavé numérique déplacée : il faut ajuster le positionnement des vk pour les raccourcis importants (XCV, A Z…)

À faire

  • 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 rendre numlock accessible pour surligner, par exemple sur inser pas trop loin de bs
  • vérifier compose et les touches mortes, programmer les touches mortes « empilables » inaccessibles actuelement mais déjà dans le pilote
  • ajuster les vk key au mieux pour les raccourcis
  • une installe pour les pilotes que les gens puissent essayer… quand le code sera plus propre !

 Opportunités du pilote en C

Une petite liste de ce qui est faisable en plus de MSKLC :

  • déplacement des fonctions (Maj) du pavé numérique : touches de déplacements, de défilements, inser. et suppr. ;
  • gestion d'une touche compose et empilement de touche morte ;
  • facilite la gestion des couches supplémentaires.

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. Neo2 sacrifie deux touches en accès direct, en bépo clavier bépoê et clavier bépoç, la 102e touche et la touche balladeuse.
  3. 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 ?
  4. AltGr n'est plus un Ctrl+Alt mais une touche morte (vérrouillable avec kanalock si besoin).
  5. Dans les sources en C, l'astuce pour déplacer les modificateurs est de modifier le .H qui contient une table des scancodes des touches et des virtualkeys.
  6. Il vérrouille la nouvelle couche contenant le pavé numérique et non l'accès aux lettres capitales.
  7. Elle me dérange car je l’insère trop souvent par mégarde quand je saisie des caractères en Maj.
  8. Ici et Là sont des Maj normaux, Verrouille est un Capslock normal. Seul la manière d'utiliser ces touches est nouvelle.