« Utilisateur:Lawrent » : différence entre les versions
Aucun résumé des modifications |
(Annulation des modifications 23282 de Lawrent (discussion)) |
||
Ligne 1 : | Ligne 1 : | ||
Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d'ici quelques temps :-) . | |||
<b>Cette page n'est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification</b> | |||
==Disposition complète, encore en cours de changements== | |||
<source> | |||
level 1-2 : lettre et majuscule | |||
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles | |||
level 5 (level5, seulement à droite): pavé numérique | |||
level 5 + maj : chiffres en exposant | |||
level 5 + altgr: chiffres en indice (plus difficiles à saisir) | |||
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗ | |||
│ CAPS │ │ │ │ │ │ SHUT │ │ │ │ │ │ ║ ║ | |||
│ LOCK │ ALTGR │ META │ TAB │ CTRL │ │ DOWN │ │ CTRL │ ALT │ INSERT │ │ ║ DELETE ║ | |||
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣ | |||
║ ║ O Œ │ É │ P │ À │ È │ ¨ ` ≠ │ V │ D │ L ≤ │ B ≥ │ Z │ Ç ║ | ║ | |||
║ ←—— ║ o œ │ é & │ p | │ à │ è ` │ ^ ´ = │ v ^ 5 │ d $ 6 │ l < 7 │ b > 8 │ z # 9 │ ç @ % ║ ←—' ║ | |||
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗ ║ | |||
║ ║ A Æ │ U Ù │ I « │ E » │ ; │ C │ T ~ │ N – │ R │ S │ M │ ║ ║ | |||
║ ALTGR ║ a æ │ u ù │ i ( │ e ) │ , — │ c \ 0 │ t / 1 │ n - 2 │ r { 3 │ s } 4 │ m % . │ ALTGR ║ ║ | |||
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣ | |||
║ ║ Ê £ │ H ≠ │ Y │ X ± │ : · │ K │ ? ≈ │ Q ± │ G │ J │ F ║ W ║ | |||
║ Level5 ║ ê € │ h = │ y * │ x + │ . … │ k ° │ ' ! , │ q " + │ g _ - │ j [ * │ f ] / ║ w ║ | |||
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ | |||
║ ║ ║ ║ ║ [esp insecable] [esp insecable] ║ ║ ║ ║ | |||
║ ALT ║ ║ OVERLAY║ MAJ ║ [space] ~ ║ MAJ ║ ESC ║ META ║ | |||
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝ | |||
carte overlay | |||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │PgDw│PgUp│ │ │ │ ║ ║ | |||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║CTRL│ALT │META│MAJ │ │ ← │ ↓ │ ↑ │ → │ │ │ ║ ║ | |||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │End │Home│ │ ║ ║ | |||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
║ ║ ║OVRL║ ║ ║ ║ ║ ║ | |||
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝ | |||
</source> | |||
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte). | |||
<source> | |||
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣ | |||
║ ║ O Ö │ │ │ À Å │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ o ö │ │ │ à å │ │ │ │ │ │ │ │ ║ ║ | |||
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗ ║ | |||
║ ║ A Ä │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ a ä │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝ | |||
</source> | |||
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n'envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d'un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu'on déplace les modificateurs, il arrive que certaines combinaisons de touche s'avèrent impossibles (il faut donc trouver une alternative propre au clavier). Sur Linux, xev affiche dans la console les events envoyés par le clavier et permet de détecter une combinaison de touche interdite. | |||
Pour l'utilisation de l'overlay, attention: toujours relacher la touche pressée <b>avant</b> la touche overlay. Sinon elle reste enfoncée et ça fait des surprises. | |||
===Changements à essayer=== | ===Changements à essayer=== | ||
* mettre Space+AltGr comme espace insécable. | * mettre Space+AltGr comme espace insécable. | ||
Ligne 48 : | Ligne 121 : | ||
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝ | ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝ | ||
</source> | </source> | ||
* (changement majeur) À l'instar de l'[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d'une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Ça donnerait de la place pour (entre autres) remapper Enter et placer Level5 sous mon pouce gauche. | * (changement majeur) À l'instar de l'[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d'une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Ça donnerait de la place pour (entre autres) remapper Enter et placer Level5 sous mon pouce gauche. | ||
==Caractéristiques principales== | |||
* rendre AltGr symétrique pour pouvoir accéder facilement aux 4 levels de toutes les touches et ainsi rendre les symboles courants en programmation plus accessibles. | |||
* <b>ne pas</b> utiliser la ligne des chiffres que je juge trop inaccessible. | |||
* déplacer les modificateurs (l'idée des majuscules sous les pouces et des ctrl sur la ligne des chiffres vient de [[Utilisateur:Robin|Robin]]). La combinaison maj+altgr s'en voit facilitée des deux côtés. | |||
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l'index et de l'auriculaire. | |||
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie. | |||
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation | |||
* les touches spéciales placées sur l'overlay sont fréquemment utilisées sur Linux Mint pour passer d'un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte | |||
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d'autres vimités | |||
J'ai également modifié l'emplacement initial de certaines touches: | |||
* Le B: [[Utilisateur:Robin|Robin]] recommande d'intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s'en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins. | |||
* Le H : je n'aime vraiment pas la place du H dans le bépo original à cause du digramme ch. Vue la place peu privilégiée du H et la fréquence du J un swap H<->J me semble adéquat. | |||
* Le O : ma méthode de saisie (voir plus bas) encourage l'utilisation des pouces comme pivots vers l'extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H<->O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l'intérieur). Dans l'ensemble, ça compense le digramme he concentré sur un seul doigt. | |||
* déplacement du ! : c'est une exception de mettre un signe de ponctuation en altgr, mais le '^' est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu'avec les accents morts. | |||
* Le S et le N : pour faciliter les trigrammes des et men. | |||
* swap à<->h: parce que le mot « déjà » qui revient souvent a un schéma bizarre dans mes doigts, tout comme des phrases comme « as-tu pensé à […] » où l'annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications: | |||
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et * | |||
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n'aime vraiment pas les touches au-dessus des index | |||
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d'après la [[fréquence des digrammes]]). | |||
==Justification de mes changements par rapport au bépo original== | |||
Avertissement: ne modifiez pas votre disposition bépo :D | |||
"Le principal problème de Bépo étant qu’il évolue constamment. Un jour, faudrait leur dire qu’un clavier optimisé à 99% et disponible maintenant est préférable qu’un clavier qui change tout le temps pour être un jour optimisé à 100% alors que bon, de toutes façons, à partir du moment où on demande l’avis des gens, ils seront forcément pas contents." ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum]) | |||
Avant d'expliquer pourquoi j'ai changé quelle touche de place, il faut que je vous donne ma propre carte d'accessibilité (= la préférence que j'accorde personnellement à chaque touche). | |||
<source>┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
│ │ │ │ 3 │ 3 │ │ │ │ 3 │ 3 │ │ │ ║ ║ | |||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ 2 │ 1 │ 1 │ 4 │ 5 │ 6 │ 4 │ 1 │ 1 │ 2 │ 3 │ 3 ║ ║ | |||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ 0 │ 0 │ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 0 │ 0 │ 1 │ 3 ║ ║ | |||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ 1 │ 4 │ 2 │ 2 │ 1 │ 5 │ 1 │ 2 │ 2 │ 4 │ 1 ║ ║ | |||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝ | |||
</source> | |||
(Plus une touche a une valeur élevée, moins je la trouve accessible.) | |||
(à finir…) | |||
==Utilisation recommandée== | |||
* saisie des caractères proche de la [[Méthode de saisie|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et "tirer les mains vers l'extérieur" pour la ligne inférieure) | |||
<source>┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | |||
│ 1 │ 1 │ 1 │ │ 1 │ │ 1 │ 1 │ │ 1 │ │ │ ║ ║ | |||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | |||
║ ║ 1 │ │ 1 │ │ │ 1 │ 1 │ │ 1 │ │ │ ║ ║ | |||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | |||
║ ║ 1 │ │ 1 │ │ │ 1 │ 1 │ │ 1 │ │ │ ║ ║ | |||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | |||
║ ║ 1 │ │ 1 │ │ │ │ 1 │ 1 │ │ 1 │ ║ ║ | |||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝</source> | |||
* usage du caps lock: en fait, cette touche est très utile! Par exemple, pour écrire LASER, je tape: <caps lock>laser<caps lock>. Pas besoin de faire danser les auriculaires sur maj gauche et maj droit. | |||
==Apprentissage== | |||
(à réécrire) | |||
==Installation (Linux)== | |||
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §). | |||
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type "EIGHT_LEVEL_SEMIALPHABETIC", "CAPS_LOCK + Level5" agit comme "Shift + Level5" alors que "CAPS_LOCK" ne devrait pas avoir d'influence sur le pavé numérique) | |||
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j'ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC) | |||
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}} | |||
* Pour activer la disposition par défaut, modifier le fichier {{c|xorg.conf}} ({{c|locate xorg.conf}} pour le trouver) ou {{c|/etc/default/keyboard}} sur les dernières versions d'Ubuntu/Linux Mint avec les lignes | |||
<source lang="bash">XKBLAYOUT="fr" | |||
XKBVARIANT="bepo2"</source> | |||
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}} (copier préalablement le contenu du dossier {{c|/var/lib/xkb/}} par sécurité...). Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s'il n'y a pas de sortie, c'est que c'est bon). | |||
<source lang="bash"> | |||
// a ajouter dans xkb/symbols/french | |||
partial alphanumeric_keys | |||
xkb_symbols "bepo2" { | |||
include "keypad(oss)" // touches standard | |||
name[Group1]= "French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)"; | |||
key <TLDE> { type[group1] = "ONE_LEVEL", [ Caps_Lock ]}; | |||
key <AE01> { type[group1] = "ONE_LEVEL", [ ISO_Level3_Shift ]}; | |||
key <AE02> { type[group1] = "ONE_LEVEL", [ Super_L ]}; | |||
key <AE03> { type[group1] = "TWO_LEVEL", [ Tab , ISO_Left_Tab ]}; | |||
key <AE04> { type[group1] = "ONE_LEVEL", [ Control_L ]}; | |||
key <AE05> { type[group1] = "ONE_LEVEL", [ section ]}; | |||
key <AE06> { type[group1] = "ONE_LEVEL", [ Terminate_Server ]}; | |||
key <AE07> { type[group1] = "ONE_LEVEL", [ section ]}; | |||
key <AE08> { type[group1] = "ONE_LEVEL", [ Control_R ]}; | |||
key <AE09> { type[group1] = "ONE_LEVEL", [ Alt_L ]}; | |||
key <AE10> { type[group1] = "ONE_LEVEL", [ Insert ]}; | |||
key <AE11> { type[group1] = "ONE_LEVEL", [ section ]}; | |||
key <AE12> { type[group1] = "ONE_LEVEL", [ Backspace ]}; | |||
key <BKSP> { type[group1] = "ONE_LEVEL", [ Delete ]}; | |||
key <TAB> { type[group1] = "ONE_LEVEL" , [ BackSpace ]}; | |||
// key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ o , O , oe , OE ]}; | |||
key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ o , O , odiaeresis , Odiaeresis ]}; | |||
key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ eacute , Eacute , ampersand , section ]}; | |||
key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ p , P , bar , section ]}; | |||
key <AD04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ agrave , Agrave , aring , Aring ]}; | |||
key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ egrave , Egrave , grave , section ]}; | |||
key <AD06> { type[group1] = "EIGHT_LEVEL" , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave , equal, notequal ]}; | |||
key <AD07> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ v , V , asciicircum, section , 5, fivesuperior , fivesubscript ], overlay1=<PGDN>}; | |||
key <AD08> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ d , D , dollar , section , 6, sixsuperior , sixsubscript ], overlay1=<PGUP>}; | |||
key <AD09> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ l , L , less , lessthanequal , 7, sevensuperior, sevensubscript ]}; | |||
key <AD10> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ b , B , greater , greaterthanequal, 8, eightsuperior, eightsubscript ]}; | |||
key <AD11> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ z , Z , numbersign , section , 9, ninesuperior , ninesubscript ]}; | |||
key <AD12> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ ccedilla , Ccedilla , at , section , percent, percent ]}; | |||
key <RTRN> { type[group1] = "ONE_LEVEL" , [ Return ]}; | |||
key <CAPS> { type[group1] = "ONE_LEVEL" , [ ISO_Level3_Shift ]}; | |||
// key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC" , [ a , A , ae , AE ], overlay1=<AE04>}; | |||
key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC" , [ a , A , adiaeresis , Adiaeresis ], overlay1=<AE04>}; | |||
key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC" , [ u , U , ugrave , Ugrave ], overlay1=<LCTL>}; | |||
key <AC03> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ i , I , parenleft , guillemotleft , parenleft , parenleft , parenleft ], overlay1=<RCTL>}; | |||
key <AC04> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ e , E , parenright , guillemotright , parenright, parenright, parenright ], overlay1=<LALT>}; | |||
key <AC05> { type[group1] = "FOUR_LEVEL" , [ comma , semicolon , emdash , section ]}; | |||
key <AC06> { type[group1] = "EIGHT_LEVEL_ALPHABETIC" , [ c , C , backslash , section , 0 , zerosuperior , zerosubscript ], overlay1=<LEFT>}; | |||
key <AC07> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ t , T , slash , dead_tilde , 1 , onesuperior , onesubscript ], overlay1=<DOWN>}; | |||
key <AC08> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ n , N , minus , endash , 2 , twosuperior , twosubscript ], overlay1=<UP>}; | |||
key <AC09> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ r , R , braceleft , section , 3 , threesuperior, threesubscript], overlay1=<RGHT>}; | |||
key <AC10> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ s , S , braceright , section , 4 , foursuperior , foursubscript ]}; | |||
key <AC11> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ m , M , percent , section , period , period ]}; | |||
key <BKSL> { type[group1] = "ONE_LEVEL" , [ ISO_Level3_Shift ]}; | |||
key <LFSH> { type[group1] = "ONE_LEVEL" , [ ISO_Level5_Shift ]}; | |||
key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ ecircumflex , Ecircumflex , EuroSign , sterling ]}; | |||
key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ h , H , equal , notequal ]}; | |||
key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ y , Y , asterisk , section ]}; | |||
key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ x , X , plus , plusminus ]}; | |||
key <AB04> { type[group1] = "FOUR_LEVEL" , [ period , colon , ellipsis , periodcentered ]}; | |||
key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ k , K , degree , section ]}; | |||
key <AB06> { type[group1] = "EIGHT_LEVEL" , [ apostrophe , question , exclam , approxeq , comma ]}; | |||
key <AB07> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ q , Q , quotedbl , section , plus , plusminus], overlay1=<END>}; | |||
key <AB08> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ g , G , underscore , section , minus , minus ], overlay1=<HOME>}; | |||
key <AB09> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ j , J , bracketleft , section , asterisk , asterisk ]}; | |||
key <AB10> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ f , F , bracketright , section , slash , slash ]}; | |||
key <RTSH> { type[group1] = "ALPHABETIC" , [ w , W ]}; | |||
key <LCTL> { type[group1] = "ONE_LEVEL" , [ Alt_L ]}; | |||
key <LWIN> { type[group1] = "ONE_LEVEL" , [ VoidSymbol ] , actions = [ SetControls(controls=Overlay1) ]}; | |||
key <LALT> { type[group1] = "ONE_LEVEL" , [ Shift_L ]}; | |||
key <SPCE> { type[group1] = "FOUR_LEVEL" , [ space , nobreakspace , asciitilde , nobreakspace ]}; | |||
key <RALT> { type[group1] = "ONE_LEVEL" , [ Shift_R ]}; | |||
key <MENU> { type[group1] = "ONE_LEVEL" , [ Escape ]}; | |||
key <RCTL> { type[group1] = "ONE_LEVEL" , [ Super_R ]}; | |||
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 | |||
}; | |||
</source> | |||
<source lang="bash"> | |||
partial default xkb_types "default" { | |||
// Definition for a key type used for the czech keymap, for instance. | |||
// Defines style a with four level shift. It is similar to three_level | |||
// type used for iso9995 but it lets the shift key behave "normally". | |||
virtual_modifiers LevelThree,ScrollLock,LevelFive; | |||
type "EIGHT_LEVEL" { | |||
modifiers = Shift+LevelThree+LevelFive; | |||
map[None] = Level1; | |||
map[Shift] = Level2; | |||
map[LevelThree] = Level3; | |||
map[Shift+LevelThree] = Level4; | |||
map[LevelFive] = Level5; | |||
map[Shift+LevelFive] = Level6; | |||
map[LevelThree+LevelFive] = Level7; | |||
map[Shift+LevelThree+LevelFive] = Level8; | |||
level_name[Level1] = "Base"; | |||
level_name[Level2] = "Shift"; | |||
level_name[Level3] = "Alt Base"; | |||
level_name[Level4] = "Shift Alt"; | |||
level_name[Level5] = "X"; | |||
level_name[Level6] = "X Shift"; | |||
level_name[Level7] = "X Alt Base"; | |||
level_name[Level8] = "X Shift Alt"; | |||
}; | |||
type "EIGHT_LEVEL_ALPHABETIC" { | |||
modifiers = Shift+Lock+LevelThree+LevelFive; | |||
map[None] = Level1; | |||
map[Shift] = Level2; | |||
map[Lock] = Level2; | |||
map[LevelThree] = Level3; | |||
map[Shift+LevelThree] = Level4; | |||
map[Lock+LevelThree] = Level4; | |||
map[Lock+Shift+LevelThree] = Level3; | |||
map[LevelFive] = Level5; | |||
map[Shift+LevelFive] = Level6; | |||
map[Lock+LevelFive] = Level6; | |||
map[LevelThree+LevelFive] = Level7; | |||
map[Shift+LevelThree+LevelFive] = Level8; | |||
map[Lock+LevelThree+LevelFive] = Level8; | |||
map[Lock+Shift+LevelThree+LevelFive] = Level7; | |||
level_name[Level1] = "Base"; | |||
level_name[Level2] = "Shift"; | |||
level_name[Level3] = "Alt Base"; | |||
level_name[Level4] = "Shift Alt"; | |||
level_name[Level5] = "X"; | |||
level_name[Level6] = "X Shift"; | |||
level_name[Level7] = "X Alt Base"; | |||
level_name[Level8] = "X Shift Alt"; | |||
}; | |||
// type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { | |||
// // Level5-Lock is implemented by using NumLock, because a real modifier | |||
// // is required. | |||
// | |||
// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; | |||
// | |||
// map[None] = Level1; | |||
// map[Shift] = Level2; | |||
// map[LevelThree] = Level3; | |||
// map[LevelThree+Shift] = Level4; | |||
// | |||
// map[LevelFive] = Level5; | |||
// map[LevelFive+Shift] = Level6; | |||
// map[LevelFive+LevelThree] = Level7; | |||
// map[LevelFive+LevelThree+Shift] = Level8; | |||
// | |||
// map[NumLock] = Level5; | |||
// map[NumLock+Shift] = Level6; | |||
// map[NumLock+LevelThree] = Level7; | |||
// map[NumLock+LevelThree+Shift] = Level8; | |||
// | |||
// map[NumLock+LevelFive] = Level1; | |||
// map[NumLock+LevelFive+Shift] = Level2; | |||
// map[NumLock+LevelFive+LevelThree] = Level3; | |||
// map[NumLock+LevelFive+LevelThree+Shift] = Level4; | |||
// | |||
// // Lock has no effect | |||
// map[Lock] = Level1; | |||
// map[Lock+Shift] = Level2; | |||
// map[Lock+LevelThree] = Level3; | |||
// map[Lock+LevelThree+Shift] = Level4; | |||
// | |||
// map[Lock+LevelFive] = Level5; | |||
// map[Lock+LevelFive+Shift] = Level6; | |||
// map[Lock+LevelFive+LevelThree] = Level7; | |||
// map[Lock+LevelFive+LevelThree+Shift] = Level8; | |||
// | |||
// map[Lock+NumLock] = Level5; | |||
// map[Lock+NumLock+Shift] = Level6; | |||
// map[Lock+NumLock+LevelThree] = Level7; | |||
// map[Lock+NumLock+LevelThree+Shift] = Level8; | |||
// | |||
// map[Lock+NumLock+LevelFive] = Level1; | |||
// map[Lock+NumLock+LevelFive+Shift] = Level2; | |||
// map[Lock+NumLock+LevelFive+LevelThree] = Level3; | |||
// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; | |||
// | |||
// preserve[LevelFive+Shift] = Shift; | |||
// preserve[NumLock+Shift] = Shift; | |||
// preserve[Lock+LevelFive+Shift] = Shift; | |||
// preserve[Lock+NumLock+Shift] = Shift; | |||
// | |||
// level_name[Level1] = "Base"; | |||
// level_name[Level2] = "Shift"; | |||
// level_name[Level3] = "Alt Base"; | |||
// level_name[Level4] = "Shift Alt"; | |||
// level_name[Level5] = "X"; | |||
// level_name[Level6] = "X Shift"; | |||
// level_name[Level7] = "X Alt Base"; | |||
// level_name[Level8] = "X Shift Alt"; | |||
// }; | |||
// | |||
// type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { | |||
// // Level5-Lock is implemented by using NumLock, because a real modifier | |||
// // is required. | |||
// | |||
// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; | |||
// | |||
// map[None] = Level1; | |||
// map[Shift] = Level2; | |||
// map[LevelThree] = Level3; | |||
// map[LevelThree+Shift] = Level4; | |||
// | |||
// map[LevelFive] = Level5; | |||
// map[LevelFive+Shift] = Level6; | |||
// map[LevelFive+LevelThree] = Level7; | |||
// map[LevelFive+LevelThree+Shift] = Level8; | |||
// | |||
// map[NumLock] = Level5; | |||
// map[NumLock+Shift] = Level6; | |||
// map[NumLock+LevelThree] = Level7; | |||
// map[NumLock+LevelThree+Shift] = Level8; | |||
// | |||
// map[NumLock+LevelFive] = Level1; | |||
// map[NumLock+LevelFive+Shift] = Level2; | |||
// map[NumLock+LevelFive+LevelThree] = Level3; | |||
// map[NumLock+LevelFive+LevelThree+Shift] = Level4; | |||
// | |||
// // Lock interchanges Level1 and Level2 | |||
// map[Lock] = Level2; | |||
// map[Lock+Shift] = Level1; | |||
// map[Lock+LevelThree] = Level3; | |||
// map[Lock+LevelThree+Shift] = Level4; | |||
// | |||
// map[Lock+LevelFive] = Level5; | |||
// map[Lock+LevelFive+Shift] = Level6; | |||
// map[Lock+LevelFive+LevelThree] = Level7; | |||
// map[Lock+LevelFive+LevelThree+Shift] = Level8; | |||
// | |||
// map[Lock+NumLock] = Level5; | |||
// map[Lock+NumLock+Shift] = Level6; | |||
// map[Lock+NumLock+LevelThree] = Level7; | |||
// map[Lock+NumLock+LevelThree+Shift] = Level8; | |||
// | |||
// map[Lock+NumLock+LevelFive] = Level2; | |||
// map[Lock+NumLock+LevelFive+Shift] = Level1; | |||
// map[Lock+NumLock+LevelFive+LevelThree] = Level4; | |||
// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3; | |||
// | |||
// preserve[LevelFive+Shift] = Shift; | |||
// preserve[NumLock+Shift] = Shift; | |||
// | |||
// level_name[Level1] = "Base"; | |||
// level_name[Level2] = "Shift"; | |||
// level_name[Level3] = "Alt Base"; | |||
// level_name[Level4] = "Shift Alt"; | |||
// level_name[Level5] = "X"; | |||
// level_name[Level6] = "X Shift"; | |||
// level_name[Level7] = "X Alt Base"; | |||
// level_name[Level8] = "X Shift Alt"; | |||
// }; | |||
type "EIGHT_LEVEL_SEMIALPHABETIC" { | |||
modifiers = Shift+Lock+LevelThree+LevelFive; | |||
map[None] = Level1; | |||
map[Shift] = Level2; | |||
map[Lock] = Level2; | |||
map[LevelThree] = Level3; | |||
map[Shift+LevelThree] = Level4; | |||
map[Lock+LevelThree] = Level3; | |||
map[Lock+Shift+LevelThree] = Level4; | |||
map[LevelFive] = Level5; | |||
map[Shift+LevelFive] = Level6; | |||
map[Lock+LevelFive] = Level5; | |||
map[Lock+Shift+LevelFive] = Level6; | |||
map[LevelThree+LevelFive] = Level7; | |||
map[Shift+LevelThree+LevelFive] = Level8; | |||
map[Lock+LevelThree+LevelFive] = Level7; | |||
map[Lock+Shift+LevelThree+LevelFive] = Level8; | |||
preserve[Lock+LevelThree] = Lock; | |||
preserve[Lock+Shift+LevelThree] = Lock; | |||
preserve[Lock+LevelFive] = Lock; | |||
preserve[Lock+Shift+LevelFive] = Lock; | |||
preserve[Lock+LevelThree+LevelFive] = Lock; | |||
preserve[Lock+Shift+LevelThree+LevelFive] = Lock; | |||
level_name[Level1] = "Base"; | |||
level_name[Level2] = "Shift"; | |||
level_name[Level3] = "Alt Base"; | |||
level_name[Level4] = "Shift Alt"; | |||
level_name[Level5] = "X"; | |||
level_name[Level6] = "X Shift"; | |||
level_name[Level7] = "X Alt Base"; | |||
level_name[Level8] = "X Shift Alt"; | |||
}; | |||
}; | |||
</source> | |||
==VIM (en cours de changements)== | |||
<b>J'ai remis le N et le S à leurs positions originales, cette section n'est donc pas à jour</b> | |||
Comme j'ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence: | |||
* flèches directionnelles: | |||
** c = ←, C = haut de l'écran | |||
** t = ↓, T = joindre | |||
** n = ↑, N = aide | |||
** r = →, R = bas de l'écran | |||
* remplacement des touches ctnr: | |||
** j<i>x</i> = aller au prochain caractère <i>x</i>, J<i>x</i> = aller au caractère <i>x</i> précédent | |||
** l<i>mov</i> = supprime le mouvement <i>mov</i> et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne) | |||
** h<i>x</i> = remplace le caractère sous le curseur par <i>x</i>, H = entre en mode remplacement | |||
** k = cherche la prochaine occurrence de <i>pattern</i> (après /<i>pattern</i>), K = cherche l'occurrence précédente | |||
Au passage j'ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d'autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0). | |||
Mon fichier ~/.vimrc.bepo est alors le suivant: | |||
<source>" I. Les commandes de base | |||
" azerty bépo signification (minuscule) signification (majuscule) | |||
" ---------------------------------------------------------------------------------- | |||
" H C flèche gauche début d'écran | |||
" J T flèche bas fusionne deux lignes | |||
" K N flèche haut lance :!man sur le mot courant | |||
" L R flèche droite fin d'écran | |||
" C L supprime <mvt> puis insert supprime la fin de ligne puis insert | |||
" T J va à l'emplacement avant le <x> suivant va après le <x> précédent | |||
" N K relance / et ? relance / et ? dans l'autre sens | |||
" R H remplace le caractère sous le curseur mode remplacement | |||
" W É mouvement jusqu'au prochain mot jusqu'au prochain MOT | |||
" II. La gestion des fenêtres | |||
" azerty bépo signification (minuscule) signification (majuscule) mnémo (bépo) | |||
" ---------------------------------------------------------------------------------------------------------- | |||
" <C-W> à préfixe pour la gestion des fenêtres, à gauche sur le clavier | |||
" <C-W> w préfixe pour la gestion des fenêtres, à droite sur le clavier | |||
" <C-W><C-W> À bascule vers la fenêtre précédente (cycle sur toutes les fenêtres) | |||
" <C-W>p W bascule vers la fenêtre précédente (alterne entre 2) | |||
" <C-W>h àc va à la fenêtre à gauche déplace la fenêtre à l'extrême gauche | |||
" <C-W>j àt va à la fenêtre en bas déplace la fenêtre à l'extrême bas | |||
" <C-W>k àn va à la fenêtre en haut déplace la fenêtre à l'extrême haut | |||
" <C-W>l àr va à la fenêtre à droite déplace la fenêtre à l'extrême droite | |||
" <C-W>c we ferme la fenêtre courante (rien) exit | |||
" <C-W>t wh va à la fenêtre supérieure déplace la fenêtre vers un nouveau tab haut | |||
" <C-W>n ww ouvre une nouvelle fenêtre (rien) window | |||
" <C-W>r wt/wn déplace la fenêtre un cran vers le bas/vers le haut t/n (flèches) | |||
" :vsplit<CR> à<CR> divise la fenêtre verticalement | |||
" :split<CR> à<SPACE>divise la fenêtre horizontalement | |||
" Remappage d'une touche en azerty: noremap bépo azerty | |||
" remappage de h, H | |||
noremap c h | |||
noremap C H | |||
" remappage de j, gj, zj, J, gJ | |||
noremap t j | |||
noremap gt gj | |||
noremap zn zj | |||
noremap T J | |||
noremap gT gJ | |||
" remappage de k, gk, zk, K | |||
noremap n k | |||
noremap gn gk | |||
noremap zt zk | |||
noremap N K | |||
" remappage de l, L | |||
noremap r l | |||
noremap R L | |||
" remappage de c, C | |||
noremap l c | |||
noremap L C | |||
" remappage de t, T | |||
noremap j t | |||
noremap J T | |||
" remappage de n, N | |||
noremap k n | |||
noremap K N | |||
" remappage de r, R | |||
noremap h r | |||
noremap H R | |||
" remappage de w, W, aw, aW, iw, iW (les text objects du mot courant) | |||
noremap é w | |||
noremap É W | |||
onoremap aé aw | |||
onoremap aÉ aW | |||
onoremap ié iw | |||
onoremap iÉ iW | |||
" Navigation des onglets | |||
" onglet précédant / suivant | |||
noremap gb gT | |||
noremap gé gt | |||
" premier / dernier onglet | |||
noremap gB :exe "silent! tabfirst"<CR> | |||
noremap gÉ :exe "silent! tablast"<CR> | |||
"Le gestionnaire des fenêtres | |||
" définition des préfixes et commandes fréquentes | |||
noremap à <C-w> | |||
noremap À <C-w><C-w> | |||
noremap w <C-w> | |||
noremap W <C-w>p | |||
noremap à<SPACE> :vsplit<CR> | |||
noremap à<CR> :split<CR> | |||
" pour utiliser ctnr comme hjkl | |||
" même si j est mappé sur t et à est mappé sur <C-w>, | |||
" il faut quand même remapper àt sur <C-w>j | |||
noremap àc <C-w>h | |||
noremap àC <C-w>H | |||
noremap àt <C-w>j | |||
noremap àT <C-w>J | |||
noremap àn <C-w>k | |||
noremap àN <C-w>K | |||
noremap àr <C-w>l | |||
noremap àR <C-w>L | |||
" réattribue ce qui était attribué à ctnr | |||
noremap we <C-w>c | |||
noremap wh <C-w>t | |||
noremap wH <C-w>T | |||
noremap ww <C-w>n | |||
noremap wt <C-w>r | |||
noremap wn <C-w>R | |||
" Remappage personnel: | |||
" ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne | |||
" (plus accessibles que 0 et ^ sur mon clavier) | |||
" mémo: ^ est l'accent de Ê | |||
noremap ê 0 | |||
noremap Ê ^ | |||
" idem pour le début de la ligne sur l'écran | |||
noremap gê g0 | |||
noremap gÊ g^ | |||
" ç est remappé sur ` (utilisé pour atteindre un mark) | |||
" mnémo: ç est sur la même touche que @ (lance une macro) | |||
noremap ç ` | |||
</source> | |||
==Gmail== | |||
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c'est pourquoi il faut l'activer manuellement dans "roue crantée > paramètres > labos". Le mieux, c'est qu'on peut redéfinir ses raccourcis claviers dans le menu "roue crantée > paramètres > raccourcis claviers". Personnellement j'ai désactivé les raccourcis correspondant aux actions que je n'utilise jamais et j'ai associé les raccourcis suivants (l'idéal est de choisir des moyens mnémotechniques pour les retenir): | |||
<source>c va au message précédent dans une discussion | |||
t va à la conversation suivante dans un dossier | |||
n va à la conversation précédente dans un dossier | |||
r va au message suivant dans une discussion | |||
x sélectionne la discussion (coche la case) | |||
d supprime (Delete) | |||
o Ouvrir le message sélectionné | |||
m/M écrire un nouveau Message | |||
u/U annuler la dernière action (Undo)/mettre à jour la conversation (Update) | |||
g retour à la liste des conversations (unGo ou Gmail) | |||
,/; marquer comme lu/non lu | |||
p/P réPondre/réPondre dans une nouvelle fenêtre | |||
a/A répondre à tous (All)/répondre à tous dans une nouvelle fenêtre | |||
f/F transférer (Forward)/transférer dans une nouvelle fenêtre | |||
l ouvre le menu « appliquer le libellé » | |||
e archiver | |||
i accède à la boite de réception (Inbox) | |||
É accède aux messages envoyÉs | |||
B accède aux Brouillons | |||
C accède aux Contacts | |||
T accède à Tous les messages | |||
/ sélectionne la barre de recherche | |||
L cherche pour un label | |||
? afficher les raccourcis clavier</source> | |||
==Autour du clavier== | |||
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d'apprentissage/d'adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards. | |||
Pour plus tard: | |||
* changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m'a recommandé récemment [http://i3wm.org/ i3] que j'essayerais bien. D'autres gestionnaires de fenêtre qui ont l'air intéressant: wmii, scrotwm. | |||
* passer à un clavier [http://www.tipro.net/ecatalogue/free/ Tipro]. Avec son clavier orthogonal entièrement personnalisable sur 8 lignes, je pourrai y placer mes modificateurs et touches spéciales (MAJ, CTRL, ALT, ALTGR, ESC, TAB, …) où je veux. :-) | |||
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l'air cool à bidouiller aussi | |||
==Liens utiles et tout ce qui n'a pas sa place ailleurs== | |||
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr | |||
http://www.lexique.org/listes/liste_bigrammes.txt des statistiques sur les bigrammes de la langue française, utile si on veut modifier le bépo original | |||
Je suis en dualboot Windows 7/Linux et pour l'instant Windows est resté sagement en azerty. Un jour il faudrait que j'explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows. | |||
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm | |||
<source>╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬ | |||
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼</source> | |||
Pour s'habituer au pavé numérique, on peut s'exercer en recopiant les décimales de pi. Voici ses 2400 premières décimales, trouvées sur http://trucsmaths.free.fr/images/pi/pi2400.htm | |||
<source>3,141 592 653 589 793 238 462 643 383 279 502 884 197 169 399 375 105 820 974 944 592 307 816 406 286 208 998 628 034 825 342 117 067 982 148 086 513 282 306 647 093 844 609 550 582 231 725 359 408 128 481 117 450 284 102 701 938 521 105 559 644 622 948 954 930 381 964 428 810 975 665 933 446 128 475 648 233 786 783 165 271 201 909 145 648 566 923 460 348 610 454 326 648 213 393 607 260 249 141 273 724 587 006 606 315 588 174 881 520 920 962 829 254 091 715 364 367 892 590 360 011 330 530 548 820 466 521 384 146 951 941 511 609 433 057 270 365 759 591 953 092 186 117 381 932 611 793 105 118 548 074 462 379 962 749 567 351 885 752 724 891 227 938 183 011 949 129 833 673 362 440 656 643 086 021 394 946 395 224 737 190 702 179 860 943 702 770 539 217 176 293 176 752 384 674 818 467 669 405 132 000 568 127 145 263 560 827 785 771 342 757 789 609 173 637 178 721 468 440 901 224 953 430 146 549 585 371 050 792 279 689 258 923 542 019 956 112 129 021 960 864 034 418 159 813 629 774 771 309 960 518 707 211 349 999 998 372 978 049 951 059 731 732 816 096 318 595 024 459 455 346 908 302 642 522 308 253 344 685 035 261 931 188 171 010 003 137 838 752 886 587 533 208 381 420 617 177 669 147 303 598 253 490 428 755 468 731 159 562 863 882 353 787 593 751 957 781 857 780 532 171 226 806 613 001 927 876 611 195 909 216 420 198 938 095 257 201 065 485 863 278 865 936 153 381 827 968 230 301 952 035 301 852 968 995 773 622 599 413 891 249 721 775 283 479 131 515 574 857 242 454 150 695 950 829 533 116 861 727 855 889 075 098 381 754 637 464 939 319 255 060 400 927 701 671 139 009 848 824 012 858 361 603 563 707 660 104 710 181 942 955 596 198 946 767 837 449 448 255 379 774 726 847 104 047 534 646 208 046 684 259 069 491 293 313 677 028 989 152 104 752 162 056 966 024 058 038 150 193 511 253 382 430 035 587 640 247 496 473 263 914 199 272 604 269 922 796 782 354 781 636 009 341 721 641 219 924 586 315 030 286 182 974 555 706 749 838 505 494 588 586 926 995 690 927 210 797 509 302 955 321 165 344 987 202 755 960 236 480 665 499 119 881 834 797 753 566 369 807 426 542 527 862 551 818 417 574 672 890 977 772 793 800 081 647 060 016 145 249 192 173 217 214 772 350 141 441 973 568 548 161 361 157 352 552 133 475 741 849 468 438 523 323 907 394 143 334 547 762 416 862 518 983 569 485 562 099 219 222 184 272 550 254 256 887 671 790 494 601 653 466 804 988 627 232 791 786 085 784 383 827 967 976 681 454 100 953 883 786 360 950 680 064 225 125 205 117 392 984 896 084 128 488 626 945 604 241 965 285 022 210 661 186 306 744 278 622 039 194 945 047 123 713 786 960 956 364 371 917 287 467 764 657 573 962 413 890 865 832 645 995 813 390 478 027 590 099 465 764 078 951 269 468 398 352 595 709 825 822 620 522 489 407 726 719 478 268 482 601 476 990 902 640 136 394 437 455 305 068 203 496 252 451 749 399 651 431 429 809 190 659 250 937 221 696 461 515 709 858 387 410 597 885 959 772 975 498 930 161 753 928 468 138 268 683 868 942 774 155 991 855 925 245 953 959 431 049 972 524 680 845 987 273 644 695 848 653 836 736 222 626 099 124 608 051 243 884 390 451 244 136 549 762 780 797 715 691 435 997 700 129 616 089 441 694 868 555 848 406 353 422 072 225 828 488 648 158 456 028 50 </source> | |||
Deux claviers vierges: un large et un étroit | |||
<source>┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝ | |||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║ | |||
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
║ ║ ║ ║ ║ ║ ║ ║ ║ | |||
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝</source> |
Version du 12 mai 2014 à 17:15
Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d'ici quelques temps :-) .
Cette page n'est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification
Disposition complète, encore en cours de changements
level 1-2 : lettre et majuscule
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles
level 5 (level5, seulement à droite): pavé numérique
level 5 + maj : chiffres en exposant
level 5 + altgr: chiffres en indice (plus difficiles à saisir)
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗
│ CAPS │ │ │ │ │ │ SHUT │ │ │ │ │ │ ║ ║
│ LOCK │ ALTGR │ META │ TAB │ CTRL │ │ DOWN │ │ CTRL │ ALT │ INSERT │ │ ║ DELETE ║
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║ ║ O Œ │ É │ P │ À │ È │ ¨ ` ≠ │ V │ D │ L ≤ │ B ≥ │ Z │ Ç ║ | ║
║ ←—— ║ o œ │ é & │ p | │ à │ è ` │ ^ ´ = │ v ^ 5 │ d $ 6 │ l < 7 │ b > 8 │ z # 9 │ ç @ % ║ ←—' ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗ ║
║ ║ A Æ │ U Ù │ I « │ E » │ ; │ C │ T ~ │ N – │ R │ S │ M │ ║ ║
║ ALTGR ║ a æ │ u ù │ i ( │ e ) │ , — │ c \ 0 │ t / 1 │ n - 2 │ r { 3 │ s } 4 │ m % . │ ALTGR ║ ║
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣
║ ║ Ê £ │ H ≠ │ Y │ X ± │ : · │ K │ ? ≈ │ Q ± │ G │ J │ F ║ W ║
║ Level5 ║ ê € │ h = │ y * │ x + │ . … │ k ° │ ' ! , │ q " + │ g _ - │ j [ * │ f ] / ║ w ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║ ║ ║ ║ ║ [esp insecable] [esp insecable] ║ ║ ║ ║
║ ALT ║ ║ OVERLAY║ MAJ ║ [space] ~ ║ MAJ ║ ESC ║ META ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝
carte overlay
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │PgDw│PgUp│ │ │ │ ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║CTRL│ALT │META│MAJ │ │ ← │ ↓ │ ↑ │ → │ │ │ ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │End │Home│ │ ║ ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║OVRL║ ║ ║ ║ ║ ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║ ║ O Ö │ │ │ À Å │ │ │ │ │ │ │ │ ║ ║
║ ║ o ö │ │ │ à å │ │ │ │ │ │ │ │ ║ ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗ ║
║ ║ A Ä │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ a ä │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n'envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d'un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu'on déplace les modificateurs, il arrive que certaines combinaisons de touche s'avèrent impossibles (il faut donc trouver une alternative propre au clavier). Sur Linux, xev affiche dans la console les events envoyés par le clavier et permet de détecter une combinaison de touche interdite.
Pour l'utilisation de l'overlay, attention: toujours relacher la touche pressée avant la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.
Changements à essayer
- mettre Space+AltGr comme espace insécable.
- placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj
- ajouter µ sur m+maj+altgr
- swap t<->n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l'index… (+ l'auriculaire droit a énormément de travail puisqu'il a 8 touches à gérer)
- swap è<->ê: c'est un détail, mais le è est légèrement plus fréquent en français que le ê, autant le mettre donc sur une touche plus accessible. (Ceci casse la compatibilité avec les claviers à 104 touches, où le ê se tape ^e.)
- déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J'utilise ces touches une fois toutes les 3 lunes (et je n'utilise jamais les [CTRL]), ça devrait me libérer de la place sur ma ligne des chiffres. Peut-être que je pourrais les remplacer par des caractères peu fréquents, ou trouver un meilleur endroit pour mon Level5? À tester alors, pour faciliter l'alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):
- êÊ€£ sur [2]
- Level5 sur [T]
- Esc sur [Maj] gauche
- Swap PgDw <-> Home
- Pavé numérique à tester:
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║ ║ │ │ │ │ │ │ =│ 6│ 7│ 8│ 9│ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ │ │ │ │ │ 0│ 1│ 2│ 3│ 4│ 5│ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║ ║ │ │ │ │ │ │ │ ±│ │ (│ )║ : ║
║ ║ │ │ │ │ │ │ ,│ +│ -│ *│ /║ . ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
- Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │PgDw│PgUp│ │ │ │ ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║CTRL│ALT │META│MAJ │ │ ← │ ↓ │ ↑ │ → │ F2 │ F4 │ ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │End │Home│ │ ║ ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║OVRL║ ║ TAB ║ ║ ║ ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
- (changement majeur) À l'instar de l'Arensito, monter toutes les touches d'une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Ça donnerait de la place pour (entre autres) remapper Enter et placer Level5 sous mon pouce gauche.
Caractéristiques principales
- rendre AltGr symétrique pour pouvoir accéder facilement aux 4 levels de toutes les touches et ainsi rendre les symboles courants en programmation plus accessibles.
- ne pas utiliser la ligne des chiffres que je juge trop inaccessible.
- déplacer les modificateurs (l'idée des majuscules sous les pouces et des ctrl sur la ligne des chiffres vient de Robin). La combinaison maj+altgr s'en voit facilitée des deux côtés.
- placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l'index et de l'auriculaire.
- un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.
- les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation
- les touches spéciales placées sur l'overlay sont fréquemment utilisées sur Linux Mint pour passer d'un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte
- altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d'autres vimités
J'ai également modifié l'emplacement initial de certaines touches:
- Le B: Robin recommande d'intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s'en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.
- Le H : je n'aime vraiment pas la place du H dans le bépo original à cause du digramme ch. Vue la place peu privilégiée du H et la fréquence du J un swap H<->J me semble adéquat.
- Le O : ma méthode de saisie (voir plus bas) encourage l'utilisation des pouces comme pivots vers l'extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H<->O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l'intérieur). Dans l'ensemble, ça compense le digramme he concentré sur un seul doigt.
- déplacement du ! : c'est une exception de mettre un signe de ponctuation en altgr, mais le '^' est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu'avec les accents morts.
- Le S et le N : pour faciliter les trigrammes des et men.
- swap à<->h: parce que le mot « déjà » qui revient souvent a un schéma bizarre dans mes doigts, tout comme des phrases comme « as-tu pensé à […] » où l'annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:
- le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *
- le h est plus fréquent que le à (11298 versus 7449 sur la page des Fréquence_des_caractères) et je n'aime vraiment pas les touches au-dessus des index
- au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d'après la fréquence des digrammes).
Justification de mes changements par rapport au bépo original
Avertissement: ne modifiez pas votre disposition bépo :D
"Le principal problème de Bépo étant qu’il évolue constamment. Un jour, faudrait leur dire qu’un clavier optimisé à 99% et disponible maintenant est préférable qu’un clavier qui change tout le temps pour être un jour optimisé à 100% alors que bon, de toutes façons, à partir du moment où on demande l’avis des gens, ils seront forcément pas contents." (Ploum)
Avant d'expliquer pourquoi j'ai changé quelle touche de place, il faut que je vous donne ma propre carte d'accessibilité (= la préférence que j'accorde personnellement à chaque touche).
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ 3 │ 3 │ │ │ │ 3 │ 3 │ │ │ ║ ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ 2 │ 1 │ 1 │ 4 │ 5 │ 6 │ 4 │ 1 │ 1 │ 2 │ 3 │ 3 ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ 0 │ 0 │ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 0 │ 0 │ 1 │ 3 ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ 1 │ 4 │ 2 │ 2 │ 1 │ 5 │ 1 │ 2 │ 2 │ 4 │ 1 ║ ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
(Plus une touche a une valeur élevée, moins je la trouve accessible.)
(à finir…)
Utilisation recommandée
- saisie des caractères proche de la variante A (idée: utiliser les index comme pivots pour les lignes supérieures et "tirer les mains vers l'extérieur" pour la ligne inférieure)
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ 1 │ 1 │ 1 │ │ 1 │ │ 1 │ 1 │ │ 1 │ │ │ ║ ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║ ║ 1 │ │ 1 │ │ │ 1 │ 1 │ │ 1 │ │ │ ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ 1 │ │ 1 │ │ │ 1 │ 1 │ │ 1 │ │ │ ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║ ║ 1 │ │ 1 │ │ │ │ 1 │ 1 │ │ 1 │ ║ ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
- usage du caps lock: en fait, cette touche est très utile! Par exemple, pour écrire LASER, je tape: <caps lock>laser<caps lock>. Pas besoin de faire danser les auriculaires sur maj gauche et maj droit.
Apprentissage
(à réécrire)
Installation (Linux)
- Copier le code suivant à la fin du fichier
/usr/share/X11/xkb/symbols/fr
(les touches non-affectées sont toutes affectées à §). - Remplacer le fichier
xkb/types/level5
par celui proposé ici (dans mes souvenirs avec le type "EIGHT_LEVEL_SEMIALPHABETIC", "CAPS_LOCK + Level5" agit comme "Shift + Level5" alors que "CAPS_LOCK" ne devrait pas avoir d'influence sur le pavé numérique) - (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j'ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)
- Pour activer la disposition, lancer la commande
setxkbmap fr bepo2
- Pour activer la disposition par défaut, modifier le fichier
xorg.conf
(locate xorg.conf
pour le trouver) ou/etc/default/keyboard
sur les dernières versions d'Ubuntu/Linux Mint avec les lignes
XKBLAYOUT="fr"
XKBVARIANT="bepo2"
- Après chaque modification ultérieure, lancer commande
sudo sudo rm /var/lib/xkb/*
(copier préalablement le contenu du dossier/var/lib/xkb/
par sécurité...). Pour tester la validité des modifications, lancerxkbcomp /usr/share/X11/xkb/symbols/fr
(s'il n'y a pas de sortie, c'est que c'est bon).
// a ajouter dans xkb/symbols/french
partial alphanumeric_keys
xkb_symbols "bepo2" {
include "keypad(oss)" // touches standard
name[Group1]= "French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)";
key <TLDE> { type[group1] = "ONE_LEVEL", [ Caps_Lock ]};
key <AE01> { type[group1] = "ONE_LEVEL", [ ISO_Level3_Shift ]};
key <AE02> { type[group1] = "ONE_LEVEL", [ Super_L ]};
key <AE03> { type[group1] = "TWO_LEVEL", [ Tab , ISO_Left_Tab ]};
key <AE04> { type[group1] = "ONE_LEVEL", [ Control_L ]};
key <AE05> { type[group1] = "ONE_LEVEL", [ section ]};
key <AE06> { type[group1] = "ONE_LEVEL", [ Terminate_Server ]};
key <AE07> { type[group1] = "ONE_LEVEL", [ section ]};
key <AE08> { type[group1] = "ONE_LEVEL", [ Control_R ]};
key <AE09> { type[group1] = "ONE_LEVEL", [ Alt_L ]};
key <AE10> { type[group1] = "ONE_LEVEL", [ Insert ]};
key <AE11> { type[group1] = "ONE_LEVEL", [ section ]};
key <AE12> { type[group1] = "ONE_LEVEL", [ Backspace ]};
key <BKSP> { type[group1] = "ONE_LEVEL", [ Delete ]};
key <TAB> { type[group1] = "ONE_LEVEL" , [ BackSpace ]};
// key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ o , O , oe , OE ]};
key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ o , O , odiaeresis , Odiaeresis ]};
key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ eacute , Eacute , ampersand , section ]};
key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ p , P , bar , section ]};
key <AD04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ agrave , Agrave , aring , Aring ]};
key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ egrave , Egrave , grave , section ]};
key <AD06> { type[group1] = "EIGHT_LEVEL" , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave , equal, notequal ]};
key <AD07> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ v , V , asciicircum, section , 5, fivesuperior , fivesubscript ], overlay1=<PGDN>};
key <AD08> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ d , D , dollar , section , 6, sixsuperior , sixsubscript ], overlay1=<PGUP>};
key <AD09> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ l , L , less , lessthanequal , 7, sevensuperior, sevensubscript ]};
key <AD10> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ b , B , greater , greaterthanequal, 8, eightsuperior, eightsubscript ]};
key <AD11> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ z , Z , numbersign , section , 9, ninesuperior , ninesubscript ]};
key <AD12> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ ccedilla , Ccedilla , at , section , percent, percent ]};
key <RTRN> { type[group1] = "ONE_LEVEL" , [ Return ]};
key <CAPS> { type[group1] = "ONE_LEVEL" , [ ISO_Level3_Shift ]};
// key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC" , [ a , A , ae , AE ], overlay1=<AE04>};
key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC" , [ a , A , adiaeresis , Adiaeresis ], overlay1=<AE04>};
key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC" , [ u , U , ugrave , Ugrave ], overlay1=<LCTL>};
key <AC03> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ i , I , parenleft , guillemotleft , parenleft , parenleft , parenleft ], overlay1=<RCTL>};
key <AC04> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ e , E , parenright , guillemotright , parenright, parenright, parenright ], overlay1=<LALT>};
key <AC05> { type[group1] = "FOUR_LEVEL" , [ comma , semicolon , emdash , section ]};
key <AC06> { type[group1] = "EIGHT_LEVEL_ALPHABETIC" , [ c , C , backslash , section , 0 , zerosuperior , zerosubscript ], overlay1=<LEFT>};
key <AC07> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ t , T , slash , dead_tilde , 1 , onesuperior , onesubscript ], overlay1=<DOWN>};
key <AC08> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ n , N , minus , endash , 2 , twosuperior , twosubscript ], overlay1=<UP>};
key <AC09> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ r , R , braceleft , section , 3 , threesuperior, threesubscript], overlay1=<RGHT>};
key <AC10> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ s , S , braceright , section , 4 , foursuperior , foursubscript ]};
key <AC11> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ m , M , percent , section , period , period ]};
key <BKSL> { type[group1] = "ONE_LEVEL" , [ ISO_Level3_Shift ]};
key <LFSH> { type[group1] = "ONE_LEVEL" , [ ISO_Level5_Shift ]};
key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ ecircumflex , Ecircumflex , EuroSign , sterling ]};
key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ h , H , equal , notequal ]};
key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ y , Y , asterisk , section ]};
key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ x , X , plus , plusminus ]};
key <AB04> { type[group1] = "FOUR_LEVEL" , [ period , colon , ellipsis , periodcentered ]};
key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC" , [ k , K , degree , section ]};
key <AB06> { type[group1] = "EIGHT_LEVEL" , [ apostrophe , question , exclam , approxeq , comma ]};
key <AB07> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ q , Q , quotedbl , section , plus , plusminus], overlay1=<END>};
key <AB08> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ g , G , underscore , section , minus , minus ], overlay1=<HOME>};
key <AB09> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ j , J , bracketleft , section , asterisk , asterisk ]};
key <AB10> { type[group1] = "EIGHT_LEVEL_SEMIALPHABETIC", [ f , F , bracketright , section , slash , slash ]};
key <RTSH> { type[group1] = "ALPHABETIC" , [ w , W ]};
key <LCTL> { type[group1] = "ONE_LEVEL" , [ Alt_L ]};
key <LWIN> { type[group1] = "ONE_LEVEL" , [ VoidSymbol ] , actions = [ SetControls(controls=Overlay1) ]};
key <LALT> { type[group1] = "ONE_LEVEL" , [ Shift_L ]};
key <SPCE> { type[group1] = "FOUR_LEVEL" , [ space , nobreakspace , asciitilde , nobreakspace ]};
key <RALT> { type[group1] = "ONE_LEVEL" , [ Shift_R ]};
key <MENU> { type[group1] = "ONE_LEVEL" , [ Escape ]};
key <RCTL> { type[group1] = "ONE_LEVEL" , [ Super_R ]};
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 default xkb_types "default" {
// Definition for a key type used for the czech keymap, for instance.
// Defines style a with four level shift. It is similar to three_level
// type used for iso9995 but it lets the shift key behave "normally".
virtual_modifiers LevelThree,ScrollLock,LevelFive;
type "EIGHT_LEVEL" {
modifiers = Shift+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_ALPHABETIC" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Lock+LevelThree] = Level4;
map[Lock+Shift+LevelThree] = Level3;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[Lock+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
map[Lock+LevelThree+LevelFive] = Level8;
map[Lock+Shift+LevelThree+LevelFive] = Level7;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
// type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
// // Level5-Lock is implemented by using NumLock, because a real modifier
// // is required.
//
// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
//
// map[None] = Level1;
// map[Shift] = Level2;
// map[LevelThree] = Level3;
// map[LevelThree+Shift] = Level4;
//
// map[LevelFive] = Level5;
// map[LevelFive+Shift] = Level6;
// map[LevelFive+LevelThree] = Level7;
// map[LevelFive+LevelThree+Shift] = Level8;
//
// map[NumLock] = Level5;
// map[NumLock+Shift] = Level6;
// map[NumLock+LevelThree] = Level7;
// map[NumLock+LevelThree+Shift] = Level8;
//
// map[NumLock+LevelFive] = Level1;
// map[NumLock+LevelFive+Shift] = Level2;
// map[NumLock+LevelFive+LevelThree] = Level3;
// map[NumLock+LevelFive+LevelThree+Shift] = Level4;
//
// // Lock has no effect
// map[Lock] = Level1;
// map[Lock+Shift] = Level2;
// map[Lock+LevelThree] = Level3;
// map[Lock+LevelThree+Shift] = Level4;
//
// map[Lock+LevelFive] = Level5;
// map[Lock+LevelFive+Shift] = Level6;
// map[Lock+LevelFive+LevelThree] = Level7;
// map[Lock+LevelFive+LevelThree+Shift] = Level8;
//
// map[Lock+NumLock] = Level5;
// map[Lock+NumLock+Shift] = Level6;
// map[Lock+NumLock+LevelThree] = Level7;
// map[Lock+NumLock+LevelThree+Shift] = Level8;
//
// map[Lock+NumLock+LevelFive] = Level1;
// map[Lock+NumLock+LevelFive+Shift] = Level2;
// map[Lock+NumLock+LevelFive+LevelThree] = Level3;
// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
//
// preserve[LevelFive+Shift] = Shift;
// preserve[NumLock+Shift] = Shift;
// preserve[Lock+LevelFive+Shift] = Shift;
// preserve[Lock+NumLock+Shift] = Shift;
//
// level_name[Level1] = "Base";
// level_name[Level2] = "Shift";
// level_name[Level3] = "Alt Base";
// level_name[Level4] = "Shift Alt";
// level_name[Level5] = "X";
// level_name[Level6] = "X Shift";
// level_name[Level7] = "X Alt Base";
// level_name[Level8] = "X Shift Alt";
// };
//
// type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
// // Level5-Lock is implemented by using NumLock, because a real modifier
// // is required.
//
// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
//
// map[None] = Level1;
// map[Shift] = Level2;
// map[LevelThree] = Level3;
// map[LevelThree+Shift] = Level4;
//
// map[LevelFive] = Level5;
// map[LevelFive+Shift] = Level6;
// map[LevelFive+LevelThree] = Level7;
// map[LevelFive+LevelThree+Shift] = Level8;
//
// map[NumLock] = Level5;
// map[NumLock+Shift] = Level6;
// map[NumLock+LevelThree] = Level7;
// map[NumLock+LevelThree+Shift] = Level8;
//
// map[NumLock+LevelFive] = Level1;
// map[NumLock+LevelFive+Shift] = Level2;
// map[NumLock+LevelFive+LevelThree] = Level3;
// map[NumLock+LevelFive+LevelThree+Shift] = Level4;
//
// // Lock interchanges Level1 and Level2
// map[Lock] = Level2;
// map[Lock+Shift] = Level1;
// map[Lock+LevelThree] = Level3;
// map[Lock+LevelThree+Shift] = Level4;
//
// map[Lock+LevelFive] = Level5;
// map[Lock+LevelFive+Shift] = Level6;
// map[Lock+LevelFive+LevelThree] = Level7;
// map[Lock+LevelFive+LevelThree+Shift] = Level8;
//
// map[Lock+NumLock] = Level5;
// map[Lock+NumLock+Shift] = Level6;
// map[Lock+NumLock+LevelThree] = Level7;
// map[Lock+NumLock+LevelThree+Shift] = Level8;
//
// map[Lock+NumLock+LevelFive] = Level2;
// map[Lock+NumLock+LevelFive+Shift] = Level1;
// map[Lock+NumLock+LevelFive+LevelThree] = Level4;
// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
//
// preserve[LevelFive+Shift] = Shift;
// preserve[NumLock+Shift] = Shift;
//
// level_name[Level1] = "Base";
// level_name[Level2] = "Shift";
// level_name[Level3] = "Alt Base";
// level_name[Level4] = "Shift Alt";
// level_name[Level5] = "X";
// level_name[Level6] = "X Shift";
// level_name[Level7] = "X Alt Base";
// level_name[Level8] = "X Shift Alt";
// };
type "EIGHT_LEVEL_SEMIALPHABETIC" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Lock+LevelThree] = Level3;
map[Lock+Shift+LevelThree] = Level4;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[Lock+LevelFive] = Level5;
map[Lock+Shift+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
map[Lock+LevelThree+LevelFive] = Level7;
map[Lock+Shift+LevelThree+LevelFive] = Level8;
preserve[Lock+LevelThree] = Lock;
preserve[Lock+Shift+LevelThree] = Lock;
preserve[Lock+LevelFive] = Lock;
preserve[Lock+Shift+LevelFive] = Lock;
preserve[Lock+LevelThree+LevelFive] = Lock;
preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
level_name[Level5] = "X";
level_name[Level6] = "X Shift";
level_name[Level7] = "X Alt Base";
level_name[Level8] = "X Shift Alt";
};
};
VIM (en cours de changements)
J'ai remis le N et le S à leurs positions originales, cette section n'est donc pas à jour
Comme j'ai interverti le N et le S, le fichier de configuration de VIM doit être modifié en conséquence:
- flèches directionnelles:
- c = ←, C = haut de l'écran
- t = ↓, T = joindre
- n = ↑, N = aide
- r = →, R = bas de l'écran
- remplacement des touches ctnr:
- jx = aller au prochain caractère x, Jx = aller au caractère x précédent
- lmov = supprime le mouvement mov et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)
- hx = remplace le caractère sous le curseur par x, H = entre en mode remplacement
- k = cherche la prochaine occurrence de pattern (après /pattern), K = cherche l'occurrence précédente
Au passage j'ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d'autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).
Mon fichier ~/.vimrc.bepo est alors le suivant:
" I. Les commandes de base
" azerty bépo signification (minuscule) signification (majuscule)
" ----------------------------------------------------------------------------------
" H C flèche gauche début d'écran
" J T flèche bas fusionne deux lignes
" K N flèche haut lance :!man sur le mot courant
" L R flèche droite fin d'écran
" C L supprime <mvt> puis insert supprime la fin de ligne puis insert
" T J va à l'emplacement avant le <x> suivant va après le <x> précédent
" N K relance / et ? relance / et ? dans l'autre sens
" R H remplace le caractère sous le curseur mode remplacement
" W É mouvement jusqu'au prochain mot jusqu'au prochain MOT
" II. La gestion des fenêtres
" azerty bépo signification (minuscule) signification (majuscule) mnémo (bépo)
" ----------------------------------------------------------------------------------------------------------
" <C-W> à préfixe pour la gestion des fenêtres, à gauche sur le clavier
" <C-W> w préfixe pour la gestion des fenêtres, à droite sur le clavier
" <C-W><C-W> À bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)
" <C-W>p W bascule vers la fenêtre précédente (alterne entre 2)
" <C-W>h àc va à la fenêtre à gauche déplace la fenêtre à l'extrême gauche
" <C-W>j àt va à la fenêtre en bas déplace la fenêtre à l'extrême bas
" <C-W>k àn va à la fenêtre en haut déplace la fenêtre à l'extrême haut
" <C-W>l àr va à la fenêtre à droite déplace la fenêtre à l'extrême droite
" <C-W>c we ferme la fenêtre courante (rien) exit
" <C-W>t wh va à la fenêtre supérieure déplace la fenêtre vers un nouveau tab haut
" <C-W>n ww ouvre une nouvelle fenêtre (rien) window
" <C-W>r wt/wn déplace la fenêtre un cran vers le bas/vers le haut t/n (flèches)
" :vsplit<CR> à<CR> divise la fenêtre verticalement
" :split<CR> à<SPACE>divise la fenêtre horizontalement
" Remappage d'une touche en azerty: noremap bépo azerty
" remappage de h, H
noremap c h
noremap C H
" remappage de j, gj, zj, J, gJ
noremap t j
noremap gt gj
noremap zn zj
noremap T J
noremap gT gJ
" remappage de k, gk, zk, K
noremap n k
noremap gn gk
noremap zt zk
noremap N K
" remappage de l, L
noremap r l
noremap R L
" remappage de c, C
noremap l c
noremap L C
" remappage de t, T
noremap j t
noremap J T
" remappage de n, N
noremap k n
noremap K N
" remappage de r, R
noremap h r
noremap H R
" remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)
noremap é w
noremap É W
onoremap aé aw
onoremap aÉ aW
onoremap ié iw
onoremap iÉ iW
" Navigation des onglets
" onglet précédant / suivant
noremap gb gT
noremap gé gt
" premier / dernier onglet
noremap gB :exe "silent! tabfirst"<CR>
noremap gÉ :exe "silent! tablast"<CR>
"Le gestionnaire des fenêtres
" définition des préfixes et commandes fréquentes
noremap à <C-w>
noremap À <C-w><C-w>
noremap w <C-w>
noremap W <C-w>p
noremap à<SPACE> :vsplit<CR>
noremap à<CR> :split<CR>
" pour utiliser ctnr comme hjkl
" même si j est mappé sur t et à est mappé sur <C-w>,
" il faut quand même remapper àt sur <C-w>j
noremap àc <C-w>h
noremap àC <C-w>H
noremap àt <C-w>j
noremap àT <C-w>J
noremap àn <C-w>k
noremap àN <C-w>K
noremap àr <C-w>l
noremap àR <C-w>L
" réattribue ce qui était attribué à ctnr
noremap we <C-w>c
noremap wh <C-w>t
noremap wH <C-w>T
noremap ww <C-w>n
noremap wt <C-w>r
noremap wn <C-w>R
" Remappage personnel:
" ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne
" (plus accessibles que 0 et ^ sur mon clavier)
" mémo: ^ est l'accent de Ê
noremap ê 0
noremap Ê ^
" idem pour le début de la ligne sur l'écran
noremap gê g0
noremap gÊ g^
" ç est remappé sur ` (utilisé pour atteindre un mark)
" mnémo: ç est sur la même touche que @ (lance une macro)
noremap ç `
Gmail
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c'est pourquoi il faut l'activer manuellement dans "roue crantée > paramètres > labos". Le mieux, c'est qu'on peut redéfinir ses raccourcis claviers dans le menu "roue crantée > paramètres > raccourcis claviers". Personnellement j'ai désactivé les raccourcis correspondant aux actions que je n'utilise jamais et j'ai associé les raccourcis suivants (l'idéal est de choisir des moyens mnémotechniques pour les retenir):
c va au message précédent dans une discussion
t va à la conversation suivante dans un dossier
n va à la conversation précédente dans un dossier
r va au message suivant dans une discussion
x sélectionne la discussion (coche la case)
d supprime (Delete)
o Ouvrir le message sélectionné
m/M écrire un nouveau Message
u/U annuler la dernière action (Undo)/mettre à jour la conversation (Update)
g retour à la liste des conversations (unGo ou Gmail)
,/; marquer comme lu/non lu
p/P réPondre/réPondre dans une nouvelle fenêtre
a/A répondre à tous (All)/répondre à tous dans une nouvelle fenêtre
f/F transférer (Forward)/transférer dans une nouvelle fenêtre
l ouvre le menu « appliquer le libellé »
e archiver
i accède à la boite de réception (Inbox)
É accède aux messages envoyÉs
B accède aux Brouillons
C accède aux Contacts
T accède à Tous les messages
/ sélectionne la barre de recherche
L cherche pour un label
? afficher les raccourcis clavier
Autour du clavier
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d'apprentissage/d'adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.
Pour plus tard:
- changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m'a recommandé récemment i3 que j'essayerais bien. D'autres gestionnaires de fenêtre qui ont l'air intéressant: wmii, scrotwm.
- passer à un clavier Tipro. Avec son clavier orthogonal entièrement personnalisable sur 8 lignes, je pourrai y placer mes modificateurs et touches spéciales (MAJ, CTRL, ALT, ALTGR, ESC, TAB, …) où je veux. :-)
- Les claviers Ergodox ont l'air cool à bidouiller aussi
Liens utiles et tout ce qui n'a pas sa place ailleurs
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr
http://www.lexique.org/listes/liste_bigrammes.txt des statistiques sur les bigrammes de la langue française, utile si on veut modifier le bépo original
Je suis en dualboot Windows 7/Linux et pour l'instant Windows est resté sagement en azerty. Un jour il faudrait que j'explore PKL pour voir si je peux également bidouiller ma disposition sur Windows.
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm
╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼
Pour s'habituer au pavé numérique, on peut s'exercer en recopiant les décimales de pi. Voici ses 2400 premières décimales, trouvées sur http://trucsmaths.free.fr/images/pi/pi2400.htm
3,141 592 653 589 793 238 462 643 383 279 502 884 197 169 399 375 105 820 974 944 592 307 816 406 286 208 998 628 034 825 342 117 067 982 148 086 513 282 306 647 093 844 609 550 582 231 725 359 408 128 481 117 450 284 102 701 938 521 105 559 644 622 948 954 930 381 964 428 810 975 665 933 446 128 475 648 233 786 783 165 271 201 909 145 648 566 923 460 348 610 454 326 648 213 393 607 260 249 141 273 724 587 006 606 315 588 174 881 520 920 962 829 254 091 715 364 367 892 590 360 011 330 530 548 820 466 521 384 146 951 941 511 609 433 057 270 365 759 591 953 092 186 117 381 932 611 793 105 118 548 074 462 379 962 749 567 351 885 752 724 891 227 938 183 011 949 129 833 673 362 440 656 643 086 021 394 946 395 224 737 190 702 179 860 943 702 770 539 217 176 293 176 752 384 674 818 467 669 405 132 000 568 127 145 263 560 827 785 771 342 757 789 609 173 637 178 721 468 440 901 224 953 430 146 549 585 371 050 792 279 689 258 923 542 019 956 112 129 021 960 864 034 418 159 813 629 774 771 309 960 518 707 211 349 999 998 372 978 049 951 059 731 732 816 096 318 595 024 459 455 346 908 302 642 522 308 253 344 685 035 261 931 188 171 010 003 137 838 752 886 587 533 208 381 420 617 177 669 147 303 598 253 490 428 755 468 731 159 562 863 882 353 787 593 751 957 781 857 780 532 171 226 806 613 001 927 876 611 195 909 216 420 198 938 095 257 201 065 485 863 278 865 936 153 381 827 968 230 301 952 035 301 852 968 995 773 622 599 413 891 249 721 775 283 479 131 515 574 857 242 454 150 695 950 829 533 116 861 727 855 889 075 098 381 754 637 464 939 319 255 060 400 927 701 671 139 009 848 824 012 858 361 603 563 707 660 104 710 181 942 955 596 198 946 767 837 449 448 255 379 774 726 847 104 047 534 646 208 046 684 259 069 491 293 313 677 028 989 152 104 752 162 056 966 024 058 038 150 193 511 253 382 430 035 587 640 247 496 473 263 914 199 272 604 269 922 796 782 354 781 636 009 341 721 641 219 924 586 315 030 286 182 974 555 706 749 838 505 494 588 586 926 995 690 927 210 797 509 302 955 321 165 344 987 202 755 960 236 480 665 499 119 881 834 797 753 566 369 807 426 542 527 862 551 818 417 574 672 890 977 772 793 800 081 647 060 016 145 249 192 173 217 214 772 350 141 441 973 568 548 161 361 157 352 552 133 475 741 849 468 438 523 323 907 394 143 334 547 762 416 862 518 983 569 485 562 099 219 222 184 272 550 254 256 887 671 790 494 601 653 466 804 988 627 232 791 786 085 784 383 827 967 976 681 454 100 953 883 786 360 950 680 064 225 125 205 117 392 984 896 084 128 488 626 945 604 241 965 285 022 210 661 186 306 744 278 622 039 194 945 047 123 713 786 960 956 364 371 917 287 467 764 657 573 962 413 890 865 832 645 995 813 390 478 027 590 099 465 764 078 951 269 468 398 352 595 709 825 822 620 522 489 407 726 719 478 268 482 601 476 990 902 640 136 394 437 455 305 068 203 496 252 451 749 399 651 431 429 809 190 659 250 937 221 696 461 515 709 858 387 410 597 885 959 772 975 498 930 161 753 928 468 138 268 683 868 942 774 155 991 855 925 245 953 959 431 049 972 524 680 845 987 273 644 695 848 653 836 736 222 626 099 124 608 051 243 884 390 451 244 136 549 762 780 797 715 691 435 997 700 129 616 089 441 694 868 555 848 406 353 422 072 225 828 488 648 158 456 028 50
Deux claviers vierges: un large et un étroit
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
│ │ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ │ ║ ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
║ ║ │ │ │ │ │ │ │ │ │ │ ║ ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝