« Utilisateur:Robin » : différence entre les versions
(→version modifié du bépo : le jépo : mise à jour des cartes de caractères et fichier xkb) |
|||
Ligne 45 : | Ligne 45 : | ||
Première impression : très bonne | Première impression : très bonne | ||
Déplacement de w et k. Ça me parais valable. À confirmer. | |||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
│ │ │ | │ │ │ ù │ ç │ │ │ │ │ │ ! │ ? │ │ ║ ║ | ||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | ||
║ ║ │ │ │ │ │ | ║ ║ │ │ │ │ │ ˇ │ │ │ │ │ │ ║ ║ ** Cette touche ne marche pas | ||
║ ║ j │ é │ p │ o │ è │ | ║ ║ j │ é │ p │ o │ è │ ^ │ v │ d │ l │ b │ z │ ** ║ ║ chez moi (problème de faux contact) | ||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | ||
║ ║ │ │ │ │ | ║ ║ │ │ │ │ ‘ │ │ │ │ │ │ │ ║ ║ | ||
║ ║ a │ u │ i │ e │ | ║ ║ a │ u │ i │ e │ ’ │ c │ t │ s │ r │ n │ m │ ║ ║ | ||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ||
║ ║ │ │ │ │ | ║ ║ │ │ │ │ ; │ — │ : │ │ │ │ ║ ║ ** le ê non plus mais ce | ||
║ | ║ w ║ ê │ à │ y │ x │ , │ - │ . │ q │ g │ h │ f ║ k ║ n’est pas grave | ||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ||
║ ║ ║ ║ ║ ║ ║ ║ ║ | ║ ║ ║ ║ ║ ║ ║ ║ ║ | ||
Ligne 64 : | Ligne 65 : | ||
===Les modificateurs === | ===Les modificateurs === | ||
Disposition à essayer, je vous la conseille (à condition de ne pas utiliser d’autre mappages évidemment) | |||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ||
│ | │ € │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ € dead_currency | ||
│ α │tab │ │ │ctrl│win │échap alt│ctrl│ │ │ │ ║compose ║ α dead_greek | |||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | ||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
║return ║ │ │ │ │ │ │ │ │ │ │ | ║return ║ │ │ │ │ │ │ │ │ │ │ │suppr ║ | ||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | ||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
Ligne 75 : | Ligne 78 : | ||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ||
║ ║ ║over║ ║ ║ ║over║ ║ | ║ ║ ║over║ ║ ║ ║over║ ║ | ||
Ligne 81 : | Ligne 84 : | ||
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝ | ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝ | ||
===Le pavé numérique en altgr+maj (idem que [Utilisateur:Lawrent|Lawrent])=== | ===Le pavé numérique en altgr+maj (idem que [[Utilisateur:Lawrent|Lawrent]])=== | ||
Les chiffres sont en altgr + maj | Les chiffres sont en altgr + maj | ||
Ligne 95 : | Ligne 98 : | ||
║altgr ║ │ │ │ │ │ .│ 0│ 1│ 2│ 3│ 4│ ║ ║ | ║altgr ║ │ │ │ │ │ .│ 0│ 1│ 2│ 3│ 4│ ║ ║ | ||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ||
║ ║ │ │ │ │ │ │ ≠│ ±│ −│ | ║ ║ │ │ │ │ │ │ ≠│ ±│ −│ /│ ×║ ║ | ||
║ ║ │ │ │ │ │ │ =│ +│ -│ ÷│ *║ ║ | ║ ║ │ │ │ │ │ │ =│ +│ -│ ÷│ *║ ║ | ||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ||
Ligne 107 : | Ligne 110 : | ||
(nb : « %+=-% » viennent du pavé numérique) | (nb : « %+=-% » viennent du pavé numérique) | ||
(nb : « ;:!? » viennent des signes de ponctuation (mis pour référence)) | (nb : « ;:!? » viennent des signes de ponctuation (mis pour référence)) | ||
(nb : « \^#|&@$ » sous « è^dbaes » (mis pour référence)) | (nb : afin de faciliter la mémorisation J’ai mis les symboles sous des caractères qui leur ressemble : « \^#|&@$ » sous « è^dbaes » (mis pour référence)) | ||
minimisation de l’utilisation de la ligne du bas | minimisation de l’utilisation de la ligne du bas | ||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ||
│ │ │ │ │ │ │ │ │ │ | │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | ||
Ligne 130 : | Ligne 133 : | ||
Les lettres sont rappelées pour information (les touches directionnelles sont au même endroit que dans vim). | Les lettres sont rappelées pour information (les touches directionnelles sont au même endroit que dans vim). | ||
Je pense rajouter d’autre trucs comme page up/down, précédant/suivant… | Je pense rajouter d’autre trucs comme page up/down, précédant/suivant… | ||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | ||
│in │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | │in │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
Ligne 138 : | Ligne 140 : | ||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | ||
║ ║ │ │ │ │ │ c│ t│ s│ r│ n│ m│ ║ ║ | ║ ║ │ │ │ │ │ c│ t│ s│ r│ n│ m│ ║ ║ | ||
║echap ║ │ │ │ │ │ ←│ ↓│ ↑│ →│ ↖│ fin│echap║ ║ ↖ origin | |||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | ||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | ||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | ||
Ligne 158 : | Ligne 160 : | ||
* Les plus | * Les plus | ||
- le trait d’union très accessible | - le trait d’union très accessible | ||
- w et k sont plus accessible | - w et k sont plus accessible (leur position est inhabituelle mais on s’y fait très bien) | ||
- ba et ab ne sont plus sur le même doit, c’est très agréable, d’autant que bl et br deviennent des digrammes simples | - ba et ab ne sont plus sur le même doit, c’est très agréable, d’autant que bl et br deviennent des digrammes simples à faire | ||
- ( et ) très accessible | - ( et ) très accessible | ||
- forte décharge des petits doigts pour les modificateurs | |||
- Les paumes de mains ne bougent quasiment pas, même pour les modificateurs. | |||
But : | But : | ||
Ligne 169 : | Ligne 171 : | ||
- avoir les symboles de prog plus accessible (donc pas la lignes des chiffres) | - avoir les symboles de prog plus accessible (donc pas la lignes des chiffres) | ||
- avoir les modificateurs et touches spéciale plus accessible (ctrl maj retour …) | - avoir les modificateurs et touches spéciale plus accessible (ctrl maj retour …) | ||
- diminuer l’utilisation de la ligne du haut pour les symboles | |||
- k et w plus accessible (ce sont les seules lettres que j’ai déplacé, je fait confiance au bépo pour le placement des autres touches) | - k et w plus accessible (ce sont les seules lettres que j’ai déplacé, je fait confiance au bépo pour le placement des autres touches) | ||
- ’ et ' sur la même touche avec ’ en accès direct. | - ’ et ' sur la même touche avec ’ en accès direct. | ||
Ligne 177 : | Ligne 180 : | ||
- , sous l’index droit et . sous l’index gauche pour symétriser (j’ai échangé , et ’) avec l’apostrophe typographique en accès direct. Dans ma logique , et . sont du même ordre : des séparateur de mots, contrairement à ’ qui se trouve en milieu de mot. Et de toute façon ces deux touches ont la même accessibilité (à mon gout). | - , sous l’index droit et . sous l’index gauche pour symétriser (j’ai échangé , et ’) avec l’apostrophe typographique en accès direct. Dans ma logique , et . sont du même ordre : des séparateur de mots, contrairement à ’ qui se trouve en milieu de mot. Et de toute façon ces deux touches ont la même accessibilité (à mon gout). | ||
- j’ai mis les touches directionnelles sous "ctsr" (comme vim) et origin/fin sous "nm" accessible avec la touche deux cran à gauche de la barre espace | - j’ai mis les touches directionnelles sous "ctsr" (comme vim) et origin/fin sous "nm" accessible avec la touche overlay (deux cran à gauche de la barre espace, cf disposition overlay). Je pense rajouter d’autre trucs comme précédant/suivant et page up/down. | ||
- J’essaye d’avoir un maximum de similitude avec [[Utilisateur:Lawrent|Lawrent]] et de reprendre les bonnes idées des modifications persos. | |||
Nb : | Nb : | ||
- Je n’ai pas placé la plupart des caractères étrangers, je ne les utilise jamais, je le ferais quand ma disposition sera fixé. | |||
- Je n’ai pas placé la plupart des caractères étrangers, je ne les utilise jamais | |||
Les trucs pas parfait : | Les trucs pas parfait : | ||
- </ et /> pour les langages à balise ne sont pas optimaux (mais c’est tout à fait faisable) | - </ et /> pour les langages à balise ne sont pas optimaux (mais c’est tout à fait faisable) | ||
- mon clavier n’a physiquement pas assez de touches sous les pouces ^^ | - mon clavier n’a physiquement pas assez de touches sous les pouces ^^ | ||
- | - { n’est pas tout à fait assez accessible | ||
=== Fichier xkb === | === Fichier xkb === | ||
Ligne 195 : | Ligne 197 : | ||
/!\ Les commentaires ne correspondent pas | /!\ Les commentaires ne correspondent pas | ||
<source lang=" | <source lang="text"> | ||
partial alphanumeric_keys | partial alphanumeric_keys | ||
xkb_symbols "bepo" { | xkb_symbols "bepo" { | ||
Ligne 207 : | Ligne 209 : | ||
key.type[Group1] = "ONE_LEVEL"; | key.type[Group1] = "ONE_LEVEL"; | ||
key <ESC> { [ Escape ] | key <ESC> { [ Escape ] }; | ||
key <LCTL> { [ Alt_L ] }; | key <LCTL> { [ Alt_L ] }; | ||
key <RCTL> { [ Super_L ] }; | key <RCTL> { [ Super_L ] }; | ||
key <TAB> { [ BackSpace ], overlay1 = <DELE> }; | key <TAB> { [ BackSpace ], overlay1 = <DELE> }; | ||
key <AD12> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay2) ], overlay2 = <DELE> }; | |||
key.type[Group1] = "TWO_LEVEL"; | key.type[Group1] = "TWO_LEVEL"; | ||
key <LALT> { [ Shift_L, Shift_Lock ] }; | key <LALT> { [ Shift_L, Shift_Lock ] }; | ||
key <RALT> { [ Shift_R, Shift_Lock ] }; | key <RALT> { [ Shift_R, Shift_Lock ] }; | ||
key <LWIN> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] }; | key <LWIN> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] }; | ||
key <MENU> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] }; | key <MENU> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] }; | ||
key < | key <TLDE> { [ dead_greek,dead_currency ], overlay1 = <INS> }; | ||
key < | key <AE01> { [ Tab, ISO_Left_Tab ] }; | ||
key.type[Group1] = "FOUR_LEVEL"; | key.type[Group1] = "FOUR_LEVEL"; | ||
key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // ␣ _ (espace insécable) (espace insécable fin _ ) | key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // ␣ _ (espace insécable) (espace insécable fin _ ) | ||
key <BKSP> { [ Multi_key, Multi_key, Multi_key, Terminate_Server ] }; | key <BKSP> { [ Multi_key, Multi_key, Multi_key, Terminate_Server ] }; | ||
key <CAPS> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ] }; | key <CAPS> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ], overlay1 = <ESC> }; | ||
key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ] }; | key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ], overlay1 = <ESC> }; | ||
key.type[Group1] = "ONE_LEVEL"; | |||
key <AE04> { [ Control_L ] }; | |||
key <AE05> { [ Super_L ] }; | |||
key <AE06> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay2) ], overlay2 = <RALT> }; | |||
key <AE07> { [ Alt_L ] }; | |||
key <AE08> { [ Control_R ] }; | |||
// level modifier | // level modifier | ||
Ligne 237 : | Ligne 246 : | ||
key.type[Group1] = "FOUR_LEVEL"; | key.type[Group1] = "FOUR_LEVEL"; | ||
// onequarter | |||
// idiaeresis, Idiaeresis, onehalf, doublelowquotemark] }; // ç Ç [ ≤ | |||
// oe, OE, threequarters ] }; // ) } ] ≥ | |||
// ae, AE, notsign ] }; // + ± A ¬ | |||
// degree ] }; // − ¼ B ° | |||
key <AE02> { [ ugrave, Ugrave, guillemotleft, leftdoublequotemark ] }; | key <AE02> { [ ugrave, Ugrave, guillemotleft, leftdoublequotemark ] }; | ||
key <AE03> { [ ccedilla, Ccedilla, guillemotright, rightdoublequotemark ] }; | key <AE03> { [ ccedilla, Ccedilla, guillemotright, rightdoublequotemark ] }; | ||
key <AE09> { [ exclam, exclamdown,Pointer_Button8, C ] }; // ÷ ½ C \ | key <AE09> { [ exclam, exclamdown,Pointer_Button8, C ] }; // ÷ ½ C \ | ||
key <AE10> { [ question, questiondown,Pointer_Button9, D ] }; // × ¾ D ∞ | key <AE10> { [ question, questiondown,Pointer_Button9, D ] }; // × ¾ D ∞ | ||
Ligne 263 : | Ligne 267 : | ||
key <AD02> { [ eacute, Eacute, braceright, lessthanequal] }; // é É ^ ´ > , dead_acute | key <AD02> { [ eacute, Eacute, braceright, lessthanequal] }; // é É ^ ´ > , dead_acute | ||
key <AD03> { [ p, P, bracketleft, greaterthanequal], overlay1 = <AD12> }; // p P & § # , section | key <AD03> { [ p, P, bracketleft, greaterthanequal], overlay1 = <AD12> }; // p P & § # , section | ||
key <AD04> { [ o, O, bracketright, VoidSymbol ] }; // o O œ Œ | key <AD04> { [ o, O, bracketright, VoidSymbol ] }; // o O œ Œ " , | ||
key <AD05> { [ egrave, Egrave, backslash, VoidSymbol ] }; // è È ` ` ~ , dead_grave | key <AD05> { [ egrave, Egrave, backslash, VoidSymbol ] }; // è È ` ` ~ , dead_grave | ||
key <AD06> { [ dead_circumflex, dead_caron, asciicircum, comma ] }; // ^ ˇ ! ¡ | key <AD06> { [ dead_circumflex, dead_caron, asciicircum, comma ] }; // ^ ˇ ! ¡ | ||
Ligne 292 : | Ligne 296 : | ||
key.type[Group1] = "FOUR_LEVEL"; | key.type[Group1] = "FOUR_LEVEL"; | ||
key <LFSH> { [ w, W, VoidSymbol, VoidSymbol ] }; | |||
key <LSGT> { [ ecircumflex, Ecircumflex, U2190, U21D4 ] }; | key <LSGT> { [ ecircumflex, Ecircumflex, U2190, U21D4 ] }; | ||
key <AB01> { [ agrave, Agrave, VoidSymbol, U21AA ] }; // à À ↪ ⇔ } | key <AB01> { [ agrave, Agrave, VoidSymbol, U21AA ] }; // à À ↪ ⇔ } | ||
Ligne 298 : | Ligne 303 : | ||
key <AB04> { [ comma, semicolon, ecircumflex, Ecircumflex ] }; // . : … · $ | key <AB04> { [ comma, semicolon, ecircumflex, Ecircumflex ] }; // . : … · $ | ||
key <AB05> { [ minus, emdash, asciitilde, dead_tilde ] }; // k K ə Ə | key <AB05> { [ minus, emdash, asciitilde, dead_tilde ] }; // k K ə Ə | ||
key <AB06> { [ period, colon, notequal, equal ] }; // ? µ ¿ eth | key <AB06> { [ period, colon, notequal, equal ] }; // ' ? µ ¿ eth | ||
key <AB07> { [ q, Q, plusminus, plus ] }; // q Q 0 ˚ dead_abovering | key <AB07> { [ q, Q, plusminus, plus ] }; // q Q 0 ˚ dead_abovering | ||
key <AB08> { [ g, G, U2212, minus ] }; // g G µ ̣ dead_belowdot | key <AB08> { [ g, G, U2212, minus ] }; // g G µ ̣ dead_belowdot | ||
key <AB09> { [ h, H, division, slash ] }; // h H † ‡ doubledagger | key <AB09> { [ h, H, division, slash ] }; // h H † ‡ doubledagger | ||
key <AB10> { [ f, F, multiply, asterisk ] }; // f F ̨ ª ordfeminine | key <AB10> { [ f, F, multiply, asterisk ] }; // f F ̨ ª ordfeminine | ||
key <RTSH> { [ k, K, VoidSymbol, VoidSymbol ] }; | |||
};</source> | }; | ||
</source> | |||
Version du 20 avril 2013 à 17:16
Ma disposition est récente et subit encore quelques modifications. Si vous souhaitez une version stable, revenez d'ici quelques temps :-) .
Retour d’expérience
Bonjour à tous, Je voulais faire un retour d’expérience de mon aventure en bépo, voilà qui est chose faite :
J’ai découvert le bépo par un ami. Je connaissais depuis longtemps le dvorak, et comptais m’y mettre un jour. J’ai finalement opté pour le bépo le 12 mars. J’utilisai auparavant l’azerty avec environ 7 doigts avec une vitesse de frappe d’environ 30-40 MPM mais avec une précision déplorable, surtout à haute vitesse. Je connaissais le placement standard des doigts en position dactylo. Il m’est arrivé à l’occasion de taper en qwerty et en qwertz (la version suisse).
Première impression : c’est très logique, j’ai retenu la casi totalité des touches en environ ½ heure
Semaine 1
Je suis très lent : environ 10 mots par minutes, mais c’est normal. Je fais tous les exercices de base sur klavaro et vise le 99% de précision.
Semaine 2
Je commence à bien connaitre les touches. J’en suis à 12-15 mots par minutes. Je commence à m’entrainer avec les trigrammes (http://bepo.fr/wiki/Exercices#M.C3.A9thode_par_les_trigrammes). Je découvre avec plaisir « http://phoboslab.org/ztype/ » mais n’arrive pas à passer le niveau 4. Durant le week-end j’ai déplacé physiquement les touches de mon pc portable (comme ça je peux passer mon ordi, vu que je veux retirer toute trace de l’azerty). Là je me rends compte que contrairement à ce que je pensais, je ne frappe pas du tout en aveugle ! À partir de là, ma migration est totale.
Semaine 3
Nette progression : je passe la barre des 25 MPM. J’atteins 40 MPM avec les trigrammes. Je modifie le layout du clavier pour avoir un pavé numérique en altgr sous la main droite (dès que j’aurais une disposition stable de mes touches, j’en parlerai sur le forum) et je modifie la place des touches « maj » « altgr » « ctrl » …
Semaine 4
Progrès plus lent mais constant. 45 MPM avec les trigrammes, 25 à 30 avec des textes complets. Je travaille ma fluidité. Pour la précision j’en suis à 96%, mais j’essaye de m’améliorer.
Semaine 5
J’ai finis la liste des trigrammes. J’ai décidé de la recommencer au début, et là c’est une grande satisfaction pour moi je passe la barre des 50 MPM et même celle des 60 le même jour ! C’est très motivant, d’autant qu’il est très rare que je repasse en dessous des 50 MPM. Je me concentre désormais exclusivement sur la précision, et paradoxalement je gagne beaucoup en vitesse ! Sur texte libre, je suis à 28MPM. En revanche ma fluidité laisse à désirer.
Semaine 6
Environ 50 MPM sur trigrammes, 98% de précision avec plusieurs pics à 100 %. Pour les textes libres j’en suis à 30-32 MPM et la même précision.
version modifié du bépo : le jépo
Pour l’instant, je modifie encore mon clavier, mais dans l’ensemble, je suis assez contant du résultat
(les deux liens qui suivent ne sont pas à jour, je les retirerai quand j’aurais tout mis au propre sur cette page)
"mon clavier"
"fichier xkb pour linux
Les lettres (avec les maj évidemments)
Selon http://www.lexique.org/listes/liste_bigrammes.txt :
Les digrammes « ab » et « ba » totalisent 3573 et 3006 occurrences, les digrammes « jn » et « nj » totalisent 0 et 216 occurrences. Les digrammes « bn » et « nb » totalisent 15 et 9 occurrences, les digrammes « ja » et « aj » totalisent 454 et 252 occurrences.
Il me semble du coup plus judicieux d’inverser j et b. Et d’autant plus que : le digramme « br » totalise 2395 occurrences et le digramme « bl » totalise 3031 occurrences
Première impression : très bonne Déplacement de w et k. Ça me parais valable. À confirmer.
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ │ │ │ ù │ ç │ │ │ │ │ │ ! │ ? │ │ ║ ║ ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║ ║ │ │ │ │ │ ˇ │ │ │ │ │ │ ║ ║ ** Cette touche ne marche pas ║ ║ j │ é │ p │ o │ è │ ^ │ v │ d │ l │ b │ z │ ** ║ ║ chez moi (problème de faux contact) ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ ‘ │ │ │ │ │ │ │ ║ ║ ║ ║ a │ u │ i │ e │ ’ │ c │ t │ s │ r │ n │ m │ ║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ ║ ║ │ │ │ │ ; │ — │ : │ │ │ │ ║ ║ ** le ê non plus mais ce ║ w ║ ê │ à │ y │ x │ , │ - │ . │ q │ g │ h │ f ║ k ║ n’est pas grave ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ espace ║ ║ ║ ║ ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
Les modificateurs
Disposition à essayer, je vous la conseille (à condition de ne pas utiliser d’autre mappages évidemment)
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ € │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ € dead_currency │ α │tab │ │ │ctrl│win │échap alt│ctrl│ │ │ │ ║compose ║ α dead_greek ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║return ║ │ │ │ │ │ │ │ │ │ │ │suppr ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║altgr ║ │ │ │ │ │ │ │ │ │ │ │altgr ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ ║ ║ ║over║ ║ ║ ║over║ ║ ║ alt ║fn ║lay ║maj ║ ║maj ║lay ║meta║ ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
Le pavé numérique en altgr+maj (idem que Lawrent)
Les chiffres sont en altgr + maj Les symboles ≠ % × ± − en altgr
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ │ │ A│ B│ C│ D│ E│ F║ ║ ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ ,│ 5│ 6│ 7│ 8│ 9│ ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║altgr ║ │ │ │ │ │ .│ 0│ 1│ 2│ 3│ 4│ ║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ ║ ║ │ │ │ │ │ │ ≠│ ±│ −│ /│ ×║ ║ ║ ║ │ │ │ │ │ │ =│ +│ -│ ÷│ *║ ║ ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║maj ║ ║ ║ ║ ║ ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
Le mappage ASCII en altgr
Les 32 symboles ASCII ~`!@#$%^&*()-_+={}[]:;'"|/\<>,.? (nb : « %+=-% » viennent du pavé numérique) (nb : « ;:!? » viennent des signes de ponctuation (mis pour référence)) (nb : afin de faciliter la mémorisation J’ai mis les symboles sous des caractères qui leur ressemble : « \^#|&@$ » sous « è^dbaes » (mis pour référence)) minimisation de l’utilisation de la ligne du bas
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║ ║ │ │ │ │ è │ ^ │ │ d │ l│ 8│ │ ║ ║ ║ ║ { │ } │ [ │ ] │ \ │ ^ │ │ # │ |│ %│ │ ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ a │ │ │ e │ │ │ │ s │ │ │ │ ║ ║ ║altgr ║ @ │ ( │ ) │ & │ ' │ ` │ " │ $ │ < │ > │ │altgr║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ ║ ║ │ │ │ │; │ │: │ │ │ /│ *║ ║ ║ ║ │ │ │ │ │ ~ │ │ │ │ │ ║ ║ ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ underscore ║ ║ ║ ║ ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
disposition "overlay"
Pour plus de détails, cf [https:http://forum.bepo.fr/viewtopic.php?pid=6947#p6947]. Les lettres sont rappelées pour information (les touches directionnelles sont au même endroit que dans vim). Je pense rajouter d’autre trucs comme page up/down, précédant/suivant…
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │in │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ │sert│ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║delete ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ │ c│ t│ s│ r│ n│ m│ ║ ║ ║echap ║ │ │ │ │ │ ←│ ↓│ ↑│ →│ ↖│ fin│echap║ ║ ↖ origin ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ ║ ║ ║over║ ║ ║ ║over║ ║ ║ ║ ║lay ║ ║ ║ ║lay ║ ║ ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
Mon impression
- Les gros plus :
- les chiffres en main droite sont hyper accessibles. - les touches majuscule au niveau des pouces c’est très agréable, ça permet de taper plusieurs majuscules de suites sans être gênés, y compris si on doit taper des trucs genre « MAN » (petit doigts gauche et droits) - altgr en caps lock + touche à droite du m (même ligne que la ligne de repos), c’est très bien aussi - les touches directionnelles à la vim
- Les plus
- le trait d’union très accessible - w et k sont plus accessible (leur position est inhabituelle mais on s’y fait très bien) - ba et ab ne sont plus sur le même doit, c’est très agréable, d’autant que bl et br deviennent des digrammes simples à faire - ( et ) très accessible - forte décharge des petits doigts pour les modificateurs - Les paumes de mains ne bougent quasiment pas, même pour les modificateurs.
But :
- avoir les chiffres sous la main droite (je n’aime pas la rangée des chiffres pour taper plus d’un caractère de suite, surtout avec un modificateur) - symétriser altgr - avoir les symboles de prog plus accessible (donc pas la lignes des chiffres) - avoir les modificateurs et touches spéciale plus accessible (ctrl maj retour …) - diminuer l’utilisation de la ligne du haut pour les symboles - k et w plus accessible (ce sont les seules lettres que j’ai déplacé, je fait confiance au bépo pour le placement des autres touches) - ’ et ' sur la même touche avec ’ en accès direct. - - en accès direct pour le trait d’union - — (emdash) à côté de la barre espace - compose - quelques symboles pour la prise de notes ≃∞↪→⇒⇔← - , sous l’index droit et . sous l’index gauche pour symétriser (j’ai échangé , et ’) avec l’apostrophe typographique en accès direct. Dans ma logique , et . sont du même ordre : des séparateur de mots, contrairement à ’ qui se trouve en milieu de mot. Et de toute façon ces deux touches ont la même accessibilité (à mon gout).
- j’ai mis les touches directionnelles sous "ctsr" (comme vim) et origin/fin sous "nm" accessible avec la touche overlay (deux cran à gauche de la barre espace, cf disposition overlay). Je pense rajouter d’autre trucs comme précédant/suivant et page up/down. - J’essaye d’avoir un maximum de similitude avec Lawrent et de reprendre les bonnes idées des modifications persos.
Nb :
- Je n’ai pas placé la plupart des caractères étrangers, je ne les utilise jamais, je le ferais quand ma disposition sera fixé.
Les trucs pas parfait :
- </ et /> pour les langages à balise ne sont pas optimaux (mais c’est tout à fait faisable) - mon clavier n’a physiquement pas assez de touches sous les pouces ^^ - { n’est pas tout à fait assez accessible
Fichier xkb
/!\ Mon fichier est très mal écris. Je le mettrais au propre quand ma disposition sera stable. /!\ J’ai des problème matériel sur mon clavier : la touche {ê} ne marche pas et celle à droite du {z} non plus. Je me suis donc rajouté deux trois raccourcis avec l’overlay en conséquence /!\ Les commentaires ne correspondent pas
partial alphanumeric_keys
xkb_symbols "bepo" {
include "level3(ralt_switch)"
include "keypad(oss)"
name[Group1]= "French (Bepo, ergonomic, Dvorak way)";
name[Group2]= "Symbols list";
name[Group3]= "Number";
key.type[Group1] = "ONE_LEVEL";
key <ESC> { [ Escape ] };
key <LCTL> { [ Alt_L ] };
key <RCTL> { [ Super_L ] };
key <TAB> { [ BackSpace ], overlay1 = <DELE> };
key <AD12> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay2) ], overlay2 = <DELE> };
key.type[Group1] = "TWO_LEVEL";
key <LALT> { [ Shift_L, Shift_Lock ] };
key <RALT> { [ Shift_R, Shift_Lock ] };
key <LWIN> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] };
key <MENU> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] };
key <TLDE> { [ dead_greek,dead_currency ], overlay1 = <INS> };
key <AE01> { [ Tab, ISO_Left_Tab ] };
key.type[Group1] = "FOUR_LEVEL";
key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // ␣ _ (espace insécable) (espace insécable fin _ )
key <BKSP> { [ Multi_key, Multi_key, Multi_key, Terminate_Server ] };
key <CAPS> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ], overlay1 = <ESC> };
key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ], overlay1 = <ESC> };
key.type[Group1] = "ONE_LEVEL";
key <AE04> { [ Control_L ] };
key <AE05> { [ Super_L ] };
key <AE06> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay2) ], overlay2 = <RALT> };
key <AE07> { [ Alt_L ] };
key <AE08> { [ Control_R ] };
// level modifier
modifier_map Mod1 { <LALT> };
// modifier_map Mod1 { <RALT> };
modifier_map Mod2 { <CAPS> };
modifier_map Mod2 { <BKSL> };
// First row
key.type[Group1] = "FOUR_LEVEL";
// onequarter
// idiaeresis, Idiaeresis, onehalf, doublelowquotemark] }; // ç Ç [ ≤
// oe, OE, threequarters ] }; // ) } ] ≥
// ae, AE, notsign ] }; // + ± A ¬
// degree ] }; // − ¼ B °
key <AE02> { [ ugrave, Ugrave, guillemotleft, leftdoublequotemark ] };
key <AE03> { [ ccedilla, Ccedilla, guillemotright, rightdoublequotemark ] };
key <AE09> { [ exclam, exclamdown,Pointer_Button8, C ] }; // ÷ ½ C \
key <AE10> { [ question, questiondown,Pointer_Button9, D ] }; // × ¾ D ∞
key <AE11> { [ endash, VoidSymbol, minutes, E ] }; // = ≃ E ′
key <AE12> { [ U2243, U221E, seconds, F ] }; // ≠ F ‰ ″
// Second row
key.type[Group1] = "FOUR_LEVEL";
key <AD01> { [ j, J, braceleft, VoidSymbol ] }; // b B / ˝ < , dead_doubleacute
key <AD02> { [ eacute, Eacute, braceright, lessthanequal] }; // é É ^ ´ > , dead_acute
key <AD03> { [ p, P, bracketleft, greaterthanequal], overlay1 = <AD12> }; // p P & § # , section
key <AD04> { [ o, O, bracketright, VoidSymbol ] }; // o O œ Œ " ,
key <AD05> { [ egrave, Egrave, backslash, VoidSymbol ] }; // è È ` ` ~ , dead_grave
key <AD06> { [ dead_circumflex, dead_caron, asciicircum, comma ] }; // ^ ˇ ! ¡
key <AD07> { [ v, V, VoidSymbol, 5 ] }; // v V 5 ˇ dead_breve
key <AD08> { [ d, D, numbersign, 6 ], overlay1 = <AD12> }; // d D 6 ̉ dead_hook Nb : la touche AD12 est la touche qui contient le symbol "tab" et il se trouve qu’une fois sur deux elle ne marche pas à cause d’un problème matériel
key <AD09> { [ l, L, bar, 7 ] }; // l L 7 ¸ dead_cedilla
key <AD10> { [ b, B, percent, 8 ] }; // j J 8 , dead_belowcomma
key <AD11> { [ z, Z, dead_horn, 9 ] }; // z Z 9 ̛
// Third row
key.type[Group1] = "FOUR_LEVEL";
key <AC01> { [ a, A, at , VoidSymbol ] }; // a A æ Æ { , AE /*, overlay1 = Undo */
key <AC02> { [ u, U, parenleft , ugrave ] }; // u U ù Ù [ , Ugrave /*, overlay1 = Redo */
key <AC03> { [ i, I, parenright , dead_diaeresis ] }; // i I ̈ ˙ ( , dead_abovedot /*, overlay1 = Prior*/
key <AC04> { [ e, E, ampersand , EuroSign ], overlay1 = <LSGT> }; // e E € ¤ ) , dead_currency /*, overlay1 = Next */
key <AC05> { [ rightsinglequotemark,leftsinglequotemark,apostrophe, ellipsis ] }; // , ; ’ ‘ ;
key <AC06> { [ c, C, grave , dot ], overlay1 = <LEFT> }; // c C 0 © ← copyright
key <AC07> { [ t, T, quotedbl , 0 ], overlay1 = <DOWN> }; // t T 1 ™ ↓ trademark
key <AC08> { [ s, S, dollar , 1 ], overlay1 = <UP> }; // s S 2 ſ ↑ U017F
key <AC09> { [ r, R, less , 2 ], overlay1 = <RGHT> }; // r R 3 ® → registered
key <AC10> { [ n, N, greater , 3 ], overlay1 = <HOME> }; // n N 4 ~ SCHWA
key <AC11> { [ m, M, masculine, 4 ], overlay1 = <END> }; // m M ̄ º ,dead_macron
// Fourth row
key.type[Group1] = "FOUR_LEVEL";
key <LFSH> { [ w, W, VoidSymbol, VoidSymbol ] };
key <LSGT> { [ ecircumflex, Ecircumflex, U2190, U21D4 ] };
key <AB01> { [ agrave, Agrave, VoidSymbol, U21AA ] }; // à À ↪ ⇔ }
key <AB02> { [ y, Y, VoidSymbol, U2192 ] }; // y Y → ← ] , U21D0
key <AB03> { [ x, X, VoidSymbol, U21D2 ] }; // x X ⇒ ⇐ \ , periodcentered
key <AB04> { [ comma, semicolon, ecircumflex, Ecircumflex ] }; // . : … · $
key <AB05> { [ minus, emdash, asciitilde, dead_tilde ] }; // k K ə Ə
key <AB06> { [ period, colon, notequal, equal ] }; // ' ? µ ¿ eth
key <AB07> { [ q, Q, plusminus, plus ] }; // q Q 0 ˚ dead_abovering
key <AB08> { [ g, G, U2212, minus ] }; // g G µ ̣ dead_belowdot
key <AB09> { [ h, H, division, slash ] }; // h H † ‡ doubledagger
key <AB10> { [ f, F, multiply, asterisk ] }; // f F ̨ ª ordfeminine
key <RTSH> { [ k, K, VoidSymbol, VoidSymbol ] };
};
Divers
- un clavier vierge à copier-coller
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ │ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
Moi !
20 ans — en 2eme année en dut geii (électronique) — programme en c++ pour le plaisir — le reste ne vous regarde pas !