Utilisateur:Olympi

De Disposition de clavier francophone et ergonomique bépo

Mode de frappe et position

Je tape à dix doigts sur un clavier décalé classique avec la méthode dactylographique en A. Elle a pour intérêt d'éviter le chevauchement des doigts de la main gauche pour la rangé du bas : les doigts se rétractent naturellement dessus du moment qu'on a la position adéquate des bras. Mes bras et mes poignet forme un angle d'environ 45° avec le clavier, les coudes sur la table. Ça permet de respecter la position de repos des membres et d'avoir les doigts qui s'allongent ou se rétractent presque exactement sur leurs touches assignées. Il faudrait aussi ajouter un repose poignet pour vraiment avoir les poignets rectilignes avec les bras.

Avis sur le TypeMatrix (non testé) : de très bonnes idées, mais du fait des touches droites il doit obliger à avoir les poignets plus orthogonaux avec le clavier, ce qui doit les casser. Mais c'est à tester. C'est pourquoi j'aurais une préférence pour le SmartBoard de Datadesk.

Faudra que je réalise ma carte d'accessibilité.

Évolution de ma vitesse de frappe

Vitesse prise sur lecturel.com :

  • 38 mots par minute, 27 corrections, (pas glorieux), 28 octobre 2008 à 23:17 (CET)
  • 41 mots par minute, 28 corrections, 28 octobre 2008 à 23:23 (CET)
  • 48 mots par minute, 14 corrections, 21 novembre 2008 à 18:58 (CET)
  • 47 mots par minute, 22 corrections, (je suis une buche) 8 janvier 2009 à 22:57 (CET)
  • 51 mots par minute, 17 corrections, (réduire le nombre de fautes !) 8 janvier 2009 à 23:01 (CET)
  • 59 mots par minute, 16 corrections, 12 janvier 2009 à 21:14 (CET)
  • 57 mots par minute, 12 corrections, (lire le mot, ne pas regarder son orthographe) 14 janvier 2009 à 00:05 (CET)
  • 54 mots par minute, 24 corrections, 22 janvier 2009 à 23:10 (CET)
  • 59 mots par minute, 13 corrections, 27 février 2009 à 18:27 (CET)
  • 61 mots par minute, 19 corrections, barrière des 60 dépassée \o/, 21 mars 2009 à 11:07 (CET)
  • 67 mots par minute, 14 corrections, 27 avril 2009 à 18:27 (CEST)

Mode édition sur la touche caps-lock

Carte du mode édition

J'utilise, plus exactement celle-ci, par défaut dans PKL, mais l'esprit est là.

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│    │    │    │    │    │    ║    │    │    │    │    │    │    ║         ║
│ þ  │ 1  │ 2  │ 3  │ 4  │ 5  ║ 6  │ 7  │ 8  │ 9  │ 0  │    │    ║ <--     ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║  |<-  ║    │    │    │    │    ║  ^ │    │    │    │    │    │    ║   |  ║
║  ->|  ║    │    │    │    │    ║  | │ <-|│  ↑ │|−> │    │    │    ║ <-'  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║CapsLock║    │Ctrl│    │    │    ║  | │    │    │    │ |  │    │    ║     ║
║MOD-EDIT║ Maj│    │    │    │    ║  v │ ←  │ ↓  │ →  │Supp│    │    ║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║      ║    │Ctrl│Ctrl│Ctrl│Ctrl│    ║    │   |│    │    │    ║            ║
║  Maj ║INS │ s  │ x  │ c  │ v  │    ║ <xx│ <-'│    │    │    ║     Maj    ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║                           ║     ║      ║     ║      ║
║ Ctrl  ║ WinG ║ Alt ║ Espace                    ║AltGr║ WinD ║WinM ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

Caractéristiques qui déchirent !

La touche Caps-Lock devient la touche Mode-Édition. Elle s'utilise comme Maj ou Alt-Gr c'est à dire sans lock, il faut donc laisser la touche enfoncer pour rester en mode-édition.

La touche majuscule en A sert à réaliser des sélections en combinaison avec les touches de mouvements.

La touche þ à la place du $ est utiliser pour avoir le focus d'une console en mode quake, comme avec Yakuake pour KDE.

Les touches Insert (en Ê) et Échap (en B) servent a utiliser vim.

On a toujours accès au Caps-Lock en Alt-Graph + Mode-Édition (soit Alt-Graph + Caps Lock si vous préférez).

Pour l'instant les touches pour les chiffres gardent le même comportement qu'en mode normal, je me demande si ça servirait à quelque chose de les mettre en accès direct.

Installation

Pour Windows il faudra utiliser PKL, voir ici pour plus d'info.

Pour Linux on peut faire comme suit : Installation : taper xkbcomp -w v0.6.7_overlay_oly.xkb :0 dans un terminal.

Le fichier v0.6.7_overlay_oly.xkb a été réalisé à partir de celui de Nbrodu, et n'est pas à jour par rapport à disposition visible précédemment :

xkb_keymap        {

xkb_keycodes      { include "xfree86+aliases(azerty)" };

xkb_types         {
    include "complete"
    type "ALTGR_TWO" {
       modifiers = LevelThree;
       map[None] = Level1;
       map[LevelThree] = Level2;
       level_name[Level1] = "Base";
       level_name[Level2] = "AltGr";
   };
};

xkb_compatibility {
    include "complete"
    indicator "Scroll Lock" { controls = Overlay1; allowExplicit = True; drivesKeyboard = True; };

    interpret F31 {
        action = Redirect(Key=<I71>, modifiers=Control);
    };
    interpret F32 {
        action = Redirect(Key=<I72>, modifiers=Control);
    };
    interpret F33 {
        action = Redirect(Key=<I73>, modifiers=Control);
    };
    interpret F34 {
        action = Redirect(Key=<I74>, modifiers=Control);
    };
    interpret F35 {
        action = Redirect(Key=<I75>, modifiers=Control);
    };
    interpret F30 {
        action = Redirect(Key=<I76>, modifiers=Control);
    };
    interpret F29 {
        action = Redirect(Key=<I77>, modifiers=Control);
    };
};

partial alphanumeric_keys
xkb_symbols "dvorak" {

	name[Group1]= "France - Bepo, ergonomic, Dvorak way (v0.6.7)";

	include "pc(pc105)"

        key <TLDE> {
            type[group1] = "FOUR_LEVEL"               , [ dollar         , numbersign  , endash              , section              ],
//pour la console en mode quake, changez de caractère si vous êtes un grand écrivain islandais ;)
            overlay1 = <I69>
        }; // $ # – §
        key <AE01> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl       , 1           , emdash              , doublelowquotemark   ],
            overlay1 = <AE01>
        }; // " 1 — „
        key <AE02> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft  , 2           , less                , leftdoublequotemark  ],
            overlay1 = <AE02>
        }; // « 2 < “
        key <AE03> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright , 3           , greater             , rightdoublequotemark ],
            overlay1 = <AE03>
        }; // » 3 > ”
        key <AE04> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft      , 4           , bracketleft         , lessthanequal        ],
            overlay1 = <AE04>
        }; // ( 4 [
        key <AE05> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright     , 5           , bracketright        , greaterthanequal     ],
            overlay1 = <AE05>
        }; // ) 5 ]
        key <AE06> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at             , 6           , notsign             , VoidSymbol           ],
            overlay1 = <AE06>
        }; // @ 6 ¬
        key <AE07> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus           , 7           , plusminus           , degree               ],
            overlay1 = <AE07>
        }; // + 7 ± °
        key <AE08> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus          , 8           , U2212               , minutes              ],
            overlay1 = <AE08>
        }; // - 8 − ′
        key <AE09> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash          , 9           , division            , seconds              ],
            overlay1 = <AE09>
        }; // / 9 ÷ ″
        key <AE10> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk       , 0           , multiply            , VoidSymbol           ],
            overlay1 = <AE10>
        }; // * 0 ×
        key <AE11> {
            type[group1] = "THREE_LEVEL"              , [ equal          , asciicircum , notequal                                   ],
            overlay1 = <I70>
        }; // = ^ ≠
        key <AE12> {
            type[group1] = "THREE_LEVEL"              , [ percent        , grave       , U2030                                      ],
            overlay1 = <I70>
        }; // % ` ‰
 
        key <AD01> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b              , B           , bar                 , brokenbar            ],
            overlay1 = <ESC>
        }; // b B | ¦
        key <AD02> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute         , Eacute      , dead_acute          , dead_doubleacute     ],
            overlay1 = <I7D>
        }; // é É ´ ˝
        key <AD03> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p              , P           , ampersand           , paragraph            ],
            overlay1 = <I7E>
        }; // p P & ¶
        key <AD04> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ o              , O           , oe                  , OE                   ],
            overlay1 = <I70>
        }; // o O œ Œ
        key <AD05> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave         , Egrave      , dead_grave          , grave                ],
            overlay1 = <I70>
        }; // è È ` `
        key <AD06> {
            type[group1] = "FOUR_LEVEL"               , [ dead_circumflex, exclam      , dead_caron          , exclamdown           ],
            overlay1 = <I70>
        }; // ^ ! ˇ ¡
        key <AD07> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v              , V                                                        ],
            overlay1 = <HOME>
        }; // v V
        key <AD08> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ d              , D           , eth                 , ETH                  ],
            overlay1 = <UP>
        }; // d D ð Ð
        key <AD09> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l              , L           , UFDD0               , VoidSymbol           ],
            overlay1 = <END>
        }; // l L /
        key <AD10> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ j              , J           , U0133               , U0132                ],
            overlay1 = <PGUP>
        }; // j J ij IJ
        key <AD11> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ z              , Z           , schwa               , SCHWA                ],
            overlay1 = <I70>
        }; // z Z ə Ə
        key <AD12> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w              , W           , dead_breve          , VoidSymbol           ],
            overlay1 = <I70>
        }; // w W ˘
 
        key <AC01> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ a              , A           , ae                  , AE                   ],
            overlay1 = <LFSH>
        }; // a A æ Æ
        key <AC02> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ u              , U           , ugrave              , Ugrave               ],
            overlay1 = <I7A>
        }; // u U ù Ù
        key <AC03> { 
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i              , I           , dead_diaeresis      , dead_abovedot        ],
            overlay1 = <I7B>
        }; // i I ¨ ˙
        key <AC04> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e              , E           , EuroSign            , UFDD1                ],
            overlay1 = <I7C>
        }; // e E € ¤
        key <AC05> {
            type[group1] = "THREE_LEVEL"              , [ comma          , semicolon                                                ],
            overlay1 = <I70>
        }; // , ; ’
        key <AC06> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c              , C           , copyright           , U017F                ],
            overlay1 = <BKSP>
        }; // c C © ſ
        key <AC07> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ t              , T           , thorn               , THORN                ],
            overlay1 = <LEFT>
        }; // t T þ Þ
        key <AC08> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC",     [ s              , S           , ssharp              , U1E9E                ],
            overlay1 = <DOWN>
        }; // s S ß ẞ
        key <AC09> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r              , R           , registered          , trademark            ],
            overlay1 = <RGHT>
        }; // r R ® ™
        key <AC10> {
            type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ n              , N           , ntilde              , Ntilde               ],
            overlay1 = <PGDN>
        }; // n N ñ Ñ
        key <AC11> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m              , M           , dead_macron         , masculine            ],
            overlay1 = <I70>
        }; // m M ¯ º
        key <BKSL> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla       , Ccedilla    , dead_cedilla        , UFDD3                ],
            overlay1 = <I70>
        }; // ç Ç ¸ ,

        key <LSGT> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex    , Ecircumflex , slash               , VoidSymbol           ],
            overlay1 = <INS>
        }; // ê Ê /
        key <AB01> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave         , Agrave      , backslash           , VoidSymbol           ],
            overlay1 = <I78>
        }; // à À \
        key <AB02> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y              , Y           , braceleft           , leftsinglequotemark  ],
            overlay1 = <I70>
        }; // y Y { ‘
        key <AB03> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x              , X           , braceright          , rightsinglequotemark ],
            overlay1 = <I70>
        }; // x X } ’
        key <AB04> {
            type[group1] = "FOUR_LEVEL"               , [ period         , colon       , ellipsis            , periodcentered       ],
            overlay1 = <I79>
        }; // . : … ·
        key <AB05> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k              , K           , asciitilde          , dead_tilde           ],
            overlay1 = <I70>
        }; // k K ~ ~
        key <AB06> {
            type[group1] = "FOUR_LEVEL"               , [ apostrophe     , question    , U02BC               , questiondown         ],
            overlay1 = <RTRN>
        }; // ' ?   ¿
        key <AB07> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q              , Q           , dead_abovering      , VoidSymbol           ],
            overlay1 = <DELE>
        }; // q Q ˚
        key <AB08> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g              , G           , UFDD2               , VoidSymbol           ],
            overlay1 = <I70>
        }; // g G µ
        key <AB09> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h              , H           , dagger              , doubledagger         ],
            overlay1 = <I70>
        }; // h H † ‡
        key <AB10> {
            type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f              , F           , dead_ogonek         , ordfeminine          ],
            overlay1 = <I70>
        }; // f F ˛ ª

        key <SPCE> {
            type[group1] = "FOUR_LEVEL"               , [ space          , nobreakspace, underscore          , U202F                ],
            overlay1 = <SPCE>
        }; //     _ 

// Unused keys mapped to ctrl+letter actions
    key <I70> { [ VoidSymbol ] };
    key <I71> { [ x ] };
    key <I72> { [ c ] };
    key <I73> { [ v ] };
    key <I74> { [ z ] };
    key <I75> { [ y ] };
    key <I76> { [ f ] };
    key <I77> { [ s ] };
    key <I69> { [ thorn ] };// þ pour la console en mode quake

// For some reason there are SOMETIMES (not always!) errors with this code:
//    key <I7A> { actions[group1] = [ Redirect(keycode=<I71>, modifiers=Control) ] };      // ctrl-x
//    key <I7B> { actions[group1] = [ Redirect(keycode=<I72>, modifiers=Control) ] };      // ctrl-c
//    key <I7C> { actions[group1] = [ Redirect(keycode=<I73>, modifiers=Control) ] };      // ctrl-v
//    key <I7D> { actions[group1] = [ Redirect(keycode=<I74>, modifiers=Control) ] };      // ctrl-z
//    key <I7E> { actions[group1] = [ Redirect(keycode=<I75>, modifiers=Control) ] };      // ctrl-y

// However passing the action in the « interpret » section for an unsused symbol seems to work
    key <I7A> { [ F31 ] };      // ctrl-x
    key <I7B> { [ F32 ] };      // ctrl-c
    key <I7C> { [ F33 ] };      // ctrl-v
    key <I7D> { [ F34 ] };      // ctrl-z
    key <I7E> { [ F35 ] };      // ctrl-y
    key <I79> { [ F30 ] };      // ctrl-f
    key <I78> { [ F29 ] };      // ctrl-f

// La modification actuelle: transforme CAPS en lock de couche alternative « déplacement/édition », et garde le caps-lock habituel en AltGr
// remplacer « SetControls » par « LockControls » pour que le mode se bloque (comme le caps lock)
    key <CAPS> { type = "ALTGR_TWO", actions = [ SetControls(controls=Overlay1), LockMods(modifiers=Lock)] };


// Pour échanger Shift et Caps_Lock
//    key <CAPS> {	[	Shift_L		]	};
//    key <LFSH> {	[ 	 Caps_Lock		]	};

// Pour transformer CAPS en un AltGr gauche, en gardant le lock habituel en AltGr
//    key <CAPS> { type = "ALTGR_TWO", [ ISO_Level3_Shift, Caps_Lock ], actions = [ SetMods(modifiers=LevelThree), LockMods(modifiers=Lock) ] };

// Pour transformer LWIN en un AltGr gauche
//    key <LWIN> { [ ISO_Level3_Shift ], actions = [ SetMods(modifiers=LevelThree) ] };

// Pour mettre un Compose sur RWIN
    key <RWIN>	{ [ Multi_key, Multi_key, Multi_key, Multi_key ] };

// Échange CTRL et Alt Gauches. Et puisque LWIN est réaffectée, garde un modificateur META en niveau 3 et 4 (AltGr)
// Note: Activer cette option fonctionne mieux lorsque que l'on échange aussi les raccourcis du style Alt+Tab…
//    key <LALT> {        [ Control_L ], actions = [ SetMods(modifiers=Control) ]       };
//    key <LCTL> { type[group1] = "FOUR_LEVEL",  [       Alt_L,  Alt_L,  Meta_L, Meta_L         ], actions = [ SetMods(modifiers=Mod1), SetMods(modifiers=Mod1), SetMods(modifiers=Mod4), SetMods(modifiers=Mod4) ]       };




	include "level3(ralt_switch)"
};

xkb_geometry { include "pc(pc105)" };

};

Idées pour une version 2

J'aime pas la place du M, il faut déplacer le petit doigt sur la gauche il a assez de touches qui lui sont attribué pour ne pas en plus le charger avec le M qui est assez fréquent. On pourrait peut-être interchanger ' et M. Je trouve d'ailleurs les touches . et ' plus accessible que les , et C.

Inverser le W et K ? Peut-être mais ça sera pas révolutionnaire.