« Utilisateur:A2/neo2bepo » : différence entre les versions
(104 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
''' | {{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 | ==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 | {| | ||
|- | |||
| | |||
┌──┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─────┐ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ │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>. | |||
{{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>}} | |||
== | ==Changements perso sur bépo== | ||
Je garde 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<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. | |||
:'' | <!-- | ||
===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 ║ ║ | |||
│ n │ o │ p │ q │ r │ s │ t │ u │ v │ w │ x │ y │ z ║ ║ | |||
</pre> | </pre> | ||
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 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> | |||
<!-- | |||
== 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. | |||
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. | |||
Carte de la bataille entre dirLock et les neoMajs : | |||
<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> | ||
<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> | |||
Légende : | |||
63 ⇥ … Tab | |||
64 ⇤ … Left_Tab (spring z.B. ein Eingebefeld zurück) | |||
65 ⇞⇟ … Bild auf/Bild ab | |||
66 ⇱⇲ … Pos1/Ende | |||
67 ⌫ ⌦ … Backspace/Entf | |||
68 ⌧ … Esc | |||
69 ⎀ … Einf | |||
70 ⇠⇡⇢⇣ … Links/Hoch/Rechts/Runter | |||
71 ♫ … Steht als Symbol für die Kombotaste (Compose) | |||
72 ╌ … Weicher Trennstrich (U+00AD SOFT HYPHEN) | |||
73 ␣ … Leerzeichen (SPACE) | |||
74 ⍽ … Geschütztes Leerzeichen (U+00A0 NO-BREAK SPACE) | |||
75 ¦ … Schmales, geschütztes Leerzeichen (U+202F NARROW NO-BREAK SPACE) | |||
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…) | |||
== À 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== | ==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] :
clavier bépoAltGr, clavier bépoTab et les touches clavier bépoCtrl et ne bougent pas. |
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ │ │ │ │ │ │ │ │ │ │ │ │ │ ║Verrouille │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ Tab ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ Maj ║ │ │ │ │ │ │ │ │ │ │ │ ║ Maj ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ Ici ║ │ │ │ │ │ │ │ │ │ │ ║ Là ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Ctrl ║ Alt ║AltGr║ ║AltGr║ Win ║Menu ║ 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 azertyLà 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│/│⇞│⎀│⇟│⌦│↲│ │ │ │ │ │ Là │ ⇞ 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époLà, 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époLà
- 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>
- ↑ 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.
- ↑ 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.
- ↑ 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 ?
- ↑ AltGr n'est plus un Ctrl+Alt mais une touche morte (vérrouillable avec kanalock si besoin).
- ↑ 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.
- ↑ Il vérrouille la nouvelle couche contenant le pavé numérique et non l'accès aux lettres capitales.
- ↑ Elle me dérange car je l’insère trop souvent par mégarde quand je saisie des caractères en Maj.
- ↑ Ici et Là sont des Maj normaux, Verrouille est un Capslock normal. Seul la manière d'utiliser ces touches est nouvelle.