« Utilisateur:Robin » : différence entre les versions

De Disposition de clavier bépo
(→‎Création d'un prototype de clavier : Ajout d'un lien vers ma deuxième sous-page.)
 
(18 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
Ma disposition est récente et subit encore quelques modifications. Si vous souhaitez une version stable, revenez d'ici quelques temps :-) .
== Création d'un prototype de clavier ==
 
Je suis actuellement en train de me fabriquer mon propre clavier (l'objet). Vous pourrez suivre :
 
* [[Utilisateur:Robin/proto|l'avancement]]
* [[Utilisateur:Robin/teensy|mes astuces pour programmer un teensy]]


==Retour d’expérience==  
==Retour d’expérience==  
Ligne 27 : Ligne 32 :
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.
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==
===Semaine 7===
Sur textes libres 37 à 40 MPM, au minimum 97% de précision. J’essaye d’atteindre les 100%, et avec cette contrainte (quand j’y arrive) je suis à 35 MPM.
 
Petite anecdote : le fait d’avoir travaillé le fait de pouvoir détacher mon regard de mes mains mais aussi de mon écran quand je tape me permet de faire deux choses en même temps. C’est comme si je passais l’action d’écrire en arrière-plan, de manière à pouvoir passer ma concentration à autre chose. Évidemment ma vitesse et ma précision en prennent un coup, mais c’est très pratique !
 
Autre point positif : le fait de devoir me concentrer sur chaque lettre que je tape m’ont permis, il semble de diminuer le nombre de fautes d’orthographe que je fais. Ayant toujours eu de grande difficulté dans ce domaine, c’est un vrai plaisir pour moi.
 
Je continue à m’amuser à faire des tests de placement de touche pour mon clavier. C’est un vrai loisir. Je suis content de voir que ça n’affecte pas ma frappe.
 
===Semaine 12
Passage de la barre des 50 MPM ! (mais avec une précision pourri, 94%)
 
Je viens de faire pour la première fois depuis longtemps (à cause de mes modifications sur le bépo) un 100% de précision avec tazzon, mais pas de pot, la lettre suivante était un d, et vu que j’utilise vimpérator, ça m’a fermé mon onglet. Je suis très triste. C’était environ 45MPM.
 
===Semaine 15
Premier score sur tazzon avec tout en vert : précision, vitesse et fluidité.
Juste pour m’en souvenir :
Temps : 1 min. 54,0 s
Vous avez fait 8 erreurs (10 fautes de frappe).
Précision : 98 %
Coups par seconde : 4.39 (263 coups/min.)
Mots par minute : 52.7
Fluidité : 75.28 %
 
Sans erreurs, vous auriez pu atteindre 54.8 mots par minute.
Temps perdu en erreurs : 0 min. 4,4 s soit 3.9%
 
Félicitations ! Votre précision est excellente.
Félicitations ! Votre vitesse de frappe est excellente.
 
==version modifié du bépo : Chiffres en accès direct==
 
J'ai fait pas mal de test sur la dispo bépo depuis environ 2 an. Voici ma disposition actuelle, à ajouter dans le fichier
 
    /usr/share/X11/xkb/symbols/perso
 
/!\ Suite à des perso de travail du à une mise à jour, je ne met plus mon travail dans /usr/share/X11/xkb/symbols/fr, mais dans un fichier séparé.
 
 
    partial alphanumeric_keys
    xkb_symbols "overlay" {
   
        key <PRSC> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] };
        // NB: ma touche PRSC (capture d'écran) est situé à droite de ma touche RALT sur mon clavier.
   
        key <AC02> {overlay1=<LEFT>};
        key <AC03> {overlay1=<DOWN>};
        key <AD03> {overlay1=<UP>  };
        key <AC04> {overlay1=<RGHT>};
        key <AD02> {overlay1=<HOME>};
        key <AD04> {overlay1=<END> };
    };
   
    partial alphanumeric_keys
    xkb_symbols "bepo_invert_number" {
        // First row
        key <AE01> { [        1,        quotedbl ] };
        key <AE02> { [        2,  guillemotleft ] };
        key <AE03> { [        3,  guillemotright ] };
        key <AE04> { [        4,      parenleft ] };
        key <AE05> { [        5,      parenright ] };
        key <AE06> { [        6,              at ] };
        key <AE07> { [        7,            plus ] };
        key <AE08> { [        8,          minus ] };
        key <AE09> { [        9,          slash ] };
        key <AE10> { [        0,        asterisk ] };
    };
   
    partial alphanumeric_keys
    xkb_symbols "deplace_modificateur" {
 
        include "keypad(oss)"
 
        key <CAPS> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Shift, Caps_Lock, ISO_Level3_Lock, ISO_Level3_Lock ] };
        key <RALT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock ] };
        key <LALT> { [ Shift_L, Shift_Lock ] };
        key <LFSH> { type[group1] = "ONE_LEVEL", [ Alt_L ] };
        key <RTSH> { type[group1] = "ONE_LEVEL", [ Alt_L ] };
       
        modifier_map Shift  { Shift_L, Shift_R };
        modifier_map Lock    { Caps_Lock }; // caps lock
        modifier_map Control { Control_L, Control_R };
        modifier_map Mod5    { ISO_Level3_Shift }; // altgr
        modifier_map Mod3    { ISO_Level5_Shift }; // Level5
    };
   
    partial alphanumeric_keys
    xkb_symbols "bepo_perso" {
        include "keypad(oss)"
        include "fr(bepo)"
        include "perso(overlay)"
        include "perso(bepo_invert_number)"
        include "perso(deplace_modificateur)"
   
        name[Group1]= "French (Bepo, ergonomic, Dvorak way, number with direct access)";
       
        // duplication des signes utiles en altgr main-droite
        key <AD07> { [              v,            V,      parenleft                ] }; // v V ˇ
        key <AD08> { [              d,            D,    parenright,            ETH ] }; // d D ð Ð
        key <AD09> { [              l,            L,    bracketleft                ] }; // l L /
        key <AD10> { [              j,            J,  bracketright,          U0132 ] }; // j J ij IJ
   
        key <AC07> { [              t,            T,          plus,          less ] }; // t T þ Þ
        key <AC08> { [              s,            S,          minus,        greater ] }; // s S ß ẞ
        key <AC09> { [              r,            R,          slash,      trademark ] }; // r R ® ™
        key <AC10> { [              n,            N,      asterisk                ] }; // n N ~
    };
 
 
Ce n'est pas parfait (certain caractères étrangers deviennent innacéssible), et c'est surtout un test de plus, mais en voici les caractèristiques principales :
 
* Chiffres en accès direct sur la lignes des chiffres
* Les symboles de la ligne des chiffres sont dupliqués en altgr main droite.
* La touche caps-lock sert de altgr (pour la main droite).
 
De plus
 
* La touche Alt_L me sert de touche majuscule et les touches Shift sont devenues des touches Alt
 
Comme ça les chiffres sont très simples d'accès, je ne bouge quasiment plus mes mains de la lignes de repos et je me sert un peu plus de mes pouces !
 
Utilisation :
 
    $ setxkbmap perso bepo_perso
 
==version modifié du bépo : le jéop==
 
J'ai laissé la fin de page à des fin d'historique, mais je n'utilise actuellement plus cette disposition.
 
Pour l’instant, je modifie encore mon clavier, mais dans l’ensemble, je suis assez contant du résultat.
Les trucs susceptible de changer (dû aux plus récents changements) sont :


Pour l’instant, je modifie encore mon clavier, mais dans l’ensemble, je suis assez contant du résultat
* Le caractère « à »
* La couche ASCII


===Les lettres (avec les maj évidements)===


(les deux liens qui suivent ne sont pas à jour, je les retirerai quand j’aurais tout mis au propre sur cette page)
Comme [[Utilisateur:Laurent/disposition|Laurent (béop)]] j’ai fait l’inversion « op » et « ei ». Ce n’est pas facile au début mais je préfère à la dispo de base (mes majeurs sont assez long et la ligne supérieure m’est donc très accessible).
[https://docs.google.com/file/d/0B2ETcsdJX6STVE9WTUF2eE5MRlk/edit?usp=sharing|"mon clavier"]
[https://docs.google.com/document/d/12vBH9-YyVCr4vD0c8IgfigxP5tFtHA7aBf5lp-xiHok/edit?usp=sharing|"fichier xkb pour linux]


===Les lettres (avec les maj évidemments)===
De plus :
Selon http://www.lexique.org/listes/liste_bigrammes.txt :
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 « 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.  
* 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
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
Ça fait plus d’un mois que je teste, c’est tout à fait valable
 
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │    │    │ w k │    │    │    │    │    │     │    │    ║        ║
  │    │    │  ( ) │    │    │    │    │    │ │    │    ║        ║
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ║      ║    │    │    │    │     │    │    │    │    │    │    ║    ║
  ║      ║    │    │    │    │ ‘  ˇ │    │    │    │    │    │    ║    ║
  ║      ║ j  │ é  │ p  │ o è │    │ v  │ d  │ l  │ b  │ z  │    ║    ║
  ║      ║ j  │ é │ o │ p  │ │  ^ │ v  │ d  │ l  │ b  │ z  │    ║    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║        ║ a  │ u  │ i e │    │ c  │ t  │ s  │ r  │ n  │ m  │    ║    ║
  ║        ║ a  │ u  │ e i │    │ c  │ t  │ s  │ r  │ n  │ m  │    ║    ║
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ║      ║    │    │    │    │       │    │    │    │    ║          ║
  ║      ║    │    │    │    │ ! ? │    │    │    │    ║          ║
  ║      ║  ê │ à │ y  │ x  │       │ q  │ g  │ h  │ f  ║          ║
  ║      ║  ê │ è │ y  │ x  │ , - . │ q  │ g  │ h  │ f  ║          ║
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    ║    ║    ║      espace            ║    ║    ║    ║
  ║      ║    ║    ║    ║      espace            ║    ║    ║    ║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


===Les modificateurs ===
===Les modificateurs ===
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
│échap    │    │    │    │    │    │    │    │    │    │    │    ║compose ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║      ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
║return ║    │    │    │    │    │    │    │    │    │    │    │tab ║    ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
║altgr  ║    │    │    │    │    │    │    │    │    │    │    │altgr    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
║ctrl  ║    │    │    │    │    │    │    │    │    │    │    ║ ctrl      ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║      ║    ║over║    ║                        ║    ║over║    ║
║ alt  ║fn  ║lay ║maj ║                        ║maj ║lay ║meta║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


===Le pavé numérique en altgr+maj (idem que [Utilisateur:Lawrent|Lawrent])===
Disposition à essayer, je vous la conseille (à condition de ne pas utiliser d’autre mappages évidemment)
La touche return est notamment un must have !
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  │ €  │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ € dead_currency
  │ α  │tab │    │    │ctrl│win │échap alt│ctrl│    │    │    │    ║ Return ║ α dead_greek
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ║      ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║tab    ║    │    │    │    │    │    │    │    │    │    │    │suppr    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║altgr  ║    │    │    │    │  * │    │    │    │    │    │    │altgr    ║ backspace en accès direct, enter en maj, compose en altgr et suppr en
>  level 5
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
  ║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ║      ║    ║over║    ║                        ║    ║over║    ║
  ║ alt  ║fn  ║lay ║maj ║                        ║maj ║lay ║meta║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
 
Nb :
* Verrouiller maj    s’obtient en appuyant sur les deux touches « maj ».
* Verrouiller altgr  s’obtient en appuyant sur les deux touches « altgr ».
* La disposition programmeur s’obtient en appuyant sur les deux touches level5 en même temps
 
===Mode programmeur===
Mode programmeur accessible à l’aide d’un basculement qui a lieu quand on enfonce les deux touches level5 en même temps. Seuls les changements sur la couche 5 sont notés pour alléger la présentation.
Motivation du placement (commun au mode classique) :
« / » « * » et « : » sont côtes à côte pour les digrammes « /* » « */ » et « :/ ».
« / » « < » « > » sont côte à côte pour pouvoir taper « </ » et  « /> » en plus de « // » « << » et « >> ».
« \ » est dupliqué sur la ligne du bas, à côté de / pour le regroupement et en majuscule sur la touche « à » en bépo pour les clavier 104 touche
« / » est encore dupliqué pour avoir « ~/ ».
nb : l’idée de Lawrent d’avoir « + » sur la même touche que « i » et « - » sur le « u » n’est pas pratique en réalités.
 
Ajout grâce au mode programmeur :
Tous les digrammes de la section [[http://bepo.fr/wiki/Groupe_de_caract%C3%A8res_et_accessibilit.%C3%A9#Programmation_et_code|Programmation_et_code]] sont facilement accessible (très proche géographiquement, souvent côte à côte) et sont sur la même couche. Seul « }- » et « -{ » ne sont pas sur la même main.
Les caractères accentués disparaissent.
L’apostrophe droite échange sa place avec l’apostrophe courbe pour passer en accès direct et le ^ devient le caractère ASCII et échange sa place en level5 avec le ^ mort.
« = » apparait en level5 pour les digrammes « -> » « => » « <= ».
« \ » et « / » passe en accès direct.
Duplication des parenthèses en couche symbole (pour « ); » et la logique générale.
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │    │    │  (│  )│    │    │    │    │    │    │    │    │    ║        ║
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ║      ║    │    │    │    │ ’  │  ^ │    │    │    │    │    │    ║    ║  ^ symbole ascii
  ║      ║    │    │    │    │ '  │  ^ │    │    │    │    │    │    ║    ║  ^ touche morte
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ║      ║    │ =  │ <  │  > │    │    │    │    │    │    │    ║          ║
  ║level5║  \ │ /  │    │    │    │    │    │    │    │    │    ║  level5  ║
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
 
 
===Le pavé numérique en altgr (proche de la dispo de [[Utilisateur:Lawrent|Lawrent]])===
 
Les chiffres sont en altgr.
Quelques caractères spéciaux sont placés à gauche (avec leur majuscules).
 
Nb : Je pense que je vais changer ça car avoir deux chiffres sur le petit doigt c’est pas pratique.
En revanche avoir un pavé numérique sur la ligne de repos c’est top.
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ║      ║    │  Œ │ Ô  │    │    │    │  E│  F│    │    │    │    ║    ║
  ║      ║    │  œ │ ô  │ ¶  │    │    │  5│  6│  7│  8│  9│    ║    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ║        ║ À  │ Ù  │ Ê  │ Ï  │    │  Ç │  A│  B│  C│  D│    │    ║    ║
  ║altgr  ║ à  │ ù  │ ê  │ ï  │    │  ç │  0│  1│  2│  3│  4│    ║    ║
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ║      ║    │ Æ  │    │    │    │    │    │    │    │    │    ║          ║
  ║      ║    │ æ  │    │    │    │    │  =│  +│  -│  /│  *║          ║
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    ║    ║maj ║                        ║    ║    ║    ║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


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===
===Le mappage ASCII en altgr===


Les 32 symboles ASCII ~`!@#$%^&*()-_+={}[]:;'"|/\<>,.?
De récent changement ont fait que le placement des accolades, chevron et crochet ont perdu de leurs sens, il faut donc que je rectifie ça.
(nb : « %+=-% » viennent du pavé numérique)
(nb : « ;:!? » viennent des signes de ponctuation (mis pour référence))
Les 32 symboles de prog ~`!@#$%^&*()-_+={}[]:;'"|/\<>,.?
(nb : « \^#|&@$ » sous « è^dbaes » (mis pour référence))
Minimisation de l’utilisation de la ligne du bas et des chiffres.
minimisation de l’utilisation de la ligne du bas
Pour les symboles ascii la disposition programmeur est plus adaptée.
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
Nb : « / » et « * » sont dupliqué du pavé numérique (à droite).
│    │    │    │    │    │    │    │    │    ││    │    ║        ║
 
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
Les symboles sont en level5. Leur disposition a été pensé au niveau mnémotechnique. Pour la programmation, cf mode programmeur ci-dessous.
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
║      ║    │    │    │    │  è │  ^ │    │  d │  l│   8│   │    ║    ║
  │    │    │    │    │    │    │    │    │    │     │    │    ║        ║
║      ║  { │  } │  [ │  ] │  \ │  ^ │   │  # │  |│   %│    │    ║    ║
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║        ║  a │    │    │  e │    │    │    │  s │    │    │    │    ║    ║
  ║      ║    │    │    │    │  │  ^ │    │  d │  l│   │   │    ║    ║ ^ symbole ascii
║altgr   ║  @ │  ( │  ) │  & │  ' │  ` │  " │  $ │  < │  > │    │altgr║ 
  ║      ║ / ~ │  : │  ; │  ' │  ^ │ % │  # │  |│ °  │    │    ║    ║ ^ touche morte
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║      ║    │    │    │    ││    ││    │    │   /│  *║          ║
  ║        ║  a │    │ e  │    │    │    │    │  s │    │    │    │    ║    ║
  ║      ║        │    │    │  ~ │    │     │    │            
   ║        ║  @ │ { & │  } │  ' │  ` │  " │  $ │  [ │  ] │  º │    ║   ║  º masculine
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    │ \  │    │    │    │   │    │   │    │    │   ║          ║ \ en majuscule (meilleur dispo en mode programmeur)
║      ║    ║    ║    ║            underscore ║    ║    ║    ║
  ║level5║  \ │ / > │    │    │    ││    │ ª level5  ª feminine
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    ║    ║    ║            underscore ║    ║    ║    ║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


===disposition "overlay"===
===disposition "overlay"===
Pour plus de détails, cf [https:http://forum.bepo.fr/viewtopic.php?pid=6947#p6947].
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).
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’autres trucs…
 
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  │in  │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │in  │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │sert│    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  │sert│    │    │    │    │    │    │    │    │    │    │    │    ║        ║
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║delete ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║      ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
  ║      ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
║      ║    │    │    │    │    │    │    │  ↓│  ↑│    │    │    ║    ║  ↓ et ↑ page up/down
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │  ←│  ↓│  ↑│  →│  ↖│ fin│    ║    ║ ↖ origin   
  ║        ║    │    │    │    │    │  c│  t│  s│  r│  n│  m│    ║    ║
  ║        ║    │    │    │    │    │  c│  t│  s│  r│  n│  m│    ║    ║
║échap  ║    │    │    │    │    │  ←│  ↓│  ↑│  →│  ↖│ fin│échap║  ║ ↖ origin   
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ║echap ║    │    │    │    │    │    │    │    │    │    │    ║echap     
  ║      ║    │    │    │    │    │    │    │    │    │    │    ║         
  ║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
  ║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
Ligne 147 : Ligne 332 :
  ║      ║    ║lay ║    ║                        ║    ║lay ║    ║
  ║      ║    ║lay ║    ║                        ║    ║lay ║    ║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
=== Accent en level5 + maj
J’ai essayé d’avoir soi le même placement qu’en bépo, soit proche proche de la forme du symbole.
  ┌────┬────┬────┬────╔════╦════╦════╦════╦════╗────┬────┬────┬────╔════════╗
  │ €  │smiley  │    ║    ║    ║clic║    ║    ║    │    │    │    ║        ║ € dead_currency    smiley : touche morte utilisé pour mes smileys
  │ α  │maths    │    ║ctrl║alt ║droit alt║ctrl║    │    │    │    ║compose ║ α dead_greek      maths : touche morte utilisé pour mes symboles mathématiques
  ╔═══════╗─┴──┬─┴──┬─╚════╩════╩════╩════╩════╝──┬─┴──┬─┴──┬─┴──╔═╩══╦═════╣
  ║      ║    │ é  │ ~  │  o │ ê  │ ^  │ v  │    │  l │    │    ║    ║    ║
  ║tab    ║    │ ´  │ ~  │  ° │ `  │ ^  │ ˇ  │    │  / │    │    ║tab ║    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╦═══╚╗    ║
  ║        ║    │ u  │ i  │    │ ’  │ c  │ "  │    │    │    │ m  ║    ║    ║
  ║altgr  ║    │ ˘  │ ¨  │    │  ̛  │ ¸  │ ˝  │    │    │    │ ¯  ║altgr    ║
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╩════╩════╣
  ║      ║    │    │    │    │  . │    │ ,  │    │    │ h  │ f  ║          ║
  ║level5║    │    │    │    │  ˙ │    │ ,  │    │    │  ̉  │ ˛  ║  level5  ║
  ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
  ║      ║    ║over║    ║                        ║    ║over║    ║
  ║ win  ║fn  ║lay ║maj ║                        ║maj ║lay ║ win║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
=== Dispo complète ===
Là c’est le moment qui fait peur ^^
normal
┌────────┬────────┬────────┬────────╔════════╦════════╦════════╦════════╦════════╗────────┬────────┬────────┬────────╔════════════════╗
│ monnaie │ smiley│ «      │  »    ║        ║        ║        ║        ║        ║ W      │ K      │        │        ║                ║
│ grec  │ maths  │ ( “    │  ) ”  ║    ctrl║    alt ║  menu  ║    alt║    ctrl║ w      │ k      │ insert │ suppr  ║ compose        ║
╔══════════════╗──┴─────┬──┴─────┬──╚════════╩════════╩════════╩════════╩════════╝─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║              ║ J      │ É Œ ~  │ O Ô    │ p      │ ‘      │ ˇ      │ V  E  │ D F    │ L      │ B      │ Z      │        ║          ║
║  tabulation  ║ j  /  │ é œ ~  │ o ô :  │ p ¶ ;  │ ’  '  │ ^    ^ │ v  5 % │ d 6 #  │ l 7 |  │ b 8 °  │ z 9    │ tab    ║          ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║
║                ║ A À    │ U Ù    │ E Ê    │ I Ï    │        │ C  Ç  │ T A    │ S B    │ R C    │ N  D  │ M      │        ║        ║
║  altgr        ║ a à @  │ u ù {  │ e ê &  │ i ï }  │backspace│c  ç ` │ t 0 "  │ s 1 $  │ r 2 [  │ n  3 ] │ m 4 º  │ altgr  ║        ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║          ║ Ê      │ È Æ \  │ Y      │ X      │ ! ¡    │ —      │ ? ¿    │ Q      │  G    │ H      │ F      ║                      ║
║  level5  ║ è    \ │ ê æ /  │ y ≤ <  │ x ≥ >  │ . …    │ - – Esc│ , =    │ q / /  │  g * * │ h -    │ f +    ║  level5              ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║          ║        ║        ║        ║                                            ║        ║        ║        ║
║  win    ║ fn    ║overlay ║ maj    ║                                            ║  maj  ║overlay ║ win    ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝
programmeur
┌────────┬────────┬────────┬────────╔════════╦════════╦════════╦════════╦════════╗────────┬────────┬────────┬────────╔════════════════╗
│ monnaie │ smiley│  «    │    »  ║        ║        ║        ║        ║        ║  W    │  K    │        │        ║                ║
│ grec  │ maths  │  (    │    )  ║    ctrl║    alt ║  menu  ║    alt║    ctrl║  w    │  k    │ insert │ suppr  ║ compose        ║
╔══════════════╗──┴─────┬──┴─────┬──╚════════╩════════╩════════╩════════╩════════╝─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║              ║ J      │ É  ~  │ O Œ    │ p      │ ‘      │ ˇ      │ V  E  │ D F    │ L      │ B      │ Z      │        ║          ║
║  tabulation  ║ j  /  │ échap  │ o œ :  │ p ¶ ;  │ '  ’  │ ^  ^  │ v  5 % │ d 6 #  │ l 7 |  │ b 8 °  │ z 9    │ tab    ║          ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║
║                ║ A À    │ U Ù    │ E Ê    │ I Ï    │        │ C  Ç  │ T A    │ S B    │ R C    │ N  D  │ M      │        ║        ║
║  altgr        ║ a à @  │ u ù {  │ e ê &  │ i ï }  │backspace│c  ç ` │ t 0 "  │ s 1 $  │ r 2 [  │ n  3 ] │ m 4 º  │ altgr  ║        ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║          ║    Ê  │ \ æ \  │ Y      │ X      │ ! ¡    │ —      │ ? ¿    │ Q      │  G    │ H      │ F      ║                      ║
║  level5  ║ \  è  │ / Æ /  │ y ≤ <  │ x ≥ >  │ . …    │ - – Esc│ , =    │ q / /  │  g * * │ h -    │ f + ª  ║  level5              ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║          ║        ║        ║        ║                                            ║        ║        ║        ║
║  win    ║ fn    ║overlay ║ maj    ║                                            ║  maj  ║overlay ║ win    ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝


=== Mon impression===
=== Mon impression===


* Les gros plus :
* Les gros plus :
- les chiffres en main droite sont hyper accessibles.
**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)
**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
**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 touches directionnelles à la vim.


* Les plus
* Les plus
- le trait d’union très accessible
**le trait d’union très accessible.
- w et k sont plus accessible, et ce n’est pas du tout dérangeant d’avoir des lettres peu utilisés sur la rangé du haut (on s’y fait très bien)
**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 :
**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).


*But secondaires :
**j’ai mis les touches directionnelles sous "ctsr" (comme vim) et origin/fin sous "nm" accessible avec la touche overlay (deux crans à 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 de reprendre les bonnes idées des modifications persos et de tester un max de trucs.


*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é.


But :
*Les trucs pas parfait :
- 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)
**mon clavier n’a physiquement pas assez de touches sous les pouces ^^
- 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 …)
- 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 deux cran à gauche de la barre espace (cf disposition overlay). Je pense rajouter d’autre trucs comme précédant/suivant sous vd et page up/down sous lj
=== Fichier xkb ===


Nb :
/!\ Mon fichier est très mal écris. Je le mettrais au propre quand ma disposition sera stable.
- pour {[ et ]} les caractères fermant sont souvent auto-complétés en général, du coup {[ sont plus courant et plus accessibles que }] qui ne sont de toutes façon pas loin
/!\ 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.
- pour ï le digramme oï se fait à une main, mais quand je bouge ma main pour atteindre o, le ï est dans le prolongement
/!\ certaines modification mineures peuvent différer des explications précédentes.
- Je n’ai pas placé la plupart des caractères étrangers, je ne les utilise jamais


Les trucs pas parfait :
<source lang="text">
- </ et /> pour les langages à balise ne sont pas optimaux (mais c’est tout à fait faisable)
  partial alphanumeric_keys
  - mon clavier n’a physiquement pas assez de touches sous les pouces ^^
  xkb_symbols "jeop_actual" {
  - ^ n’est pas assez accessible (il faut que je la remette en accès direct). La touche de base (à côté du v) n’était pas accessible non plus sur mon clavier.


=== Fichier xkb ===
    include"fr(bepo_latin9)"
    include"fr(jeop)"
    include"fr(jeop_programmeur)"
    //


/!\ 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


<source lang="bash">
partial alphanumeric_keys
partial alphanumeric_keys
xkb_symbols "bepo" {
xkb_symbols "jeop" {
 
  include "keypad(oss)"
 
  name[Group1]= "French (JEPO, ergonomic, Dvorak way)";
  name[Group2]= "French (JEPO programmeur, ergonomic, Dvorak way)";
 
  key.type[Group1] = "EIGHT_LEVEL";
  key.type[Group2] = "EIGHT_LEVEL";
  key <LFSH>  {    [ ISO_Level5_Shift, ISO_Level5_Shift,ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Prev_Group ]  };
  key <RTSH>  {    [ ISO_Level5_Shift, ISO_Level5_Shift,ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Next_Group ]  };
 
  key.type[Group1] = "ONE_LEVEL";
  key.type[Group2] = "ONE_LEVEL";
  key <ESC>  { [ Escape    ] };
  key <LCTL> { [ Super_L  ] };
  key <RCTL> { [ Super_R  ] };
  key <TAB>  {[        Tab,ISO_Left_Tab ] };
  key <RWIN> { [ VoidSymbol ] };
  key <LWIN> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] };
  key <MENU> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] };
 
  key.type[Group1] = "TWO_LEVEL";
  key.type[Group2] = "TWO_LEVEL";
  key <LALT> { [ Shift_L, Shift_Lock ] }; 
  key <RALT> { [ Shift_R, Shift_Lock ] }; 
  key <AD12> { [    Tab, ISO_Left_Tab ] };
 
  key.type[Group1] = "FOUR_LEVEL";
  key.type[Group2] = "FOUR_LEVEL";
  key <BKSP> { [        BackSpace,        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] = "EIGHT_LEVEL";
  key.type[Group2] = "EIGHT_LEVEL";
  key <SPCE> { [            space,      nobreakspace,      underscore,            U202F,  underscore,    underscore ] };
  key <AC05> { [        BackSpace,        Return,      Multi_key,        Multi_key,      KP_Delete,        KP_Delete ],
                [        BackSpace,        Return,      Multi_key,        Multi_key,      KP_Delete,        KP_Delete ], overlay1 = <DELE> };
 
 
  key.type[Group1] = "ONE_LEVEL";
  key.type[Group2] = "ONE_LEVEL";
  key <AE04> { [ Control_L ] };
  key <AE05> { [ Alt_L    ] };
  key <AE06> { [ Menu      ] };
  key <AE07> { [ Alt_R    ] };   
  key <AE08> { [ Control_R ] };   
 
  // level modifier
  //    modifier_map Mod1 { <LALT> };
  //    modifier_map Mod1 { <RALT> };
  //    modifier_map Mod2 { <CAPS> };
  //    modifier_map Mod2 { <BKSL> };
  modifier_map Mod2  { ISO_Level3_Shift };
  modifier_map Mod3  { ISO_Level5_Shift };
  modifier_map Mod5  { ISO_Next_Group_Lock };
 
  // First row
 
  key.type[Group1] = "TWO_LEVEL";
  key.type[Group2] = "TWO_LEVEL";
 
  key <TLDE> {[ dead_greek,dead_currency ], overlay1 = <INS> };
  key <AE01> {[    UF0000,      UFF000 ] };  // dead_mathematique and dead_smyley
                 
  key.type[Group1] = "ONE_LEVEL";
  key.type[Group2] = "ONE_LEVEL";
 
  key <AE11> { [ Insert ] };
  key <AE12> { [ Delete ] };
 
  key.type[Group1] = "EIGHT_LEVEL";
  key.type[Group2] = "EIGHT_LEVEL";
 
  key <AE02> {[        parenleft,  guillemotleft,leftdoublequotemark,  VoidSymbol,  VoidSymbol,    VoidSymbol ]};
  key <AE03> {[        parenright,  guillemotright,rightdoublequotemark,  VoidSymbol,  VoidSymbol,    VoidSymbol ]};
 
  key <AE09> {[                w,              W,        minutes,      VoidSymbol,  VoidSymbol,    VoidSymbol ]};
  key <AE10> {[                k,              K,        seconds,      VoidSymbol,  VoidSymbol,    VoidSymbol ]};
 
  // Second row
  key <AD01> {[                j,              J,      VoidSymbol,      VoidSymbol,      slash,    VoidSymbol ]};
  key <AD02> {[            eacute,          Eacute,              oe,              OE,  asciitilde,    dead_tilde ]};
  key <AD03> {[                o,              O,    ocircumflex,    Ocircumflex,      colon, dead_abovering ]};
  key <AD04> {[                p,              P,      paragraph,      VoidSymbol,  semicolon,    VoidSymbol ],overlay1=<AD12>};
  key <AD05> {[rightsinglequotemark, leftsinglequotemark, VoidSymbol,      VoidSymbol,          apostrophe,      dead_horn ]};
  key <AD06> {[  dead_circumflex,      VoidSymbol,      VoidSymbol,      VoidSymbol, asciicircum,dead_circumflex ],overlay1=<AB03>};
  key <AD07> {[                v,              V,              5,              E,    percent,    dead_caron ],overlay1=<AC06>};
  key <AD08> {[                d,              D,              6,              F,  numbersign,    VoidSymbol ],overlay1=<PGUP>};
  key <AD09> {[                l,              L,              7,      VoidSymbol,        bar,    dead_stroke ],overlay1=<PGDN>};
  key <AD10> {[                b,              B,              8,      VoidSymbol,      degree,    VoidSymbol ],overlay1=<AE09>};
  key <AD11> {[                z,              Z,              9,      VoidSymbol,  VoidSymbol,    VoidSymbol ]};
 
  // Third row
 
  key <AC01> {[                a,              A,          agrave,          Agrave,          at,    VoidSymbol ],overlay1=<AE04>};
  key <AC02> {[                u,              U,          ugrave,          Ugrave,  braceleft,    dead_breve ],overlay1=<AE07>};
  key <AC03> {[                e,              E,    ecircumflex,    Ecircumflex,  ampersand,    VoidSymbol ],overlay1=<AE12>};
  key <AC04> {[                i,              I,      idiaeresis,      Idiaeresis,  braceright, dead_diaeresis ],overlay1=<RALT>};
 
  key <AC06> {[                c,              C,        ccedilla,        Ccedilla,      grave,  dead_cedilla ],overlay1=<LEFT>};
  key <AC07> {[                t,              T,              0,              A,    quotedbl,ead_doubleacute ],overlay1=<DOWN>};
  key <AC08> {[                s,              S,              1,              B,      dollar,    VoidSymbol ],overlay1=<UP>  };
  key <AC09> {[                r,              R,              2,              C, bracketleft,    VoidSymbol ],overlay1=<RGHT>};
  key <AC10> {[                n,              N,              3,              D,bracketright,    VoidSymbol ],overlay1=<HOME>};
  key <AC11> {[                m,              M,              4,      VoidSymbol,  masculine,    dead_macron ],overlay1=<END> };
                                                                                     
  // Fourth ro                                                                     
                                                                                     
  key <LSGT> {[      ecircumflex,    Ecircumflex,      VoidSymbol,      VoidSymbol,  backslash,    VoidSymbol ]};
  key <AB01> {[            egrave,          Egrave,              ae,              AE,      slash,      backslash ],overlay1=<FK11>};
  key <AB02> {[                y,              Y,  lessthanequal,      VoidSymbol,        less,    VoidSymbol ],overlay1=<FK05>};
  key <AB03> {[                x,              X,greaterthanequal,      VoidSymbol,    greater,    VoidSymbol ],overlay1=<FK04>};
  key <AB04> {[            period,          exclam,        ellipsis,      exclamdown,      equal,  dead_abovedot ], overlay1=<FK02>};
  key <AB05> {[            minus,          emdash,          endash,      VoidSymbol,      Escape,    VoidSymbol ]};
  key <AB06> {[            comma,        question,          equal,    questiondown,  VoidSymbol,dead_belowcomma ]};
  key <AB07> {[                q,              Q,          slash,      VoidSymbol,      slash,  dead_belowdot ]};
  key <AB08> {[                g,              G,        asterisk,      VoidSymbol,    asterisk,    VoidSymbol ]};
  key <AB09> {[                h,              H,          minus,      VoidSymbol,      minus,      dead_hook ]};
  key <AB10> {[                f,              F,            plus,        feminine,        plus,    dead_ogonek ]};


    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 ], overlay1 = <INS> };
    key <LCTL> { [ Alt_L    ] };
    key <RCTL> { [ Super_L  ] };
    key <TAB>  { [ BackSpace ], overlay1 = <DELE> };


    key.type[Group1] = "TWO_LEVEL";
};
    key <AD12> { [    Tab, ISO_Left_Tab ] };
partial alphanumeric_keys
    key <LALT> { [ Shift_L, Shift_Lock ] };
xkb_symbols "jeop_programmeur" {
    key <RALT> { [ Shift_R, Shift_Lock ] }; 
    key <LWIN> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] };
    key <MENU> { [ VoidSymbol, Menu ], actions = [ SetControls(controls=Overlay1) ] };
    key <LFSH> { [      w,            W ], overlay1 = <ESC> };
    key <RTSH> { [      k,            K ], overlay1 = <ESC> };
                   
    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 ]  };   
    key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift , ISO_Level3_Lock, ISO_Level3_Lock ]  };


    // level modifier
  key.type[Group2] = "EIGHT_LEVEL";
    modifier_map Mod1 { <LALT> };
  //key <CAPS> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Prev_Group ], overlay1 = <ESC> };
//   modifier_map Mod1 { <RALT> };
  //key <BKSL> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Next_Group ], overlay1 = <ESC> };
    modifier_map Mod2 { <CAPS> };
  //key <LFSH> { [ ISO_Level3_Shift, ISO_Level3_Shift,  ISO_Level3_Lock,  ISO_Level3_Lock ] };  
    modifier_map Mod2 { <BKSL> };
  //key <RTSH> { [ ISO_Level3_Shift, ISO_Level3_Shift,  ISO_Level3_Lock,  ISO_Level3_Lock ] };


    // First row
  key <SPCE> { [            space,          Escape,        underscore,          U202F,  underscore,  underscore ] };


    key.type[Group1] = "FOUR_LEVEL";
  key.type[Group2] = "EIGHT_LEVEL";
  key <AD02> { [], [        Escape,        Eacute,              oe,              OE,      asciitilde,    dead_tilde ],overlay1=<LWIN>};
  key <AD05> { [], [    apostrophe, leftsinglequotemark, VoidSymbol,      VoidSymbol, rightsinglequotemark,dead_grave ]};
  key <AD06> { [], [  asciicircum,    dead_caron,            comma,      VoidSymbol, dead_circumflex,    VoidSymbol ], overlay1 = <AB03> };


    key <TLDE> { [     dead_greek,dead_currency,     VoidSymbol,    VoidSymbol ] }; // µ $ —
  key <LSGT> { [], [    backslash,    VoidSymbol,       VoidSymbol,     VoidSymbol,    ecircumflex,  Ecircumflex ] };                  
    key <AE01> { [    Tab, ISO_Left_Tab ] }; //          ssharp,         U1E9E,         U0133,             U0132] };                    
  key <AB01> { [], [        slash,     backslash,               ae,             AE,           equal,   VoidSymbol ], overlay1 = <FK11> };
   
  key <AB02> { [], [            y,               Y,   lessthanequal,     VoidSymbol,       less,    VoidSymbol ],overlay1=<FK05>};
    key <AE02> { [   ugrave,       Ugrave, guillemotleft, leftdoublequotemark ] };
  key <AB03> { [], [           x,              X,greaterthanequal,      VoidSymbol,     greater,    VoidSymbol ],overlay1=<FK04>};
    key <AE03> { [ ccedilla,     Ccedilla, guillemotright, rightdoublequotemark ] };
      
    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                                                    ] };   


    key.type[Group1] = "FOUR_LEVEL";
};
    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
</source>


    key.type[Group1] = "FOUR_LEVEL";
=== fichier .XCompose ===


    key <AD01> { [              j,             J,     braceleft,     VoidSymbol ] }; // b B / ˝ <  , dead_doubleacute
Devant la quantité des symboles mathématiques, et la faible, mais non nulle utilisation que j’en fait, j’ai décidé de les ajouter à travers le mécanisme compose. Je vous le livre tel quel si ça peut vous intéresser. Notez que lorsqu’une combinaison ne fait intervenir que le pavé numérique, j’ai choisi d’utiliser le caractère situé en direct (par exemple {1} est en {altgr} + {maj} + {s} et {4} est en {altgr} + {maj} + {m}, donc pour écrire ¼ je tape « <compose mathématique> sm ».
    key <AD02> { [          eacute,        Eacute,    braceright,  lessthanequal] }; // é É ^ ´ >  ,      dead_acute
Il est probable que je mappe une touche pour accéder directement à mes symboles mathématiques.
    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
Ressources utilisés :
*http://wiki.mandriva.com/fr/La_touche_compose              explication sur la touche compose
*http://symbolcodes.tlt.psu.edu/bylanguage/mathchart.html  symboles mathématique
*/usr/include/X11/keysymdef.h                              (dans ma distrib Linux) la liste des keysyms
*http://wiki.mandriva.com/fr/Personnaliser_le_clavier#Les_noms_symboliques_des_touches_et_les_keysyms    personnalisation de manière générale du clavier
*http://bepo.fr/wiki/Compose                                explication de la touche compose dans le wiki bépo


    key.type[Group1] = "FOUR_LEVEL";
<source>
include "%L" # pour inclure le fichier par défaut
# espaces Insécables automatiques


    key <AC01> { [              a,            A,            at ,    VoidSymbol ] }; // a A æ Æ {  ,            AE  /*, overlay1 = Undo */ 
<guillemotleft> : "« "
    key <AC02> { [              u,            U,    parenleft ,        ugrave ] }; // u U ù Ù [  ,        Ugrave  /*, overlay1 = Redo */ 
<guillemotright> : " »"
    key <AC03> { [              i,            I,    parenright , dead_diaeresis ] }; // i I ̈  ˙ (  ,  dead_abovedot  /*, overlay1 = Prior*/    
<Multi_key>  <parenright>   <parenright>               : ":-)"
    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
#symboles mathématique correspondant au pavé numérique
#nb : =+-/* correspondent respectivement à .qgf
<Multi_key> <Multi_key> <q> : "±" 
<Multi_key> <Multi_key> <g> : "−" 
<Multi_key> <Multi_key> <h> : "÷" 
<Multi_key> <Multi_key> <f> : "×" 
<Multi_key> <Multi_key> <period> : "≠" 
<Multi_key> <Multi_key> <minus> <period> : "≈"  #nb : mon symbole ~ est en altgr sur ma touche -
<Multi_key> <Multi_key> <minus> <h> <period> : "≉"  #nb : mon symbole ~ est en altgr sur ma touche -
<Multi_key> <Multi_key> <o> <q> : "⊕"        #CIRCLED PLUS
<Multi_key> <Multi_key> <o> <g> : "⊖"        #CIRCLED MINUS
<Multi_key> <Multi_key> <o> <h> : "⊗"        #CIRCLED TIMES
<Multi_key> <Multi_key> <o> <f> : "⊘"        #CIRCLED DIVISION SLASH


     key.type[Group1] = "FOUR_LEVEL";
# fractions - les lettres correspondent au placement de mon
# pavé numérique
# (sur deux lignes en main droite, les symboles en dessous)
<Multi_key> <Multi_key> <Multi_key> <s> <r> : "½"      
<Multi_key> <Multi_key> <Multi_key> <s> <n> : "⅓" 
<Multi_key> <Multi_key> <Multi_key> <s> <m> : "¼" 
<Multi_key> <Multi_key> <Multi_key> <s> <v> : "⅕" 
<Multi_key> <Multi_key> <Multi_key> <s> <d> : "⅙" 
<Multi_key> <Multi_key> <Multi_key> <s> <b> : "⅛" 
<Multi_key> <Multi_key> <Multi_key> <r> <n> : "⅔" 
<Multi_key> <Multi_key> <Multi_key> <r> <v> : "⅖" 
<Multi_key> <Multi_key> <Multi_key> <n> <m> : "¾" 
<Multi_key> <Multi_key> <Multi_key> <n> <b> : "⅜" 
<Multi_key> <Multi_key> <Multi_key> <m> <v> : "⅘" 
<Multi_key> <Multi_key> <Multi_key> <v> <d> : "⅚" 
<Multi_key> <Multi_key> <Multi_key> <v> <b> : "⅝" 
<Multi_key> <Multi_key> <Multi_key> <l> <b> : ""


    key <LSGT> { [    ecircumflex,  Ecircumflex,          U2190,          U21D4 ] };
#syboles mathématique
    key <AB01> { [          agrave,      Agrave,    VoidSymbol,          U21AA ] }; // à À ↪ ⇔ }
<Multi_key> <Multi_key> <s> : "√"            #SQUARE ROOT     
    key <AB02> { [              y,           Y,    VoidSymbol,          U2192 ] }; // y Y → ← ]  ,          U21D0
<Multi_key> <Multi_key> <3> <s> : "∛"        #CUBE ROOT
    key <AB03> { [              x,            X,    VoidSymbol,          U21D2 ] }; // x X ⇒ ⇐ \  , periodcentered
<Multi_key> <Multi_key> <4> <s> : "∜"        #FOURTH ROOT
    key <AB04> { [          comma,    semicolon,    ecircumflex,    Ecircumflex ] }; // . : … · $
<Multi_key> <Multi_key> <o> <o> : "∞"        #INFINITY
    key <AB05> { [          minus,      emdash,    asciitilde,    dead_tilde ] }; // k K ə Ə
<Multi_key> <Multi_key> <i> : "∫"           #INTEGRAL
    key <AB06> { [          period,       colon,      notequal,          equal ] }; // ? µ ¿              eth
<Multi_key> <Multi_key> <2> <i> : "∬"        #DOUBLE INTEGRAL
    key <AB07> { [              q,            Q,      plusminus,          plus ] }; // q Q 0 ˚   dead_abovering
<Multi_key> <Multi_key> <3> <i> : "∭"        #TRIPLE INTEGRAL
    key <AB08> { [              g,            G,          U2212,          minus ] }; // g G µ ̣      dead_belowdot
<Multi_key> <Multi_key> <4> <i> : "⨌"        #QUADRUPLE INTEGRAL
    key <AB09> { [              h,           H,      division,          slash ] }; // h H † ‡      doubledagger
<Multi_key> <Multi_key> <o> <i> : "∮"       #CONTOUR INTEGRAL
    key <AB10> { [              f,            F,      multiply,      asterisk ] }; // f F ̨ ª        ordfeminine
<Multi_key> <Multi_key> <o> <2> <i> : "∯"   #SURFACE INTEGRAL
                                                                     
<Multi_key> <Multi_key> <o> <3> <i> : "∰"    #VOLUME INTEGRAL
};</source>
<Multi_key> <Multi_key> <n> : "∇"           #NABLA
<Multi_key> <Multi_key> <slash> <o> : "∅"    #EMPTY SET


<Multi_key> <Multi_key> <F> : "ƒ"            #FUNCTION (f is for "×"
<Multi_key> <Multi_key> <R> : "ℜ"            #REAL NUMBER
<Multi_key> <Multi_key> <I> : "ℑ"            #IMAGINARY
<Multi_key> <Multi_key> <A> : "∀"            #FOR ALL
<Multi_key> <Multi_key> <C> : "∁"            #COMPLEMENT
<Multi_key> <Multi_key> <E> : "∃"            #THERE EXISTS
<Multi_key> <Multi_key> <slash> <E> : "∄"    #THERE DOES NOT EXIST


#ensembles
<Multi_key> <Multi_key> <e> <n> : "ℕ"        #NATURAL NUMBERS
<Multi_key> <Multi_key> <e> <z> : "ℤ"        #INTEGERS
<Multi_key> <Multi_key> <e> <q> : "ℚ"        #RATIONAL NUMBERS
<Multi_key> <Multi_key> <e> <r> : "ℝ"        #REAL NUMBER
<Multi_key> <Multi_key> <e> <c> : "ℂ"        #COMPLEX NUMBERS
<Multi_key> <Multi_key> <e> <p> : "ℙ"        #PRIME NUMBERS
<Multi_key> <Multi_key> <e> <e> : "∈"        #ELEMENT OF
<Multi_key> <Multi_key> <e> <slash> <e> : "∉"#NOT AN ELEMENT OF
</source>


=== Divers ===
== Divers ==


* un clavier vierge à copier-coller
* un clavier vierge à copier-coller
Ligne 327 : Ligne 704 :
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ║      ║    ║    ║    ║                        ║    ║    ║    ║
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
  ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


==Moi !==
==Moi !==


20 ans — en 2eme année en dut geii (électronique) — programme en c++ pour le plaisir — le reste ne vous regarde pas !
20 ans — en 2eme année en dut geii (électronique) — programme en c++ pour le plaisir — le reste ne vous regarde pas !

Dernière version du 13 février 2015 à 23:14

Création d'un prototype de clavier

Je suis actuellement en train de me fabriquer mon propre clavier (l'objet). Vous pourrez suivre :

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.

Semaine 7

Sur textes libres 37 à 40 MPM, au minimum 97% de précision. J’essaye d’atteindre les 100%, et avec cette contrainte (quand j’y arrive) je suis à 35 MPM.

Petite anecdote : le fait d’avoir travaillé le fait de pouvoir détacher mon regard de mes mains mais aussi de mon écran quand je tape me permet de faire deux choses en même temps. C’est comme si je passais l’action d’écrire en arrière-plan, de manière à pouvoir passer ma concentration à autre chose. Évidemment ma vitesse et ma précision en prennent un coup, mais c’est très pratique !

Autre point positif : le fait de devoir me concentrer sur chaque lettre que je tape m’ont permis, il semble de diminuer le nombre de fautes d’orthographe que je fais. Ayant toujours eu de grande difficulté dans ce domaine, c’est un vrai plaisir pour moi.

Je continue à m’amuser à faire des tests de placement de touche pour mon clavier. C’est un vrai loisir. Je suis content de voir que ça n’affecte pas ma frappe.

===Semaine 12 Passage de la barre des 50 MPM ! (mais avec une précision pourri, 94%)

Je viens de faire pour la première fois depuis longtemps (à cause de mes modifications sur le bépo) un 100% de précision avec tazzon, mais pas de pot, la lettre suivante était un d, et vu que j’utilise vimpérator, ça m’a fermé mon onglet. Je suis très triste. C’était environ 45MPM.

===Semaine 15 Premier score sur tazzon avec tout en vert : précision, vitesse et fluidité. Juste pour m’en souvenir : Temps : 1 min. 54,0 s Vous avez fait 8 erreurs (10 fautes de frappe). Précision : 98 % Coups par seconde : 4.39 (263 coups/min.) Mots par minute : 52.7 Fluidité : 75.28 %

Sans erreurs, vous auriez pu atteindre 54.8 mots par minute. Temps perdu en erreurs : 0 min. 4,4 s soit 3.9%

Félicitations ! Votre précision est excellente. Félicitations ! Votre vitesse de frappe est excellente.

version modifié du bépo : Chiffres en accès direct

J'ai fait pas mal de test sur la dispo bépo depuis environ 2 an. Voici ma disposition actuelle, à ajouter dans le fichier

   /usr/share/X11/xkb/symbols/perso

/!\ Suite à des perso de travail du à une mise à jour, je ne met plus mon travail dans /usr/share/X11/xkb/symbols/fr, mais dans un fichier séparé.


   partial alphanumeric_keys
   xkb_symbols "overlay" {
   
       key <PRSC> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] };
       // NB: ma touche PRSC (capture d'écran) est situé à droite de ma touche RALT sur mon clavier.
   
       key <AC02> {overlay1=<LEFT>};
       key <AC03> {overlay1=<DOWN>};
       key <AD03> {overlay1=<UP>  };
       key <AC04> {overlay1=<RGHT>};
       key <AD02> {overlay1=<HOME>};
       key <AD04> {overlay1=<END> };
   };
   
   partial alphanumeric_keys
   xkb_symbols "bepo_invert_number" {
       // First row
       key <AE01> { [         1,        quotedbl ] };
       key <AE02> { [         2,   guillemotleft ] };
       key <AE03> { [         3,  guillemotright ] };
       key <AE04> { [         4,       parenleft ] };
       key <AE05> { [         5,      parenright ] };
       key <AE06> { [         6,              at ] };
       key <AE07> { [         7,            plus ] };
       key <AE08> { [         8,           minus ] };
       key <AE09> { [         9,           slash ] };
       key <AE10> { [         0,        asterisk ] };
   };
   
   partial alphanumeric_keys
   xkb_symbols "deplace_modificateur" {
       include "keypad(oss)"
       key <CAPS> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Shift, Caps_Lock, ISO_Level3_Lock, ISO_Level3_Lock ] };
       key <RALT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock ] };
       key <LALT> { [ Shift_L, Shift_Lock ] };
       key <LFSH> { type[group1] = "ONE_LEVEL", [ Alt_L ] };
       key <RTSH> { type[group1] = "ONE_LEVEL", [ Alt_L ] };
       
       modifier_map Shift   { Shift_L, Shift_R };
       modifier_map Lock    { Caps_Lock }; // caps lock
       modifier_map Control { Control_L, Control_R };
       modifier_map Mod5    { ISO_Level3_Shift }; // altgr
       modifier_map Mod3    { ISO_Level5_Shift }; // Level5
   };
   
   partial alphanumeric_keys
   xkb_symbols "bepo_perso" {
       include "keypad(oss)"
       include "fr(bepo)"
       include "perso(overlay)"
       include "perso(bepo_invert_number)"
       include "perso(deplace_modificateur)"
   
       name[Group1]= "French (Bepo, ergonomic, Dvorak way, number with direct access)";
       
       // duplication des signes utiles en altgr main-droite
       key <AD07> { [               v,            V,      parenleft                 ] }; // v V ˇ
       key <AD08> { [               d,            D,     parenright,            ETH ] }; // d D ð Ð
       key <AD09> { [               l,            L,    bracketleft                 ] }; // l L /
       key <AD10> { [               j,            J,   bracketright,          U0132 ] }; // j J ij IJ
   
       key <AC07> { [               t,            T,           plus,           less ] }; // t T þ Þ
       key <AC08> { [               s,            S,          minus,        greater ] }; // s S ß ẞ
       key <AC09> { [               r,            R,          slash,      trademark ] }; // r R ® ™
       key <AC10> { [               n,            N,       asterisk                 ] }; // n N ~
   };


Ce n'est pas parfait (certain caractères étrangers deviennent innacéssible), et c'est surtout un test de plus, mais en voici les caractèristiques principales :

  • Chiffres en accès direct sur la lignes des chiffres
  • Les symboles de la ligne des chiffres sont dupliqués en altgr main droite.
  • La touche caps-lock sert de altgr (pour la main droite).

De plus

  • La touche Alt_L me sert de touche majuscule et les touches Shift sont devenues des touches Alt

Comme ça les chiffres sont très simples d'accès, je ne bouge quasiment plus mes mains de la lignes de repos et je me sert un peu plus de mes pouces !

Utilisation :

   $ setxkbmap perso bepo_perso

version modifié du bépo : le jéop

J'ai laissé la fin de page à des fin d'historique, mais je n'utilise actuellement plus cette disposition.

Pour l’instant, je modifie encore mon clavier, mais dans l’ensemble, je suis assez contant du résultat. Les trucs susceptible de changer (dû aux plus récents changements) sont :

  • Le caractère « à »
  • La couche ASCII

Les lettres (avec les maj évidements)

Comme Laurent (béop) j’ai fait l’inversion « op » et « ei ». Ce n’est pas facile au début mais je préfère à la dispo de base (mes majeurs sont assez long et la ligne supérieure m’est donc très accessible).

De plus : 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

Ça fait plus d’un mois que je teste, c’est tout à fait valable

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
│    │    │  ( │ )  │    │    │    │    │    │ w  │ k  │    │    ║        ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║       ║    │    │    │    │ ‘  │  ˇ │    │    │    │    │    │    ║     ║
║       ║ j  │ é  │ o  │ p  │ ’  │  ^ │ v  │ d  │ l  │ b  │ z  │    ║     ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
║        ║ a  │ u  │ e  │ i  │    │ c  │ t  │ s  │ r  │ n  │ m  │    ║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║      ║    │    │    │    │  ! │  — │  ? │    │    │    │    ║           ║
║      ║  ê │ è  │ y  │ x  │  , │  - │  . │ q  │ g  │ h  │ f  ║           ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║      ║    ║    ║    ║                        ║    ║    ║    ║
║      ║    ║    ║    ║      espace            ║    ║    ║    ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


Les modificateurs

Disposition à essayer, je vous la conseille (à condition de ne pas utiliser d’autre mappages évidemment) La touche return est notamment un must have !

 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
 │ €  │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ € dead_currency
 │ α  │tab │    │    │ctrl│win │échap alt│ctrl│    │    │    │    ║ Return ║ α dead_greek
 ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
 ║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║
 ║tab    ║    │    │    │    │    │    │    │    │    │    │    │suppr     ║
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
 ║altgr   ║    │    │    │    │  * │    │    │    │    │    │    │altgr    ║ backspace en accès direct, enter en maj, compose en altgr et suppr en
>   level 5
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
 ║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║
 ║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
 ║      ║    ║over║    ║                        ║    ║over║    ║
 ║ alt  ║fn  ║lay ║maj ║                        ║maj ║lay ║meta║
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝

Nb :

  • Verrouiller maj s’obtient en appuyant sur les deux touches « maj ».
  • Verrouiller altgr s’obtient en appuyant sur les deux touches « altgr ».
  • La disposition programmeur s’obtient en appuyant sur les deux touches level5 en même temps

Mode programmeur

Mode programmeur accessible à l’aide d’un basculement qui a lieu quand on enfonce les deux touches level5 en même temps. Seuls les changements sur la couche 5 sont notés pour alléger la présentation. Motivation du placement (commun au mode classique) : « / » « * » et « : » sont côtes à côte pour les digrammes « /* » « */ » et « :/ ». « / » « < » « > » sont côte à côte pour pouvoir taper « </ » et « /> » en plus de « // » « << » et « >> ». « \ » est dupliqué sur la ligne du bas, à côté de / pour le regroupement et en majuscule sur la touche « à » en bépo pour les clavier 104 touche « / » est encore dupliqué pour avoir « ~/ ». nb : l’idée de Lawrent d’avoir « + » sur la même touche que « i » et « - » sur le « u » n’est pas pratique en réalités.

Ajout grâce au mode programmeur : Tous les digrammes de la section [[1]] sont facilement accessible (très proche géographiquement, souvent côte à côte) et sont sur la même couche. Seul « }- » et « -{ » ne sont pas sur la même main. Les caractères accentués disparaissent. L’apostrophe droite échange sa place avec l’apostrophe courbe pour passer en accès direct et le ^ devient le caractère ASCII et échange sa place en level5 avec le ^ mort. « = » apparait en level5 pour les digrammes « -> » « => » « <= ». « \ » et « / » passe en accès direct. Duplication des parenthèses en couche symbole (pour « ); » et la logique générale.

 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
 │    │    │   (│   )│    │    │    │    │    │    │    │    │    ║        ║
 ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
 ║       ║    │    │    │    │ ’  │  ^ │    │    │    │    │    │    ║     ║  ^ symbole ascii
 ║       ║    │    │    │    │ '  │  ^ │    │    │    │    │    │    ║     ║  ^ touche morte
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
 ║      ║    │ =  │ <  │  > │    │    │    │    │    │    │    ║           ║
 ║level5║  \ │ /  │    │    │    │    │    │    │    │    │    ║  level5   ║
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
 ║      ║    ║    ║    ║                        ║    ║    ║    ║
 ║      ║    ║    ║    ║                        ║    ║    ║    ║
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


Le pavé numérique en altgr (proche de la dispo de Lawrent)

Les chiffres sont en altgr. Quelques caractères spéciaux sont placés à gauche (avec leur majuscules).

Nb : Je pense que je vais changer ça car avoir deux chiffres sur le petit doigt c’est pas pratique. En revanche avoir un pavé numérique sur la ligne de repos c’est top.

 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
 ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
 ║       ║    │  Œ │ Ô  │    │    │    │   E│   F│    │    │    │    ║     ║
 ║       ║    │  œ │ ô  │ ¶  │    │    │   5│   6│   7│   8│   9│    ║     ║
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
 ║        ║ À  │ Ù  │ Ê  │ Ï  │    │  Ç │   A│   B│   C│   D│    │    ║    ║
 ║altgr   ║ à  │ ù  │ ê  │ ï  │    │  ç │   0│   1│   2│   3│   4│    ║    ║
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
 ║      ║    │ Æ  │    │    │    │    │    │    │    │    │    ║           ║
 ║      ║    │ æ  │    │    │    │    │   =│   +│   -│   /│   *║           ║
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
 ║      ║    ║    ║    ║                        ║    ║    ║    ║
 ║      ║    ║    ║maj ║                        ║    ║    ║    ║
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


Le mappage ASCII en altgr

De récent changement ont fait que le placement des accolades, chevron et crochet ont perdu de leurs sens, il faut donc que je rectifie ça.

Les 32 symboles de prog ~`!@#$%^&*()-_+={}[]:;'"|/\<>,.? Minimisation de l’utilisation de la ligne du bas et des chiffres. Pour les symboles ascii la disposition programmeur est plus adaptée. Nb : « / » et « * » sont dupliqué du pavé numérique (à droite).

Les symboles sont en level5. Leur disposition a été pensé au niveau mnémotechnique. Pour la programmation, cf mode programmeur ci-dessous.

 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
 ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
 ║       ║    │    │    │    │  ’ │  ^ │    │  d │   l│    │    │    ║     ║  ^ symbole ascii
 ║       ║ /  │ ~  │  : │  ; │  ' │  ^ │  % │  # │   |│ °  │    │    ║     ║  ^ touche morte
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
 ║        ║  a │    │ e  │    │    │    │    │  s │    │    │    │    ║    ║
 ║        ║  @ │ {  │ &  │  } │  ' │  ` │  " │  $ │  [ │  ] │  º │    ║    ║  º masculine
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
 ║      ║    │ \  │    │    │    │    │    │    │    │    │    ║           ║  \ en majuscule (meilleur dispo en mode programmeur)
 ║level5║  \ │ /  │ <  │  > │    │    │    │/   │*   │    │  ª ║  level5   ║  ª feminine
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
 ║      ║    ║    ║    ║                        ║    ║    ║    ║
 ║      ║    ║    ║    ║             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’autres trucs…

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│in  │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
│sert│    │    │    │    │    │    │    │    │    │    │    │    ║        ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║
║       ║    │    │    │    │    │    │    │   ↓│   ↑│    │    │    ║     ║  ↓ et ↑ page up/down
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │   c│   t│   s│   r│   n│   m│    ║    ║
║échap   ║    │    │    │    │    │   ←│   ↓│   ↑│   →│   ↖│ fin│échap║   ║ ↖ origin    
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║      ║    ║over║    ║                        ║    ║over║    ║
║      ║    ║lay ║    ║                        ║    ║lay ║    ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝

=== Accent en level5 + maj

J’ai essayé d’avoir soi le même placement qu’en bépo, soit proche proche de la forme du symbole.
 ┌────┬────┬────┬────╔════╦════╦════╦════╦════╗────┬────┬────┬────╔════════╗
 │ €  │smiley   │    ║    ║    ║clic║    ║    ║    │    │    │    ║        ║ € dead_currency    smiley : touche morte utilisé pour mes smileys
 │ α  │maths    │    ║ctrl║alt ║droit alt║ctrl║    │    │    │    ║compose ║ α dead_greek       maths : touche morte utilisé pour mes symboles mathématiques
 ╔═══════╗─┴──┬─┴──┬─╚════╩════╩════╩════╩════╝──┬─┴──┬─┴──┬─┴──╔═╩══╦═════╣
 ║       ║    │ é  │ ~  │  o │ ê  │ ^  │ v  │    │  l │    │    ║    ║     ║
 ║tab    ║    │ ´  │ ~  │  ° │ `  │ ^  │ ˇ  │    │  / │    │    ║tab ║     ║
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╦═══╚╗    ║
 ║        ║    │ u  │ i  │    │ ’  │ c  │ "  │    │    │    │ m  ║    ║    ║
 ║altgr   ║    │ ˘  │ ¨  │    │  ̛  │ ¸  │ ˝  │    │    │    │ ¯  ║altgr    ║
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╩════╩════╣
 ║      ║    │    │    │    │  . │    │ ,  │    │    │ h  │ f  ║           ║
 ║level5║    │    │    │    │  ˙ │    │ ,  │    │    │  ̉  │ ˛  ║  level5   ║
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
 ║      ║    ║over║    ║                        ║    ║over║    ║
 ║ win  ║fn  ║lay ║maj ║                        ║maj ║lay ║ win║
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝


Dispo complète

Là c’est le moment qui fait peur ^^

normal
┌────────┬────────┬────────┬────────╔════════╦════════╦════════╦════════╦════════╗────────┬────────┬────────┬────────╔════════════════╗
│ monnaie │ smiley│ «      │  »     ║        ║        ║        ║        ║        ║ W      │ K      │        │        ║                ║
│ grec   │ maths  │ ( “    │  ) ”   ║    ctrl║    alt ║  menu  ║     alt║    ctrl║ w      │ k      │ insert │ suppr  ║ compose        ║
╔══════════════╗──┴─────┬──┴─────┬──╚════════╩════════╩════════╩════════╩════════╝─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║              ║ J      │ É Œ ~  │ O Ô    │ p      │ ‘      │ ˇ      │ V  E   │ D F    │ L      │ B      │ Z      │        ║          ║
║  tabulation  ║ j   /  │ é œ ~  │ o ô :  │ p ¶ ;  │ ’   '  │ ^    ^ │ v  5 % │ d 6 #  │ l 7 |  │ b 8 °  │ z 9    │ tab    ║          ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║
║                ║ A À    │ U Ù    │ E Ê    │ I Ï    │        │ C  Ç   │ T A    │ S B    │ R C    │ N  D   │ M      │        ║        ║
║  altgr         ║ a à @  │ u ù {  │ e ê &  │ i ï }  │backspace│c  ç ` │ t 0 "  │ s 1 $  │ r 2 [  │ n  3 ] │ m 4 º  │ altgr  ║        ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║           ║ Ê      │ È Æ \  │ Y      │ X      │ ! ¡    │ —      │ ? ¿    │ Q      │  G     │ H      │ F      ║                      ║
║  level5   ║ è    \ │ ê æ /  │ y ≤ <  │ x ≥ >  │ . …    │ - – Esc│ , =    │ q / /  │  g * * │ h -    │ f +    ║  level5              ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║           ║        ║        ║        ║                                            ║        ║        ║        ║
║   win     ║ fn     ║overlay ║ maj    ║                                            ║  maj   ║overlay ║ win    ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝
programmeur
┌────────┬────────┬────────┬────────╔════════╦════════╦════════╦════════╦════════╗────────┬────────┬────────┬────────╔════════════════╗
│ monnaie │ smiley│   «    │    »   ║        ║        ║        ║        ║        ║   W    │  K     │        │        ║                ║
│ grec   │ maths  │   (    │    )   ║    ctrl║    alt ║  menu  ║     alt║    ctrl║   w    │  k     │ insert │ suppr  ║ compose        ║
╔══════════════╗──┴─────┬──┴─────┬──╚════════╩════════╩════════╩════════╩════════╝─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║              ║ J      │ É   ~  │ O Œ    │ p      │ ‘      │ ˇ      │ V  E   │ D F    │ L      │ B      │ Z      │        ║          ║
║  tabulation  ║ j   /  │ échap  │ o œ :  │ p ¶ ;  │ '   ’  │ ^   ^  │ v  5 % │ d 6 #  │ l 7 |  │ b 8 °  │ z 9    │ tab    ║          ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║
║                ║ A À    │ U Ù    │ E Ê    │ I Ï    │        │ C  Ç   │ T A    │ S B    │ R C    │ N  D   │ M      │        ║        ║
║  altgr         ║ a à @  │ u ù {  │ e ê &  │ i ï }  │backspace│c  ç ` │ t 0 "  │ s 1 $  │ r 2 [  │ n  3 ] │ m 4 º  │ altgr  ║        ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║           ║     Ê  │ \ æ \  │ Y      │ X      │ ! ¡    │ —      │ ? ¿    │ Q      │  G     │ H      │ F      ║                      ║
║  level5   ║ \   è  │ / Æ /  │ y ≤ <  │ x ≥ >  │ . …    │ - – Esc│ , =    │ q / /  │  g * * │ h -    │ f + ª  ║  level5              ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║           ║        ║        ║        ║                                            ║        ║        ║        ║
║   win     ║ fn     ║overlay ║ maj    ║                                            ║  maj   ║overlay ║ win    ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝

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).
  • But secondaires :
    • j’ai mis les touches directionnelles sous "ctsr" (comme vim) et origin/fin sous "nm" accessible avec la touche overlay (deux crans à 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 de reprendre les bonnes idées des modifications persos et de tester un max de trucs.
  • 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 :
    • mon clavier n’a physiquement pas assez de touches sous les pouces ^^

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. /!\ certaines modification mineures peuvent différer des explications précédentes.

 partial alphanumeric_keys
 xkb_symbols "jeop_actual" {

    include"fr(bepo_latin9)"
    include"fr(jeop)"
    include"fr(jeop_programmeur)"
    //

 };

partial alphanumeric_keys
xkb_symbols "jeop" {

   include "keypad(oss)"

   name[Group1]= "French (JEPO, ergonomic, Dvorak way)";
   name[Group2]= "French (JEPO programmeur, ergonomic, Dvorak way)";

   key.type[Group1] = "EIGHT_LEVEL";
   key.type[Group2] = "EIGHT_LEVEL";
   key <LFSH>  {     [ ISO_Level5_Shift, ISO_Level5_Shift,ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Prev_Group ]   };
   key <RTSH>  {     [ ISO_Level5_Shift, ISO_Level5_Shift,ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Next_Group ]   };

   key.type[Group1] = "ONE_LEVEL";
   key.type[Group2] = "ONE_LEVEL";
   key <ESC>  { [ Escape    ] };
   key <LCTL> { [ Super_L   ] };
   key <RCTL> { [ Super_R   ] };
   key <TAB>  {[         Tab,ISO_Left_Tab ] }; 
   key <RWIN> { [ VoidSymbol ] };
   key <LWIN> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] }; 
   key <MENU> { [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] }; 

   key.type[Group1] = "TWO_LEVEL";
   key.type[Group2] = "TWO_LEVEL";
   key <LALT> { [ Shift_L, Shift_Lock ] };  
   key <RALT> { [ Shift_R, Shift_Lock ] };  
   key <AD12> { [     Tab, ISO_Left_Tab ] }; 

   key.type[Group1] = "FOUR_LEVEL";
   key.type[Group2] = "FOUR_LEVEL";
   key <BKSP> { [        BackSpace,         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] = "EIGHT_LEVEL";
   key.type[Group2] = "EIGHT_LEVEL";
   key <SPCE> { [            space,      nobreakspace,      underscore,            U202F,   underscore,    underscore ] };
   key <AC05> { [        BackSpace,        Return,       Multi_key,        Multi_key,       KP_Delete,         KP_Delete ],
                [        BackSpace,        Return,       Multi_key,        Multi_key,       KP_Delete,         KP_Delete ], overlay1 = <DELE> };


   key.type[Group1] = "ONE_LEVEL";
   key.type[Group2] = "ONE_LEVEL";
   key <AE04> { [ Control_L ] };
   key <AE05> { [ Alt_L     ] };
   key <AE06> { [ Menu      ] };
   key <AE07> { [ Alt_R     ] };    
   key <AE08> { [ Control_R ] };    

   // level modifier
   //    modifier_map Mod1 { <LALT> };
   //    modifier_map Mod1 { <RALT> };
   //    modifier_map Mod2 { <CAPS> };
   //    modifier_map Mod2 { <BKSL> };
   modifier_map Mod2   { ISO_Level3_Shift };
   modifier_map Mod3   { ISO_Level5_Shift };
   modifier_map Mod5   { ISO_Next_Group_Lock };

   // First row

   key.type[Group1] = "TWO_LEVEL";
   key.type[Group2] = "TWO_LEVEL";

   key <TLDE> {[ dead_greek,dead_currency ], overlay1 = <INS> }; 
   key <AE01> {[     UF0000,       UFF000 ] };  // dead_mathematique and dead_smyley
                   
   key.type[Group1] = "ONE_LEVEL";
   key.type[Group2] = "ONE_LEVEL";

   key <AE11> { [ Insert ] }; 
   key <AE12> { [ Delete ] };

   key.type[Group1] = "EIGHT_LEVEL";
   key.type[Group2] = "EIGHT_LEVEL";
  
   key <AE02> {[         parenleft,   guillemotleft,leftdoublequotemark,   VoidSymbol,  VoidSymbol,     VoidSymbol ]};
   key <AE03> {[        parenright,  guillemotright,rightdoublequotemark,  VoidSymbol,  VoidSymbol,     VoidSymbol ]};
  
   key <AE09> {[                 w,               W,        minutes,       VoidSymbol,  VoidSymbol,     VoidSymbol ]};
   key <AE10> {[                 k,               K,        seconds,       VoidSymbol,  VoidSymbol,     VoidSymbol ]};
  
   // Second row
   key <AD01> {[                 j,               J,      VoidSymbol,      VoidSymbol,       slash,     VoidSymbol ]};
   key <AD02> {[            eacute,          Eacute,              oe,              OE,  asciitilde,     dead_tilde ]};
   key <AD03> {[                 o,               O,     ocircumflex,     Ocircumflex,       colon, dead_abovering ]};
   key <AD04> {[                 p,               P,       paragraph,      VoidSymbol,   semicolon,     VoidSymbol ],overlay1=<AD12>};
   key <AD05> {[rightsinglequotemark, leftsinglequotemark, VoidSymbol,      VoidSymbol,           apostrophe,      dead_horn ]}; 
   key <AD06> {[   dead_circumflex,      VoidSymbol,      VoidSymbol,      VoidSymbol, asciicircum,dead_circumflex ],overlay1=<AB03>};
   key <AD07> {[                 v,               V,               5,               E,     percent,     dead_caron ],overlay1=<AC06>}; 
   key <AD08> {[                 d,               D,               6,               F,  numbersign,     VoidSymbol ],overlay1=<PGUP>}; 
   key <AD09> {[                 l,               L,               7,      VoidSymbol,         bar,    dead_stroke ],overlay1=<PGDN>}; 
   key <AD10> {[                 b,               B,               8,      VoidSymbol,      degree,     VoidSymbol ],overlay1=<AE09>}; 
   key <AD11> {[                 z,               Z,               9,      VoidSymbol,  VoidSymbol,     VoidSymbol ]};
  
   // Third row
  
   key <AC01> {[                 a,               A,          agrave,          Agrave,          at,     VoidSymbol ],overlay1=<AE04>};
   key <AC02> {[                 u,               U,          ugrave,          Ugrave,   braceleft,     dead_breve ],overlay1=<AE07>};
   key <AC03> {[                 e,               E,     ecircumflex,     Ecircumflex,   ampersand,     VoidSymbol ],overlay1=<AE12>};
   key <AC04> {[                 i,               I,      idiaeresis,      Idiaeresis,  braceright, dead_diaeresis ],overlay1=<RALT>};

   key <AC06> {[                 c,               C,        ccedilla,        Ccedilla,       grave,   dead_cedilla ],overlay1=<LEFT>};
   key <AC07> {[                 t,               T,               0,               A,    quotedbl,ead_doubleacute ],overlay1=<DOWN>};
   key <AC08> {[                 s,               S,               1,               B,      dollar,     VoidSymbol ],overlay1=<UP>  };
   key <AC09> {[                 r,               R,               2,               C, bracketleft,     VoidSymbol ],overlay1=<RGHT>};
   key <AC10> {[                 n,               N,               3,               D,bracketright,     VoidSymbol ],overlay1=<HOME>};
   key <AC11> {[                 m,               M,               4,      VoidSymbol,   masculine,    dead_macron ],overlay1=<END> };
                                                                                      
   // Fourth ro                                                                       
                                                                                      
   key <LSGT> {[       ecircumflex,     Ecircumflex,      VoidSymbol,      VoidSymbol,   backslash,     VoidSymbol ]};
   key <AB01> {[            egrave,          Egrave,              ae,              AE,       slash,      backslash ],overlay1=<FK11>};
   key <AB02> {[                 y,               Y,   lessthanequal,      VoidSymbol,        less,     VoidSymbol ],overlay1=<FK05>};
   key <AB03> {[                 x,               X,greaterthanequal,      VoidSymbol,     greater,     VoidSymbol ],overlay1=<FK04>};
   key <AB04> {[            period,          exclam,        ellipsis,      exclamdown,       equal,  dead_abovedot ], overlay1=<FK02>};
   key <AB05> {[             minus,          emdash,          endash,      VoidSymbol,      Escape,     VoidSymbol ]};
   key <AB06> {[             comma,        question,           equal,    questiondown,  VoidSymbol,dead_belowcomma ]};
   key <AB07> {[                 q,               Q,           slash,      VoidSymbol,       slash,  dead_belowdot ]};
   key <AB08> {[                 g,               G,        asterisk,      VoidSymbol,    asterisk,     VoidSymbol ]};
   key <AB09> {[                 h,               H,           minus,      VoidSymbol,       minus,      dead_hook ]};
   key <AB10> {[                 f,               F,            plus,        feminine,        plus,    dead_ogonek ]};


};
partial alphanumeric_keys
xkb_symbols "jeop_programmeur" {

   key.type[Group2] = "EIGHT_LEVEL";
   //key <CAPS> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Prev_Group ], overlay1 = <ESC> };
   //key <BKSL> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,  ISO_Level5_Shift, ISO_Next_Group ], overlay1 = <ESC> };
   //key <LFSH> { [ ISO_Level3_Shift, ISO_Level3_Shift,  ISO_Level3_Lock,  ISO_Level3_Lock ] };    
   //key <RTSH> { [ ISO_Level3_Shift, ISO_Level3_Shift,  ISO_Level3_Lock,  ISO_Level3_Lock ] };

   key <SPCE> { [            space,           Escape,        underscore,          U202F,   underscore,   underscore ] }; 

   key.type[Group2] = "EIGHT_LEVEL";
   key <AD02> { [], [        Escape,        Eacute,               oe,              OE,      asciitilde,     dead_tilde ],overlay1=<LWIN>}; 
   key <AD05> { [], [    apostrophe, leftsinglequotemark, VoidSymbol,      VoidSymbol, rightsinglequotemark,dead_grave ]};
   key <AD06> { [], [   asciicircum,    dead_caron,            comma,      VoidSymbol, dead_circumflex,    VoidSymbol ], overlay1 = <AB03> };

   key <LSGT> { [], [     backslash,    VoidSymbol,       VoidSymbol,      VoidSymbol,     ecircumflex,   Ecircumflex ] };                   
   key <AB01> { [], [         slash,     backslash,               ae,              AE,           equal,    VoidSymbol ], overlay1 = <FK11> };
   key <AB02> { [], [            y,               Y,   lessthanequal,      VoidSymbol,        less,     VoidSymbol ],overlay1=<FK05>};
   key <AB03> { [], [            x,               X,greaterthanequal,      VoidSymbol,     greater,     VoidSymbol ],overlay1=<FK04>};

};

fichier .XCompose

Devant la quantité des symboles mathématiques, et la faible, mais non nulle utilisation que j’en fait, j’ai décidé de les ajouter à travers le mécanisme compose. Je vous le livre tel quel si ça peut vous intéresser. Notez que lorsqu’une combinaison ne fait intervenir que le pavé numérique, j’ai choisi d’utiliser le caractère situé en direct (par exemple {1} est en {altgr} + {maj} + {s} et {4} est en {altgr} + {maj} + {m}, donc pour écrire ¼ je tape « <compose mathématique> sm ». Il est probable que je mappe une touche pour accéder directement à mes symboles mathématiques.

Ressources utilisés :

include "%L" # pour inclure le fichier par défaut
# espaces Insécables automatiques

<guillemotleft> : "« "
<guillemotright> : " »"
<Multi_key>   <parenright>    <parenright>               : ":-)"

#symboles mathématique correspondant au pavé numérique
#nb : =+-/* correspondent respectivement à .qgf
<Multi_key> <Multi_key> <q> : "±"  
<Multi_key> <Multi_key> <g> : "−"  
<Multi_key> <Multi_key> <h> : "÷"  
<Multi_key> <Multi_key> <f> : "×"  
<Multi_key> <Multi_key> <period> : "≠"  
<Multi_key> <Multi_key> <minus> <period> : "≈"  #nb : mon symbole ~ est en altgr sur ma touche -
<Multi_key> <Multi_key> <minus> <h> <period> : "≉"  #nb : mon symbole ~ est en altgr sur ma touche -
<Multi_key> <Multi_key> <o> <q> : "⊕"        #CIRCLED PLUS 
<Multi_key> <Multi_key> <o> <g> : "⊖"        #CIRCLED MINUS
<Multi_key> <Multi_key> <o> <h> : "⊗"        #CIRCLED TIMES
<Multi_key> <Multi_key> <o> <f> : "⊘"        #CIRCLED DIVISION SLASH

# fractions - les lettres correspondent au placement de mon
# pavé numérique
# (sur deux lignes en main droite, les symboles en dessous)
<Multi_key> <Multi_key> <Multi_key> <s> <r> : "½"     
<Multi_key> <Multi_key> <Multi_key> <s> <n> : "⅓"  
<Multi_key> <Multi_key> <Multi_key> <s> <m> : "¼"  
<Multi_key> <Multi_key> <Multi_key> <s> <v> : "⅕"  
<Multi_key> <Multi_key> <Multi_key> <s> <d> : "⅙"  
<Multi_key> <Multi_key> <Multi_key> <s> <b> : "⅛"  
<Multi_key> <Multi_key> <Multi_key> <r> <n> : "⅔"  
<Multi_key> <Multi_key> <Multi_key> <r> <v> : "⅖"  
<Multi_key> <Multi_key> <Multi_key> <n> <m> : "¾"  
<Multi_key> <Multi_key> <Multi_key> <n> <b> : "⅜"  
<Multi_key> <Multi_key> <Multi_key> <m> <v> : "⅘"  
<Multi_key> <Multi_key> <Multi_key> <v> <d> : "⅚"  
<Multi_key> <Multi_key> <Multi_key> <v> <b> : "⅝"  
<Multi_key> <Multi_key> <Multi_key> <l> <b> : "⅞"  

#syboles mathématique 
<Multi_key> <Multi_key> <s> : "√"            #SQUARE ROOT      
<Multi_key> <Multi_key> <3> <s> : "∛"        #CUBE ROOT
<Multi_key> <Multi_key> <4> <s> : "∜"        #FOURTH ROOT
<Multi_key> <Multi_key> <o> <o> : "∞"        #INFINITY
<Multi_key> <Multi_key> <i> : "∫"            #INTEGRAL
<Multi_key> <Multi_key> <2> <i> : "∬"        #DOUBLE INTEGRAL
<Multi_key> <Multi_key> <3> <i> : "∭"        #TRIPLE INTEGRAL
<Multi_key> <Multi_key> <4> <i> : "⨌"        #QUADRUPLE INTEGRAL
<Multi_key> <Multi_key> <o> <i> : "∮"        #CONTOUR INTEGRAL
<Multi_key> <Multi_key> <o> <2> <i> : "∯"    #SURFACE INTEGRAL
<Multi_key> <Multi_key> <o> <3> <i> : "∰"    #VOLUME INTEGRAL
<Multi_key> <Multi_key> <n> : "∇"            #NABLA
<Multi_key> <Multi_key> <slash> <o> : "∅"    #EMPTY SET

<Multi_key> <Multi_key> <F> : "ƒ"            #FUNCTION (f is for "×"
<Multi_key> <Multi_key> <R> : "ℜ"            #REAL NUMBER
<Multi_key> <Multi_key> <I> : "ℑ"            #IMAGINARY
<Multi_key> <Multi_key> <A> : "∀"            #FOR ALL
<Multi_key> <Multi_key> <C> : "∁"            #COMPLEMENT
<Multi_key> <Multi_key> <E> : "∃"            #THERE EXISTS
<Multi_key> <Multi_key> <slash> <E> : "∄"    #THERE DOES NOT EXIST

#ensembles
<Multi_key> <Multi_key> <e> <n> : "ℕ"        #NATURAL NUMBERS 
<Multi_key> <Multi_key> <e> <z> : "ℤ"        #INTEGERS
<Multi_key> <Multi_key> <e> <q> : "ℚ"        #RATIONAL NUMBERS 
<Multi_key> <Multi_key> <e> <r> : "ℝ"        #REAL NUMBER
<Multi_key> <Multi_key> <e> <c> : "ℂ"        #COMPLEX NUMBERS 
<Multi_key> <Multi_key> <e> <p> : "ℙ"        #PRIME NUMBERS 
<Multi_key> <Multi_key> <e> <e> : "∈"        #ELEMENT OF 
<Multi_key> <Multi_key> <e> <slash> <e> : "∉"#NOT AN ELEMENT OF

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 !