Utilisateur:A2/neo2bepo
neo2bepo est en travaux, de nombreux changements sont possibles sur les pilotes Windows depuis les sources en C.
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 (définie Ctrl+Alt) 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. De plus l'utilisation de la touche kana comme touche morte permet de créer une couche vérrouillable (kanalock). 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 sacrifie deux touches de plus au milieu du clavier, clavier bépo^ et clavier bépok du bépo, comme je faisais avec pkl pour améliorer la symétrie et donc l'accessibilité aux modificateurs des couches auxiliaires : pour ça je permute clavier bépoAlt, clavier bépoSuper, les clavier bépoMajs, clavier bépoCapslock, clavier bépoRetour arrière, clavier bépoEntrée, clavier bépoç et clavier bépo^. J'ai Entrée et Retour au milieu du clavier sous les index comme sur un clavier TypeMatrix. Les Majuscules sont remontées d'un cran sur clavier bépoCapslock et clavier bépoEntrée. Alt sert d'AltGr gauche. Je décalle Alt à la place de Win gauche toujours sous le pouce. Reste capslock à placer sur Retour arrière en attendant une autre idée.
Utilisable comme bépo sur un clavier 104 touches pour le moment. J'ai mis la touche compose ♫ (du Neo2) en AltGr+ê[2].
Tout 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.
État de base et majuscules
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│dir │ │ │ │ │ │ │ │ │ │ │ │ ║caps ║
│Lock│ │ │ │ │ │ │ │ │ │ │ │ ║ Lock ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║ ║ 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 ║ ║
║ Maj ║ a │ u │ i │ e │ , │ c │ t │ s │ r │ n │ m │ k ║ Maj ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║reoMaj║ Ê │ À │ Y │ X │ │ │ │ Q │ G │ H │ F ║ neoMaj ║
║ ║ ê │ à │ y │ x │ . │ <-'│ ’ │ Q │ g │ h │ f ║ ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║ ║ ║ ║ Espace insécable ║ ║ ║ ║ ║
║ Ctrl ║ Alt ║AltGr║ Espace ║AltGr║Super ║Menu ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
- du bépo from scratch : les nouveaux modificateurs
- Je garde bépo pour l’alphabétique
et place les chiffres en accès direct(à voir). 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 '.
- Je place le tiret en maj+, pour tester cette position (entre autre)
Reste clavier bépoMaj+clavier bépo’ et clavier bépoMaj+clavier bépo. à trouver et toute la rangée supérieure…
Penser à placer une touche compose : ♫.
La couche altgr du bépo est pour l'instant conservée.
La bataille entre dirLock et les neoMajs
clavier bépodirLock (dLck) est un démon qui contrôle le côté obscure de la force du pavé numérique. Il a défait clavier béponumLock, plus connu dans nos contrées sous le nom verrNum, et a marqué d'une Étoile rouge* les terres dispatchées de cet ancien pavé-monde numérique sur lesquelles les neoclavier bépoMajs ont seulement un pouvoir surligneur, surtout geoclavier bépoMaj. clavier bépodirLock maitrise les flèches directionnelles qui lui permettent de se déplacer plus vite dans l'espace. Il pourra bientôt de se clavier bépodéfiler, voir s'clavier bépoinsérer ou mettre clavier bépofin à tout.
Les neoclavier bépoMajs ont du caractère, aiment science et littérature. Ils ont pris une place importante et ont un rôle majeur à apporter au monde :
- geoclavier bépoMaj s'est installé sur clavier bépoMaj gauche qui a su, lui, grimper d’un rang pour conquérir et même faire fuire clavier bépoCapslock 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 clavier bépo- plutôt rapide ;
- deoclavier bépoMaj, copiant son semblable, a destitué clavier bépoMaj droit, reparti sans broncher par la porte d’clavier bépoEntrée. deoMaj est bien plus à l'aise avec les chiffres que geoMaj ;
- non loin repose clavier bépoNbsp l'invisible assis sur sa barre, attendant fortune ailleurs.
Carte de la bataille entre dirLock et les neoMajs :
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│dLck│ │ │ │ │ ║ │ │ 9* │ │ │ │ ║ ║
│ % │ 9 │ 8 │ 7 │ 6 │ 5 ║ + │ % │ ⇞ │ │ │ │ ║ ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║ ║ │ │ │ │ ║ │ │ 8* │ │ │ │ ║ ║
║ ║ 4 │ 3 │ 2 │ 1 │ ! ║ <--│ │ ⇡ │ │ - │ │ ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ │ │ │ │ ║ │ 4* │ 2* │ 6* │ │ │ ║ ║
║ ║ « │ » │ ? │ - │ ; ║ . │ ⇠ │ ⇣ │ ⇢ │ + │ │ ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║geoMaj║ │ │ │ │ │ ║ │ │ 3* │ │ ║ deoMaj ║
║ ║ / │ \ │ < │ > │ : │ <-'║ ' │ │ ⇟ │ . │ ║ ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ nbsp ║ .? ║ ║ ║ ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
Les neoclavier bépoMaj et clavier bépodirLock pourraient éventuellement posséder clavier bépoEntrée et clavier bépoRetour arrière et permettre de récupérer les deux touches abandonnées afin de revenir à un bépo plus normal…
Scancode et vk
brouillon dev
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ │OEM1│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │OEM+│OEM3║ LWIN ║ │ 29 │ 02 │ 03 │ 04 │ 05 │ 06 │ 07 │ 08 │ 09 │ 0A │ 0B │ 0C │ 0D ║ 0E ║ ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ ║ TAB ║ 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 ║RSHIFT║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ LSHIFT ║ A │ U │ I │ E │OEMC| C │ T │ S │ R │ N │ M │ K ║ ║ ║ 3A ║ 1E │ 1F │ 20 │ 21 │ 22 │ 23 │ 24 │ 25 │ 26 │ 27 │ 28 │ 2B ║ 1C ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣ ║ OEM 2║OEMX│OEM6│ Y │ X │OEMP│RTRN│OEM7│ Q │ G │ H │ F ║ OEM_2 ║ ║ 2A ║ 56 │ 2C │ 2D │ 2E │ 2F │ 30 │ 31 │ 32 │ 33 │ 34 │ 35 ║ 36 ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ ║ ║LMENU ║OEM_8║ ║OEM_8║ RWIN ║ APPS║ ║ ║ 1D ║ X5B ║ 38 ║ 39 ║ X38 ║ X5C ║ X5D ║ ║ ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
- OEM+ = OEM_PLUS
- OEMX = OEM_102
- OEMC = OEM_COMMA
- OEMP = OEM_PERIOD
- RTRN = RETURN
Cas particuliers : '\\' et '\''
{ VK_TAB, 0, {'\t'} },
{ VK_ESCAPE, 0, {'\x1b'} },
{ VK_RETURN, 0, {'\r', '\n'} },
{ VK_BACK, 0, {'\b'} },
Ce pilote slovaque utilise VK_EMPTY + « ROSDATA » à la place de « static ALLOC_SECTION_LDATA » ?
Dans kbd.h, maximum number of layout tables in a DLL : KBDTABLE_MULTI_MAX (8)
Pour ceux qui voudraient « taper à l'envers », si l'on place toutes les lettres sur un VK_LEFT (flèche directionnelle gauche) le curseur est placé à droite à chaque fois ce qui donne « |A » à la place de « A| » (« | » désigne le curseur).
Notes
<references>
- ↑ 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, plan, calque).
- ↑ Il y a des pb. avec compose en maj+tab sur le pilote win Neo2.