<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://bepo.fr/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lawrent</id>
	<title>Disposition de clavier bépo - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://bepo.fr/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lawrent"/>
	<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/Sp%C3%A9cial:Contributions/Lawrent"/>
	<updated>2026-05-08T06:24:06Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24195</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24195"/>
		<updated>2015-08-27T09:43:34Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Bépo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │ O Œ    │ É      │ P      │ À      │ ¨ ` ≠  │ B   &amp;quot;  │ D      │ L ≤    │ V ≥    │ H      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è `    │ o œ    │ é &amp;amp;    │ p      │ à      │ ^ ´ =  │ b ^ &#039;  │ d $ 6  │ l &amp;lt; 7  │ v &amp;gt; 8  │ h # 9  │ ç @ %  ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A Æ    │ U Ù    │ I «    │ E »    │ ;      │ C      │ T      │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a æ    │ u ù    │ i (    │ e )    │ , —    │ c \ 0  │ t / 1  │ n - 2  │ r { 3  │ s } 4  │ m % 5  │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ Z ≠    │ Y      │ X ±    │ : ·    │ K      │ ? ≈ ;  │ Q   ±  │ G   =  │ J   (  │ F   )  │ W   :  │        ║        ║&lt;br /&gt;
║    ê    €      ║ z =    │ y *    │ x +    │ . …    │ k °    │ &#039; ! ,  │ q &amp;quot; +  │ g _ -  │ j [ *  │ f ] /  │ w ~ .  │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║ CTRL   │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ WIN    │ SPACE  │ MAJ    │        │ CTRL   ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
[http://i3wm.org i3] est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Ma config se trouve [[Utilisateur:Lawrent/i3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
=Divers=&lt;br /&gt;
==Bépo==&lt;br /&gt;
Shortcutworld, un wiki sur les raccourcis clavier: http://www.shortcutworld.com/&lt;br /&gt;
&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article sur la conception d&#039;une nouvelle disposition: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│   │   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║     ║   │   │   │   │   │   │   │   │   │   │   │   ║   ║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   │   ║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║    ║   │   │   │   │   │   │   │   │   │   │   ║        ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║    ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==non-Bépo==&lt;br /&gt;
http://www.sf.airnet.ne.jp/ts/language/number.html&lt;br /&gt;
&lt;br /&gt;
http://tylerneylon.com/a/7date_spec/&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24170</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24170"/>
		<updated>2015-07-01T10:01:52Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* i3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │ O Œ    │ É      │ P      │ À      │ ¨ ` ≠  │ B   &amp;quot;  │ D      │ L ≤    │ V ≥    │ H      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è `    │ o œ    │ é &amp;amp;    │ p      │ à      │ ^ ´ =  │ b ^ &#039;  │ d $ 6  │ l &amp;lt; 7  │ v &amp;gt; 8  │ h # 9  │ ç @ %  ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A Æ    │ U Ù    │ I «    │ E »    │ ;      │ C      │ T      │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a æ    │ u ù    │ i (    │ e )    │ , —    │ c \ 0  │ t / 1  │ n - 2  │ r { 3  │ s } 4  │ m % 5  │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ Z ≠    │ Y      │ X ±    │ : ·    │ K      │ ? ≈ ;  │ Q   ±  │ G   =  │ J   (  │ F   )  │ W   :  │        ║        ║&lt;br /&gt;
║    ê    €      ║ z =    │ y *    │ x +    │ . …    │ k °    │ &#039; ! ,  │ q &amp;quot; +  │ g _ -  │ j [ *  │ f ] /  │ w ~ .  │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║ CTRL   │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ WIN    │ SPACE  │ MAJ    │        │ CTRL   ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
[http://i3wm.org i3] est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Ma config se trouve [[Utilisateur:Lawrent/i3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
=Divers=&lt;br /&gt;
==Bépo==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│   │   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║     ║   │   │   │   │   │   │   │   │   │   │   │   ║   ║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   │   ║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║    ║   │   │   │   │   │   │   │   │   │   │   ║        ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║    ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==non-Bépo==&lt;br /&gt;
http://www.sf.airnet.ne.jp/ts/language/number.html&lt;br /&gt;
&lt;br /&gt;
http://tylerneylon.com/a/7date_spec/&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/i3&amp;diff=24169</id>
		<title>Utilisateur:Lawrent/i3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/i3&amp;diff=24169"/>
		<updated>2015-07-01T09:43:37Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Page créée avec « Une page pour mon layout i3 et mon &amp;lt;code&amp;gt;.i3/config&amp;lt;/code&amp;gt;.   ====Layout==== &amp;lt;source&amp;gt; ┌────┬────┬────┬────┬────┬──... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Une page pour mon layout i3 et mon &amp;lt;code&amp;gt;.i3/config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Layout====&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║X   │fcs │fcs │    │    │    │    │    │    │lgot│    │    ║     ║&lt;br /&gt;
║       ║wndw│prnt│chld│    │    │    │    │    │    │sdwn│    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║mv← │mv↑ │mv↓ │mv→ │full│    │    │lytv│lyth│lytt│lyts│    ║    ║&lt;br /&gt;
║        ║  ← │  ↑ │  ↓ │  → │scrn│rsiz│dmnu│sptv│spth│sptt│spts│    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │mv1 │mv2 │mv3 │mv4 │mv5 ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │dsk1│dsk2│dsk3│dsk4│dsk5║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║mod ║       scratchpad       ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce layout n&#039;a pas de mnémo lié aux caractères sur les touches (comme par exemple $mod+d pour [d]menu). Comprenez la logique derrière le placement des touches et vous le retiendrez :).&lt;br /&gt;
&lt;br /&gt;
Bon pour le moment c&#039;est encore brouillon mais voilà l&#039;idée:&lt;br /&gt;
* ← ↑ ↓ → est à gauche pour ne pas interférer avec ma mémoire musculaire de vim&lt;br /&gt;
* focus parent est au-dessus de ↑, focus child est au-dessus de ↓&lt;br /&gt;
* le lanceur d&#039;applications (dmenu) est sur la touche la plus accessible de la main droite&lt;br /&gt;
* la main droite gère les splits et les changements de layout (note: split tabbed et split stacked n&#039;existent pas, il faut combiner split vertical puis layout tabbed en une seule touche)&lt;br /&gt;
* les bureaux virtuels sont sur la ligne inférieure (qui a dit que je n&#039;aime pas la ligne des chiffres?)&lt;br /&gt;
* fermer une fenêtre, shutdown et logout sont dans les coins supérieurs (reste à placer reboot quelque part)&lt;br /&gt;
&lt;br /&gt;
A côté de ça il y a les fonctions qui n&#039;ont pas vraiment de place spécifique mais qui sont là quand même:&lt;br /&gt;
* le mode resize&lt;br /&gt;
* le full screen&lt;br /&gt;
* le scratchpad avec cette aide en mémo&lt;br /&gt;
&lt;br /&gt;
Note sur les flèches: i3 place ← ↑ ↓ → sur jklm alors que vim les place sur hjkl. Je pense que c&#039;est parce qu&#039;en vim, ↑ ↓ sont les flèches les plus utiles alors que dans i3 on se déplace souvent à gauche et à droite. &lt;br /&gt;
&lt;br /&gt;
====Config====&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24138</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24138"/>
		<updated>2015-05-23T23:30:42Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Liens utiles et tout ce qui n&amp;#039;a pas sa place ailleurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │ O Œ    │ É      │ P      │ À      │ ¨ ` ≠  │ B   &amp;quot;  │ D      │ L ≤    │ V ≥    │ H      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è `    │ o œ    │ é &amp;amp;    │ p      │ à      │ ^ ´ =  │ b ^ &#039;  │ d $ 6  │ l &amp;lt; 7  │ v &amp;gt; 8  │ h # 9  │ ç @ %  ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A Æ    │ U Ù    │ I «    │ E »    │ ;      │ C      │ T      │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a æ    │ u ù    │ i (    │ e )    │ , —    │ c \ 0  │ t / 1  │ n - 2  │ r { 3  │ s } 4  │ m % 5  │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ Z ≠    │ Y      │ X ±    │ : ·    │ K      │ ? ≈ ;  │ Q   ±  │ G   =  │ J   (  │ F   )  │ W   :  │        ║        ║&lt;br /&gt;
║    ê    €      ║ z =    │ y *    │ x +    │ . …    │ k °    │ &#039; ! ,  │ q &amp;quot; +  │ g _ -  │ j [ *  │ f ] /  │ w ~ .  │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║ CTRL   │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ WIN    │ SPACE  │ MAJ    │        │ CTRL   ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
=Divers=&lt;br /&gt;
==Bépo==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│   │   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║     ║   │   │   │   │   │   │   │   │   │   │   │   ║   ║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   │   ║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║    ║   │   │   │   │   │   │   │   │   │   │   ║        ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║    ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==non-Bépo==&lt;br /&gt;
http://www.sf.airnet.ne.jp/ts/language/number.html&lt;br /&gt;
&lt;br /&gt;
http://tylerneylon.com/a/7date_spec/&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24137</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24137"/>
		<updated>2015-05-23T23:29:55Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout d&amp;#039;une section divers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │ O Œ    │ É      │ P      │ À      │ ¨ ` ≠  │ B   &amp;quot;  │ D      │ L ≤    │ V ≥    │ H      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è `    │ o œ    │ é &amp;amp;    │ p      │ à      │ ^ ´ =  │ b ^ &#039;  │ d $ 6  │ l &amp;lt; 7  │ v &amp;gt; 8  │ h # 9  │ ç @ %  ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A Æ    │ U Ù    │ I «    │ E »    │ ;      │ C      │ T      │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a æ    │ u ù    │ i (    │ e )    │ , —    │ c \ 0  │ t / 1  │ n - 2  │ r { 3  │ s } 4  │ m % 5  │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ Z ≠    │ Y      │ X ±    │ : ·    │ K      │ ? ≈ ;  │ Q   ±  │ G   =  │ J   (  │ F   )  │ W   :  │        ║        ║&lt;br /&gt;
║    ê    €      ║ z =    │ y *    │ x +    │ . …    │ k °    │ &#039; ! ,  │ q &amp;quot; +  │ g _ -  │ j [ *  │ f ] /  │ w ~ .  │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║ CTRL   │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ WIN    │ SPACE  │ MAJ    │        │ CTRL   ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
=Liens utiles et tout ce qui n&#039;a pas sa place ailleurs=&lt;br /&gt;
==Bépo==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│   │   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║     ║   │   │   │   │   │   │   │   │   │   │   │   ║   ║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   │   ║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║    ║   │   │   │   │   │   │   │   │   │   │   ║        ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║    ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==non-Bépo==&lt;br /&gt;
http://www.sf.airnet.ne.jp/ts/language/number.html&lt;br /&gt;
&lt;br /&gt;
http://tylerneylon.com/a/7date_spec/&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24125</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24125"/>
		<updated>2015-05-18T11:13:09Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Nouvelle disposition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │ O Œ    │ É      │ P      │ À      │ ¨ ` ≠  │ B   &amp;quot;  │ D      │ L ≤    │ V ≥    │ H      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è `    │ o œ    │ é &amp;amp;    │ p      │ à      │ ^ ´ =  │ b ^ &#039;  │ d $ 6  │ l &amp;lt; 7  │ v &amp;gt; 8  │ h # 9  │ ç @ %  ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A Æ    │ U Ù    │ I «    │ E »    │ ;      │ C      │ T      │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a æ    │ u ù    │ i (    │ e )    │ , —    │ c \ 0  │ t / 1  │ n - 2  │ r { 3  │ s } 4  │ m % 5  │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ Z ≠    │ Y      │ X ±    │ : ·    │ K      │ ? ≈ ;  │ Q   ±  │ G   =  │ J   (  │ F   )  │ W   :  │        ║        ║&lt;br /&gt;
║    ê    €      ║ z =    │ y *    │ x +    │ . …    │ k °    │ &#039; ! ,  │ q &amp;quot; +  │ g _ -  │ j [ *  │ f ] /  │ w ~ .  │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║ CTRL   │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ WIN    │ SPACE  │ MAJ    │        │ CTRL   ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│   │   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║     ║   │   │   │   │   │   │   │   │   │   │   │   ║   ║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   │   ║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║    ║   │   │   │   │   │   │   │   │   │   │   ║        ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║    ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/AutoHotKey&amp;diff=24121</id>
		<title>Utilisateur:Lawrent/AutoHotKey</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/AutoHotKey&amp;diff=24121"/>
		<updated>2015-05-09T12:02:56Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Hotkeys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Une page où expliquer comment bidouiller sa disposition via autohotkey.&lt;br /&gt;
&lt;br /&gt;
===Getting started===&lt;br /&gt;
* Installez AutoHotKey.&lt;br /&gt;
* Créez un fichier HelloWorld.ahk quelque part (vérifiez que Windows affiche les extension de fichier, sinon il le renommera HelloWorld.ahk.txt dans votre dos). Méthode alternative: click droit sur le bureau &amp;gt; nouveau &amp;gt; AutoHotKey script.&lt;br /&gt;
* Click droit sur ce fichier &amp;gt; éditer avec le bloc-notes (ou notepad++ ou n&#039;importe quel autre éditeur de texte).&lt;br /&gt;
* Copiez-collez ceci dans le fichier:&lt;br /&gt;
&amp;lt;source&amp;gt;Space::MsgBox Hello World!&amp;lt;/source&amp;gt;&lt;br /&gt;
puis enregistrez.&lt;br /&gt;
* Double-cliquez sur l&#039;icône de cotre fichier. Maintenant la touche espace fait apparaitre une boite de message Hello World.&lt;br /&gt;
* Pour rétablir le comportement normal de la touche espace, allez dans la barre de tâches (en bas à droite de l&#039;écran), trouvez l&#039;icône AutoHotKey et faites click droit &amp;gt; exit.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys et hotstrings===&lt;br /&gt;
AutoHotKey permet d&#039;associer une action à une touche pressée (hotkey) ou à une chaine de caractères tapée (hotstring).&lt;br /&gt;
====Hotkeys====&lt;br /&gt;
pour plus tard. Noter que a::b est case-sensitive (il associe également A à B) et que ça pose un problème car a::&amp;amp; associera A à 1.&lt;br /&gt;
&lt;br /&gt;
noter déjà la carte des scancodes:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│029│002│003│004│005│006│007│008│009│00A│00B│00C│00D║00E  ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║00F  ║010│011│012│013│014│015│016│017│018│019│01A│01B║01C║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║03A   ║01E│01F│020│021│022│023│024│025│026│027│028│02B║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║02A ║056│02C│02D│02E│02F│030│031│032│033│034│035║136     ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║01D ║ * ║15B║038║039             ║ ** ║15D ║11D ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&lt;br /&gt;
* ici se trouve ma touche fn, qui n&#039;envoie pas de signal à l&#039;OS&lt;br /&gt;
** la touche altgr envoie la combinaison lctrl puis ralt (scancodes 01D et 138)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi, &amp;lt;code&amp;gt;SC029::a&amp;lt;/code&amp;gt; remappe ² sur a (et ³ sur A).&lt;br /&gt;
&lt;br /&gt;
====Hotstrings====&lt;br /&gt;
pour plus tard&lt;br /&gt;
&lt;br /&gt;
===bidouiller sa disposition===&lt;br /&gt;
&lt;br /&gt;
===ma disposition===&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/AutoHotKey&amp;diff=24120</id>
		<title>Utilisateur:Lawrent/AutoHotKey</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/AutoHotKey&amp;diff=24120"/>
		<updated>2015-05-09T11:29:14Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Hotkeys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Une page où expliquer comment bidouiller sa disposition via autohotkey.&lt;br /&gt;
&lt;br /&gt;
===Getting started===&lt;br /&gt;
* Installez AutoHotKey.&lt;br /&gt;
* Créez un fichier HelloWorld.ahk quelque part (vérifiez que Windows affiche les extension de fichier, sinon il le renommera HelloWorld.ahk.txt dans votre dos). Méthode alternative: click droit sur le bureau &amp;gt; nouveau &amp;gt; AutoHotKey script.&lt;br /&gt;
* Click droit sur ce fichier &amp;gt; éditer avec le bloc-notes (ou notepad++ ou n&#039;importe quel autre éditeur de texte).&lt;br /&gt;
* Copiez-collez ceci dans le fichier:&lt;br /&gt;
&amp;lt;source&amp;gt;Space::MsgBox Hello World!&amp;lt;/source&amp;gt;&lt;br /&gt;
puis enregistrez.&lt;br /&gt;
* Double-cliquez sur l&#039;icône de cotre fichier. Maintenant la touche espace fait apparaitre une boite de message Hello World.&lt;br /&gt;
* Pour rétablir le comportement normal de la touche espace, allez dans la barre de tâches (en bas à droite de l&#039;écran), trouvez l&#039;icône AutoHotKey et faites click droit &amp;gt; exit.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys et hotstrings===&lt;br /&gt;
AutoHotKey permet d&#039;associer une action à une touche pressée (hotkey) ou à une chaine de caractères tapée (hotstring).&lt;br /&gt;
====Hotkeys====&lt;br /&gt;
pour plus tard. Noter que a::b est case-sensitive (il associe également A à B) et que ça pose un problème car a::&amp;amp; associera A à 1.&lt;br /&gt;
&lt;br /&gt;
noter déjà la carte des scancodes:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═══════╗&lt;br /&gt;
│029 │002 │003│004│005│006│007│008│009│00A│00B│00C│00D║00E    ║&lt;br /&gt;
╔═══════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═════╣&lt;br /&gt;
║00F    ║010│011│012│013│014│015│016│017│018│019│01A│01B║01C  ║&lt;br /&gt;
╠═══════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗    ║&lt;br /&gt;
║03A     ║01E│01F│020│021│022│023│024│025│026│027│028│02B║    ║&lt;br /&gt;
╠══════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩════╣&lt;br /&gt;
║02A   ║056│02C│02D│02E│02F│030│031│032│033│034│035║136       ║&lt;br /&gt;
╠══════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬══════════╝&lt;br /&gt;
║01D   ║ * ║15B║038║039             ║ ** ║15D ║11D ║&lt;br /&gt;
╚══════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&lt;br /&gt;
* ici se trouve ma touche fn, qui n&#039;envoie pas de signal à l&#039;OS&lt;br /&gt;
** la touche altgr envoie la combinaison lctrl puis ralt (scancodes 01D et 138)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi, &amp;lt;code&amp;gt;SC029::a&amp;lt;/code&amp;gt; remappe ² sur a (et ³ sur A).&lt;br /&gt;
&lt;br /&gt;
====Hotstrings====&lt;br /&gt;
pour plus tard&lt;br /&gt;
&lt;br /&gt;
===bidouiller sa disposition===&lt;br /&gt;
&lt;br /&gt;
===ma disposition===&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/AutoHotKey&amp;diff=24119</id>
		<title>Utilisateur:Lawrent/AutoHotKey</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/AutoHotKey&amp;diff=24119"/>
		<updated>2015-05-09T11:21:43Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Page créée avec « Une page où expliquer comment bidouiller sa disposition via autohotkey.  ===Getting started=== * Installez AutoHotKey. * Créez un fichier HelloWorld.ahk quelque part (v... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Une page où expliquer comment bidouiller sa disposition via autohotkey.&lt;br /&gt;
&lt;br /&gt;
===Getting started===&lt;br /&gt;
* Installez AutoHotKey.&lt;br /&gt;
* Créez un fichier HelloWorld.ahk quelque part (vérifiez que Windows affiche les extension de fichier, sinon il le renommera HelloWorld.ahk.txt dans votre dos). Méthode alternative: click droit sur le bureau &amp;gt; nouveau &amp;gt; AutoHotKey script.&lt;br /&gt;
* Click droit sur ce fichier &amp;gt; éditer avec le bloc-notes (ou notepad++ ou n&#039;importe quel autre éditeur de texte).&lt;br /&gt;
* Copiez-collez ceci dans le fichier:&lt;br /&gt;
&amp;lt;source&amp;gt;Space::MsgBox Hello World!&amp;lt;/source&amp;gt;&lt;br /&gt;
puis enregistrez.&lt;br /&gt;
* Double-cliquez sur l&#039;icône de cotre fichier. Maintenant la touche espace fait apparaitre une boite de message Hello World.&lt;br /&gt;
* Pour rétablir le comportement normal de la touche espace, allez dans la barre de tâches (en bas à droite de l&#039;écran), trouvez l&#039;icône AutoHotKey et faites click droit &amp;gt; exit.&lt;br /&gt;
&lt;br /&gt;
===Hotkeys et hotstrings===&lt;br /&gt;
AutoHotKey permet d&#039;associer une action à une touche pressée (hotkey) ou à une chaine de caractères tapée (hotstring).&lt;br /&gt;
====Hotkeys====&lt;br /&gt;
pour plus tard. Noter que a::b est case-sensitive (il associe également A à B) et que ça pose un problème car a::&amp;amp; associera A à 1.&lt;br /&gt;
&lt;br /&gt;
noter déjà la carte des scancodes:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═══════╗&lt;br /&gt;
│029 │002 │003│004│005│006│007│008│009│00A│00B│00C│00D║00E    ║&lt;br /&gt;
╔═══════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═════╣&lt;br /&gt;
║00F    ║010│011│012│013│014│015│016│017│018│019│01A│01B║01C  ║&lt;br /&gt;
╠═══════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗    ║&lt;br /&gt;
║03A     ║01E│01F│020│021│022│023│024│025│026│027│028│02B║    ║&lt;br /&gt;
╠══════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩════╣&lt;br /&gt;
║02A   ║056│02C│02D│02E│02F│030│031│032│033│034│035║136       ║&lt;br /&gt;
╠══════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬══════════╝&lt;br /&gt;
║01D   ║ * ║15B║038║039             ║ ** ║15D ║11D ║&lt;br /&gt;
╚══════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&lt;br /&gt;
* ici se trouve ma touche fn, qui n&#039;envoie pas de signal à l&#039;OS&lt;br /&gt;
** la touche altgr envoie la combinaison lctrl puis ralt (scancodes 01D et 138)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
====Hotstrings====&lt;br /&gt;
pour plus tard&lt;br /&gt;
&lt;br /&gt;
===bidouiller sa disposition===&lt;br /&gt;
&lt;br /&gt;
===ma disposition===&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24118</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24118"/>
		<updated>2015-05-09T10:47:06Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : correction du mini clavier&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═════╗&lt;br /&gt;
│   │   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╔═════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═══╣&lt;br /&gt;
║     ║   │   │   │   │   │   │   │   │   │   │   │   ║   ║&lt;br /&gt;
╠═════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗  ║&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   │   ║  ║&lt;br /&gt;
╠════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩══╣&lt;br /&gt;
║    ║   │   │   │   │   │   │   │   │   │   │   ║        ║&lt;br /&gt;
╠════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬════════╝&lt;br /&gt;
║    ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24117</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=24117"/>
		<updated>2015-05-09T10:23:18Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Liens utiles et tout ce qui n&amp;#039;a pas sa place ailleurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trois claviers vierges de taille différente:&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───╔═══════╗&lt;br /&gt;
│    │    │   │   │   │   │   │   │   │   │   │   │   ║       ║&lt;br /&gt;
╔═══════╗─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─╚═╦═════╣&lt;br /&gt;
║       ║   │   │   │   │   │   │   │   │   │   │   │   ║     ║&lt;br /&gt;
╠═══════╩╗──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──╚╗    ║&lt;br /&gt;
║        ║   │   │   │   │   │   │   │   │   │   │   │   ║    ║&lt;br /&gt;
╠══════╦═╝─┬─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─═─┴─┬─┴─┬─┴─┬─┴─╔═════╩════╣&lt;br /&gt;
║      ║   │   │   │   │   │   │   │   │   │   │   ║          ║&lt;br /&gt;
╠══════╬═══╦═══╦═══╦════════════════╦════╦════╦════╬══════════╝&lt;br /&gt;
║      ║   ║   ║   ║                ║    ║    ║    ║&lt;br /&gt;
╚══════╩═══╩═══╩═══╩════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Vim&amp;diff=23872</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Vim&amp;diff=23872"/>
		<updated>2014-11-28T12:52:43Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : note: dwb est mort&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://fr.wikipedia.org/wiki/Vim Vim] est un éditeur de texte ergonomique, libre et disponible sous de nombreux systèmes d&#039;exploitation. Cette page tente de regrouper le maximum d&#039;informations relatives à son utilisation avec la disposition bépo.&lt;br /&gt;
&lt;br /&gt;
== Ergonomie ==&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|450px|right|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
=== Pourquoi utiliser Vim ? ===&lt;br /&gt;
D&#039;un point de vue [[ergonomie|ergonomique]], Vim a été optimisé pour la prévention des [[TMS|troubles musculosquelettiques]] :&lt;br /&gt;
* il n&#039;utilise que très peu de raccourcis : plutôt que de recourir à des [[Modificateur|touches modificatrices]] ([[Ctrl]], [[Alt]] ou la touche [[Meta]]), il utilise plusieurs « modes » de fonctionnement (quatre modes : &#039;&#039;normal&#039;&#039;, &#039;&#039;insertion&#039;&#039;, &#039;&#039;visualisation&#039;&#039; et &#039;&#039;commande&#039;&#039;), ce qui permet d&#039;utiliser toutes les commandes en position « dactylo », c&#039;est-à-dire avec les doigts proches de la position de repos, prêt à taper du texte à tout instant ;&lt;br /&gt;
* les déplacements du curseur peuvent (devraient, à terme) se faire sans utiliser les flèches du clavier ou la souris : {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} déplacent le curseur case par case, {{ta|W}} {{ta|E}} {{ta|B}} déplacent le curseur mot à mot (équivalent à {{tt|Ctrl|flèche}}). Les mains restent ainsi en position dactylo pour toutes les manipulations de texte, &#039;&#039;y compris les déplacements&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation des différents modes de Vim permet de se passer complètement de la souris et d&#039;éliminer la plupart des raccourcis contraignants qui brisent la frappe, tout en diminuant les mouvements de main et la quantité de touches pressées dans la journée.&lt;br /&gt;
&lt;br /&gt;
Le prix à payer est un temps d&#039;apprentissage assez long — plus long que sur n&#039;importe quel autre éditeur de texte. Toutefois, lorsqu&#039;on maîtrise les bases de Vim, le gain en confort et en productivité est tel qu&#039;on n&#039;utilise plus aucun autre éditeur — et on finit même par souhaiter [[#.C2.AB_B.C3.A9po-Vimification_.C2.BB_du_poste_de_travail|« Vimifier » les applications bureautiques courantes]] pour profiter de cette ergonomie sur l&#039;ensemble du poste de travail. Hors, les bases de Vim ne sont pas difficiles à apprendre, notamment parce qu&#039;il existe de bons tutoriels « par l&#039;exemple »… et que vous utilisez la disposition bépo ! &lt;br /&gt;
&lt;br /&gt;
Là où le bât blesse, c&#039;est que Vim a été conçu pour un clavier Qwerty (contexte américain) :&lt;br /&gt;
* le fait que les touches {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} correspondent à {{t|C}} {{t|T}} {{t|R}} {{t|S}} complique singulièrement la vie des [[bépoïstes]], même pour les « Vimistes » convaincus ;&lt;br /&gt;
* Vim n&#039;est pas parfaitement utilisable en l&#039;état avec le Bépo, contrairement à l&#039;Azerty ou même le Dvorak-US, essentiellement parce que les touches {{t|J}} et {{t|K}} ne sont pas côte-à-côte.&lt;br /&gt;
Il convient donc de configurer Vim pour l&#039;utiliser en Bépo – c&#039;est l&#039;objectif de cette page.&lt;br /&gt;
&lt;br /&gt;
=== Tutoriels et ressources Vim ===&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Vim donne accès à un tutoriel spécialement étudié pour les débutants (mais qui fait une très bonne doc de rappel pour les &#039;&#039;moins&#039;&#039; débutants). Il est accessible en français par la commande&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vimtutor fr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Le principe est le suivant : un fichier texte est ouvert dans Vim et présente les bases de Vim. Vous êtes invité à modifier sur place ce fichier, c&#039;est-à-dire à tester les commandes et les exemples décrits dans le fichier. Comme le fichier modifié est en réalité une copie du tutorial, vous pouvez à tout moment relancer {{c|vimtutor}} pour repartir sur une version propre, si vous en arrivez à faire n&#039;importe quoi ou à bloquer dans un mode !&lt;br /&gt;
&lt;br /&gt;
* Les essentiels :&lt;br /&gt;
** [http://www.linux-france.org/article/appli/vi/intro.html Une anti-sèche Vim (les commandes essentielles)]&lt;br /&gt;
** [http://nemolivier.free.fr/vimqrc-fr-bepo.html Une anti-sèche Vim, &#039;&#039;version bépo&#039;&#039;]&lt;br /&gt;
** [http://www.swaroopch.com/notes/Vim_en:Table_of_Contents Un tutoriel assez didactique]&lt;br /&gt;
* En plus :&lt;br /&gt;
** [http://www.faqs.org/docs/Linux-HOWTO/Vim-HOWTO.html Le (gros) tutoriel officiel de Vim]&lt;br /&gt;
** [http://vim.wikia.com/wiki/Main_Page &#039;&#039;Vim Wiki Tips&#039;&#039;, une des ressource les plus complète]&lt;br /&gt;
** [http://www.blog-nouvelles-technologies.net/vim-35-ressources-pour-apprendre-a-lutiliser/ De nombreux liens vers des tutoriels]&lt;br /&gt;
** [http://mirmodynamics.com/post/2004/05/08/150-ledition-efficace-avec-vim Des conseils généraux]&lt;br /&gt;
** [http://www.rayninfo.co.uk/vimtips.html La page qui fait peur…]&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration partielle des touches ==&lt;br /&gt;
On ne cherche ici qu&#039;à implémenter le déplacement en {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} avec le moins d&#039;impact possible sur le reste des commandes Vim.&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|800px|center|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
&lt;br /&gt;
=== Principe ===&lt;br /&gt;
* {{t|C}} {{t|T}} {{t|S}} {{t|R}} remplacent {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} pour les touches de direction ;&lt;br /&gt;
* réciproquement :&lt;br /&gt;
** {{t|H}} remplace {{ta|R}} (&#039;&#039;remplacer&#039;&#039;)&lt;br /&gt;
** {{t|J}} remplace {{ta|T}} (&#039;&#039;jusqu&#039;à&#039;&#039;)&lt;br /&gt;
** {{t|K}} remplace {{ta|S}} (&#039;&#039;substitue&#039;&#039;)&lt;br /&gt;
** {{t|L}} remplace {{ta|C}} (&#039;modification de texte&#039;&#039;), juste à coté de {{t|D}} (&#039;&#039;couper&#039;&#039;)&lt;br /&gt;
* {{t|É}} remplace {{ta|W}} (&#039;&#039;mot suivant&#039;&#039;), le {{t|W}} étant beaucoup trop loin en bépo ;&lt;br /&gt;
* {{t|W}} est utilisé comme {{tt|Ctrl|W}} pour faciliter les manipulations de fenêtre.&lt;br /&gt;
&lt;br /&gt;
C&#039;est la solution la plus simple pour utiliser Vim confortablement en bépo.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vimrc ===&lt;br /&gt;
Créer un fichier {{C|~/.vimrc.bepo}} avec le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; {W} -&amp;gt; [É]&lt;br /&gt;
&amp;quot; ——————————&lt;br /&gt;
&amp;quot; On remappe W sur É :&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
&amp;quot; Corollaire: on remplace les text objects aw, aW, iw et iW&lt;br /&gt;
&amp;quot; pour effacer/remplacer un mot quand on n’est pas au début (daé / laé).&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&amp;quot; Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; [HJKL] -&amp;gt; {CTSR}&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {cr} = « gauche / droite »&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap r l&lt;br /&gt;
&amp;quot; {ts} = « haut / bas »&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
&amp;quot; {CR} = « haut / bas de l&#039;écran »&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap R L&lt;br /&gt;
&amp;quot; {TS} = « joindre / aide »&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
&amp;quot; Corollaire : repli suivant / précédent&lt;br /&gt;
noremap zs zj&lt;br /&gt;
noremap zt zk&lt;br /&gt;
&lt;br /&gt;
&amp;quot; {HJKL} &amp;lt;- [CTSR]&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {J} = « Jusqu&#039;à »            (j = suivant, J = précédant)&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&amp;quot; {L} = « Change »             (l = attend un mvt, L = jusqu&#039;à la fin de ligne)&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&amp;quot; {H} = « Remplace »           (h = un caractère slt, H = reste en « Remplace »)&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&amp;quot; {K} = « Substitue »          (k = caractère, K = ligne)&lt;br /&gt;
noremap k s&lt;br /&gt;
noremap K S&lt;br /&gt;
&amp;quot; Corollaire : correction orthographique&lt;br /&gt;
noremap ]k ]s&lt;br /&gt;
noremap [k [s&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Désambiguation de {g}&lt;br /&gt;
&amp;quot; —————————————————————&lt;br /&gt;
&amp;quot; ligne écran précédente / suivante (à l&#039;intérieur d&#039;une phrase)&lt;br /&gt;
noremap gs gk&lt;br /&gt;
noremap gt gj&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; optionnel : {gB} / {gÉ} pour aller au premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; optionnel : {g&amp;quot;} pour aller au début de la ligne écran&lt;br /&gt;
noremap g&amp;quot; g0&lt;br /&gt;
&lt;br /&gt;
&amp;quot; &amp;lt;&amp;gt; en direct&lt;br /&gt;
&amp;quot; ————————————&lt;br /&gt;
noremap « &amp;lt;&lt;br /&gt;
noremap » &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remaper la gestion des fenêtres&lt;br /&gt;
&amp;quot; ———————————————————————————————&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap ws &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap wc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap wr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap wd &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wo &amp;lt;C-w&amp;gt;s&lt;br /&gt;
noremap wp &amp;lt;C-w&amp;gt;o&lt;br /&gt;
noremap w&amp;lt;SPACE&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap w&amp;lt;CR&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez avoir les chiffres en accès direct en mode normal, remplacez la section « &amp;lt;&amp;gt; en direct » par les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Chiffres en accès direct&lt;br /&gt;
&amp;quot; ————————————————————————&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap 1 &amp;quot;&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap 2 &amp;lt;&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap 3 &amp;gt;&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap 4 (&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap 5 )&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap 6 @&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap 7 +&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap 8 -&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap 9 /&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap 0 *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis ajoutez la ligne suivante dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
source ~/.vimrc.bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nota&#039;&#039; : les utilisateurs de [[Vimperator]] peuvent ajouter la même ligne dans le fichier {{C|~/.vimperatorrc}}.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vim/after/ftplugin/netrw.vim (problèmes avec la commande :Ex)===&lt;br /&gt;
&lt;br /&gt;
Ex est le &#039;&#039;plugin&#039;&#039; d&#039;exploration de fichiers de Vim. On le lance avec « :Ex », « :Sex », « :Vex », « :Tex », ou même « :e . » (qui se résume en « :e. » pour les fainéants).&lt;br /&gt;
&lt;br /&gt;
Malheureusement, {{t|t}} et {{t|s}} ne fonctionnent pas comme « bas/haut » avec cet explorateur, car les &#039;&#039;mappings&#039;&#039; d&#039;Ex ne sont pas définis dans {{C|~/.vimrc}}. Deux solutions :&lt;br /&gt;
* utiliser les flèches plutôt que {{t|C}} {{t|T}} {{t|S}} {{t|R}} avec Ex — voire, au pire, utiliser la souris (sacrilège !)&lt;br /&gt;
* redéfinir les commandes d&#039;Ex dans le fichier {{C|~/.vim/after/ftplugin/netrw.vim}} comme suit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; t&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; s&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Avec ce fichier, {{t|T}} et {{t|S}} fonctionnent désormais comme bas/haut et {{t|K}} permet de changer le type de tri (par nom, par date, etc.). Attention, l&#039;aide affichée par Ex ne correspond plus à la réalité ! (Remarque: si cette méthode ne fonctionne pas, il suffit d&#039;installer le plugin [https://github.com/tpope/vim-pathogen pathogen].)&lt;br /&gt;
&lt;br /&gt;
Solution alternative, trouvée [http://unix.stackexchange.com/questions/31575/remapping-keys-in-vims-directory-view ici]: ajouter le code suivant au &amp;lt;code&amp;gt;.vimrc&amp;lt;/code&amp;gt; (ou au &amp;lt;code&amp;gt;.vimrc.bepo&amp;lt;/code&amp;gt;)&lt;br /&gt;
&amp;lt;source&amp;gt;if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
augroup netrw_dvorak_fix&lt;br /&gt;
    autocmd!&lt;br /&gt;
    autocmd filetype netrw call Fix_netrw_maps_for_dvorak()&lt;br /&gt;
augroup END&lt;br /&gt;
function! Fix_netrw_maps_for_dvorak()&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
endfunction&lt;br /&gt;
endif&amp;lt;/source&amp;gt;&lt;br /&gt;
* Avantage de cette méthode: le remappage se trouve dans le &amp;lt;code&amp;gt;.vimrc&amp;lt;/code&amp;gt; et est plus facilement transportable sur une autre machine&lt;br /&gt;
* Inconvénient: nécessite que vim soit compilé avec l&#039;option autocmd, ce qui n&#039;est pas toujours le cas…&lt;br /&gt;
&lt;br /&gt;
=== Remarques ===&lt;br /&gt;
Vimtutor ne tient pas compte du remappage des touches. Pour pouvoir suivre le tutoriel avec les nouvelles touches, il suffit de copier le fichier du tutoriel (son emplacement est indiqué sur la ligne inférieure lors de l&#039;ouverture) dans un autre répertoire (par exemple avec {{c|cp /tmp/tutordtBQfU ~/vimtutor}}) puis d&#039;ouvrir la copie avec vim: {{c|vim vimtutor}}. Vous pouvez également vous entraîner sur [https://gist.githubusercontent.com/Einenlum/6d8e3e44985b08362f47/raw/2da498768d3a8cf017faf64755817aa0c0d232d1/vimtutor-bepo-1-7 cette version de vimtutor] adaptée à la reconfiguration partielle des touches en BÉPO.&lt;br /&gt;
&lt;br /&gt;
Les touches {{t|Ê}} {{t|È}} {{t|À}} {{t|Ç}} sont inutilisées par Vim et peuvent donc être affectées librement. Par exemple, on peut faire de {{t|È}} une touche « début de ligne » :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap è ^&lt;br /&gt;
noremap È 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le guillemet-apostrophe (&#039;&#039;rsqm&#039;&#039;) en direct ne peut pas être réaffecté en une apostrophe droite (probablement parce que le &#039;&#039;rqsm&#039;&#039; n&#039;est pas disponible en Latin-1). Par contre, les adeptes du guillemet-apostrophe en [[accès direct]] peuvent utiliser la touche {{t|ç}} à cet effet :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap ç &#039;&lt;br /&gt;
noremap Ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À faire pour la prochaine version (0.6.7) :&lt;br /&gt;
* inverser {{t|j}} et {{t|h}} pour regrouper les fonctions de recherche de caractères sur une même ligne ;&lt;br /&gt;
* penser à mettre à jour le label de {;/:} ;&lt;br /&gt;
* remplacer &amp;lt;&amp;gt; par «» sur les touches {{t|2}} {{t|3}} ?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Par ailleurs, on pourrait échanger {{t|s}} et {{t|g}} de façon à avoir {{t|g}} sous la main gauche et pour une meilleure cohérence des raccourcis de Vim : les commandes correspondant à « s » et « r », respectivement {{t|g}} et {{t|h}}, se trouveraient alors sous les touches {{t|S}} et {{t|R}}.&amp;lt;/del&amp;gt; &#039;&#039;problématique pour les raccourcis en {{t|g}}, nécessite une série de remappages supplémentaires, et conflit avec l&#039;inversion {{t|j}}/{{t|h}}.&lt;br /&gt;
&lt;br /&gt;
==Problèmes connus==&lt;br /&gt;
===Avec le greffon « Automatic LaTeX Plugin » (ATP)===&lt;br /&gt;
En installant le plugin [http://atp-vim.sourceforge.net/ &#039;&#039;&#039;ATP&#039;&#039;&#039;] pour LaTeX, le mapping de la touche {{t|r}} revient à son réglage normal et il est impossible de forcer son utilisation au mouvement vers la gauche par les configurations ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Pour y remedier, il faut ajouter au fichier {{C|.vim/after/ftplugin/tex.vim}}, la ligne &amp;quot;noremap &amp;lt;buffer&amp;gt; r l&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration à la demande ==&lt;br /&gt;
&lt;br /&gt;
Mettre le script suivant dans {{c|~/.vim/plugin/dvorak-toggle}}. Avec un minimum d&#039;adaptation, il est possible gérer n&#039;importe quelle disposition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Quick Dvorak-layout toggle. &lt;br /&gt;
&amp;quot; when toggled, you can use ctsr to move &lt;br /&gt;
&amp;quot; when untoggled, ctsr will behave as expected by vim &lt;br /&gt;
&amp;quot; &lt;br /&gt;
&amp;quot; This code is under BSD licence, and the author doesn&#039;t even bother tell his identity.&lt;br /&gt;
&lt;br /&gt;
let s:DvorakToggleState = 0&lt;br /&gt;
let s:DvorakToggleOldMap = 0&lt;br /&gt;
&lt;br /&gt;
function! g:DvorakToggle () &lt;br /&gt;
  if s:DvorakToggleState &lt;br /&gt;
    :set langmap=s:DvorakToggleOldMap &lt;br /&gt;
    let s:DvorakToggleState = 0 &lt;br /&gt;
  else  &lt;br /&gt;
    let g:DvorakToggleOldMap = &amp;amp;langmap &lt;br /&gt;
    :set langmap=ctsrCTSRhjklHJKL;hjklHJKLctsrCTSR &lt;br /&gt;
    let s:DvorakToggleState = 1 &lt;br /&gt;
  endif &lt;br /&gt;
endfunction &lt;br /&gt;
&lt;br /&gt;
&amp;quot; use à or whatever you want. Make it easy to access though. &lt;br /&gt;
nmap à :call g:DvorakToggle()&amp;lt;CR&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration conditionnelle ==&lt;br /&gt;
&lt;br /&gt;
Il est parfois possible détecter depuis Vim si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement).&lt;br /&gt;
&lt;br /&gt;
=== Sous X ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if !empty(system(&amp;quot;setxkbmap -print|grep bepo&amp;quot;))&lt;br /&gt;
    source ~/.vimrc.bepo&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration totale des touches ==&lt;br /&gt;
&lt;br /&gt;
Une option &#039;&#039;radicale&#039;&#039; consisterait à reconfigurer toutes les touches en mode normal afin qu&#039;elles correspondent aux labels du clavier [[Azerty]]. On pourrait même envisager de générer automatiquement un tel fichier avec les outils du projet bépo, si suffisamment d&#039;utilisateurs étaient intéressés…&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Qwerty ===&lt;br /&gt;
[[Image:Vim bépo.png|thumb|450px|right|Aide-mémoire Vim/bépo avec mapping du clavier bépo -&amp;gt; qwerty en mode normal]]&lt;br /&gt;
C&#039;est à priori la meilleure solution du point de vue de l&#039;ergonomie. On peut reprendre les &#039;&#039;cheat sheets&#039;&#039; (anti-sèches) classiques en l&#039;état !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;&amp;quot; mapping du clavier bépo-&amp;gt;qwerty en mode normal&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des lettres&lt;br /&gt;
&lt;br /&gt;
noremap b q&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap p e&lt;br /&gt;
noremap o r&lt;br /&gt;
noremap è t&lt;br /&gt;
noremap ^ y&lt;br /&gt;
noremap v u&lt;br /&gt;
noremap d i&lt;br /&gt;
noremap l o&lt;br /&gt;
noremap j p&lt;br /&gt;
noremap z [&lt;br /&gt;
noremap w ]&lt;br /&gt;
noremap a a&lt;br /&gt;
noremap u s&lt;br /&gt;
noremap i d&lt;br /&gt;
noremap e f&lt;br /&gt;
noremap \ \&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap n ;&lt;br /&gt;
noremap m &#039;&lt;br /&gt;
noremap ê &amp;lt;&lt;br /&gt;
noremap à z&lt;br /&gt;
noremap àà zz&lt;br /&gt;
noremap y x&lt;br /&gt;
noremap x c&lt;br /&gt;
noremap . v&lt;br /&gt;
noremap k b&lt;br /&gt;
noremap &#039; n&lt;br /&gt;
noremap q m&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap , g&lt;br /&gt;
noremap ,, gg&lt;br /&gt;
noremap h .&lt;br /&gt;
noremap f /&lt;br /&gt;
noremap B Q&lt;br /&gt;
noremap É W&lt;br /&gt;
noremap P E&lt;br /&gt;
noremap O R&lt;br /&gt;
noremap È T&lt;br /&gt;
noremap ! Y&lt;br /&gt;
noremap V U&lt;br /&gt;
noremap D I&lt;br /&gt;
noremap L O&lt;br /&gt;
noremap J P&lt;br /&gt;
noremap Z {&lt;br /&gt;
noremap W }&lt;br /&gt;
noremap A A&lt;br /&gt;
noremap U S&lt;br /&gt;
noremap I D&lt;br /&gt;
noremap E F&lt;br /&gt;
noremap ; G&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
noremap R L&lt;br /&gt;
noremap N :&lt;br /&gt;
noremap M &amp;quot;&lt;br /&gt;
noremap Ç \|&lt;br /&gt;
noremap Ê &amp;gt;&lt;br /&gt;
noremap À Z&lt;br /&gt;
noremap ÀÀ ZZ&lt;br /&gt;
noremap Y X&lt;br /&gt;
noremap X C&lt;br /&gt;
noremap : V&lt;br /&gt;
noremap K B&lt;br /&gt;
noremap ? N&lt;br /&gt;
noremap Q M&lt;br /&gt;
noremap G &amp;lt;&lt;br /&gt;
noremap H &amp;gt;&lt;br /&gt;
noremap F ?&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration du copié sur le ç car y est sur la touche composé ^&lt;br /&gt;
&lt;br /&gt;
noremap ç y&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des nombres&lt;br /&gt;
&lt;br /&gt;
noremap $ `&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap = -&lt;br /&gt;
noremap % =&lt;br /&gt;
noremap # ~&lt;br /&gt;
noremap 1 !&lt;br /&gt;
noremap 2 @&lt;br /&gt;
noremap 3 #&lt;br /&gt;
noremap 4 $&lt;br /&gt;
noremap 5 %&lt;br /&gt;
noremap 6 ^&lt;br /&gt;
noremap 7 &amp;amp;&lt;br /&gt;
noremap 8 *&lt;br /&gt;
noremap 9 (&lt;br /&gt;
noremap 0 )&lt;br /&gt;
noremap ° _&lt;br /&gt;
noremap ` +&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Azerty ===&lt;br /&gt;
&lt;br /&gt;
Cette variante permet de se référer aux labels des touches du clavier [[Azerty]] pour les commandes Vim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set langmap=ba,éz,pe,or,èt,çy,vu,di,lo,fp,j^,z$,aq,us,id,ef,\,g,ch,tj,sk,nl,rm,mù,^*,ê&amp;lt;,àw,hx,yc,.v,kb,&#039;n,q\,,g;;,x:,w!,BA,ÉZ,PE,OR,ÈT,ÇY,VU,DI,LO,FP,J¨,Z£,AQ,US,ID,EF,?G,CH,TJ,SK,NL,RM,M%,!*,Ê&amp;gt;,ÀW,HX,YC,:V,KB,\\;N,QG,G.,X/,W§,@œ,_&amp;amp;,&amp;quot;é,«&amp;quot;,»&#039;,((,)-,+è,-_,*ç,/à,=),%=,$Œ,^°,µ+,#“,{´,}~,&amp;lt;#,&amp;gt;{,[[,]|,±`,¬\,×^,÷@,¯],%}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autres options utiles ==&lt;br /&gt;
&lt;br /&gt;
Quelques petites astuces. À ajouter dans le fichier {{C|~/.vimrc}}.&lt;br /&gt;
&lt;br /&gt;
=== Appliquer automatiquement les modifications de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
La première chose à faire pour jouer avec {{C|~/.vimrc}} !&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
  autocmd! bufwritepost .vimrc source ~/.vimrc&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : cette astuce semble ne pas fonctionner pour certains. Si vous constatez des problèmes, passez-vous en et relancez Vim après chaque modification de {{c|~/.vimrc}} que vous voulez tester…&lt;br /&gt;
&lt;br /&gt;
=== Espaces insécables ===&lt;br /&gt;
&lt;br /&gt;
Les espaces insécables du Bépo peuvent poser problème, notamment dans des fichiers de code brut ([[ASCII]]) où ils génèrent des erreurs. On a deux façons simples de s’en prémunir :&lt;br /&gt;
&lt;br /&gt;
; Colorier les espaces insécables pour mieux les repérer :&lt;br /&gt;
Ajouter les lignes suivantes &#039;&#039;après la ligne « syntax on »&#039;&#039; le cas échéant. Bien entendu, on peut changer la couleur.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; colorise les nbsp&lt;br /&gt;
highlight NbSp ctermbg=lightgray guibg=lightred&lt;br /&gt;
match NbSp /\%xa0/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
; Faire apparaître les insécable avec un autre caractère&lt;br /&gt;
Ils apparaitront avec le caractère choisi au bout de la première ligne. Ici le « · »&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:·&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Autre exemple trouvé sur [http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/ Gnusquad] avec plus de caractères « invisibles » affichés :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:¤,tab:&amp;gt;-,trail:¤,extends:&amp;gt;,precedes:&amp;lt;&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Mapper l’espace insécable en « Escape » :&lt;br /&gt;
à éviter pour rédiger du texte mais très pratique pour taper du code ! &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; interdit les nbsp en mode insertion (il y a une espace insécable)&lt;br /&gt;
inoremap   &amp;lt;Esc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Esc] plus accessible ===&lt;br /&gt;
&lt;br /&gt;
Vim fait un grand usage de la touche {{ta|Escape}} qui se trouve loin (&#039;&#039;a priori&#039;&#039; en haut à gauche). On peut modifier le comportement de {{t|Tab}} pour qu’il serve de touche {{t|Esc}}. On garde un {{t|Tab}} en {{tt|Maj|Tab}}. Attention, &#039;&#039;à ne pas utiliser dans Vimperator&#039;&#039;, on y a besoin du Tab direct…&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : {{tt|Ctrl|C}} est un alias standard de {{t|Esc}}, plus central, mais c&#039;est un raccourci à deux touches. À vous de voir si cette combinaison est agréable ou pas sur votre clavier physique.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Tab fait un Esc, Maj+Tab fait un Tab&lt;br /&gt;
inoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
inoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Même chose, mais en mode visuel&lt;br /&gt;
vnoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
vnoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les possesseurs de clavier TypeMatrix peuvent aussi remapper la touche « desktop » en Esc en suivant les explications présentées sur [[TypeMatrix#Trucs_et_astuces|la page dédiée au TypeMatrix]].&lt;br /&gt;
&lt;br /&gt;
=== [PgUp] / [PgDn] plus accessibles ===&lt;br /&gt;
&lt;br /&gt;
Vim utilise par défaut {{tta|Ctrl|B}} et {{tta|Ctrl|F}} pour aller à la page précédente ou suivante. Ce n&#039;est déjà pas la panacée en Qwerty, mais en Bépo, c&#039;est l&#039;horreur, car ces deux touches sont à l&#039;exact opposé l&#039;une de l&#039;autre ! Pour y remédier, on peut par exemple utiliser les touches {{t|BackSpace}} et {{t|Espace}}, c&#039;est bien plus confortable :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;PageUp&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;PageDown&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativement, si on préfère défiler des demi-pages, on peut utiliser les &#039;&#039;mappings&#039;&#039; suivants :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;C-U&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;C-D&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tant qu&#039;on y est, on peut aussi utiliser {{t|Entrée}} pour centrer la page sur le curseur (ne fonctionne pas avec [[Vimperator]]) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 noremap &amp;lt;Return&amp;gt; zz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixer l’encodage des fichiers en utf-8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 set encoding=utf-8&lt;br /&gt;
 set fileencoding=utf-8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plus de détails [http://ubunteros.tuxfamily.org/spip.php?article182 ici].&lt;br /&gt;
&lt;br /&gt;
=== Lancer un navigateur web depuis Vim ===&lt;br /&gt;
&lt;br /&gt;
Hors sujet, mais vraiment belle astuce.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » et « v,s » lancent firefox et une recherche (définition ou synonyme) dans le tlfi sur le mot courant&lt;br /&gt;
vmap ,d :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
vmap ,s :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » comme ci-dessus mais pour google&lt;br /&gt;
vmap ,g :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;cword&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot;« v,w » comme ci-dessus mais pour wikipedia&lt;br /&gt;
vmap ,w :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » comme ci-dessus mais pour le conjugueur&lt;br /&gt;
vmap ,c :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,o » ouvre l’url sur laquelle on se trouve dans firefox&lt;br /&gt;
vmap ,o :&amp;lt;C-U&amp;gt;!firefox &amp;quot;&amp;lt;cfile&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut que Firefox soit dans le {{c|$PATH}}, sinon, il faut indiquer le chemin complet de l’exécutable. Les raccourcis proposés sont tous en « ,x » pour qu’il n’y ait pas d’interaction malencontreuse avec d’autres commandes, mais on peut changer cette partie.&lt;br /&gt;
&lt;br /&gt;
Variante qui tue, en utilisant un navigateur texte à l&#039;intérieur de Vim :&lt;br /&gt;
* enregistrer [http://www.vim.org/scripts/script.php?script_id=2227 browser.vim] dans le dossier {{C|~/.vim/plugin/}}&lt;br /&gt;
* facultatif : remplacer « lynx » par « w3m » partout dans le fichier {{C|browser.vim}} (w3m supporte l&#039;utf-8, contrairement à lynx)&lt;br /&gt;
* ajouter les lignes suivantes dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » cherche la définition du mot courant dans le TLFI&lt;br /&gt;
vmap ,d :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,s » cherche les synonymes du mot courant dans le TLFI&lt;br /&gt;
vmap ,s :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » cherche le mot courant dans Google&lt;br /&gt;
vmap ,g :call OpenWebBrowser(&amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » cherche le mot courant dans le conjugueur&lt;br /&gt;
vmap ,c :call OpenWebBrowser(&amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,w » cherche le mot courant Wikipedia&lt;br /&gt;
vmap ,w :call OpenWebBrowser(&amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; ouvre l’URL sur laquelle on se trouve&lt;br /&gt;
vmap ,o :call OpenWebBrowser(&amp;quot;&amp;lt;C-R&amp;gt;&amp;lt;C-A&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Les URLs proposées ici correspondent à un usage de Vim en traitement de texte ; les développeurs auront tôt fait de remplacer ces URLs par des documentations d&#039;API en ligne.&lt;br /&gt;
&lt;br /&gt;
=== Exemples de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
* celui de [[Utilisateur:Kaze|Kazé]] est [[Utilisateur:Kaze/vimrc|ici]]&lt;br /&gt;
* celui de [[Utilisateur:Nemolivier|NémOlivier]] est [[Utilisateur:Nemolivier/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Jd|jd]] est [[Utilisateur:Jd/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Carnifex|Carnifex]] est [[Utilisateur:Carnifex/.vimrc|ici]], et le .vimrc.bepo [[Utilisateur:Carnifex/.vimrc.bepo|là]]&lt;br /&gt;
* celui de [[Utilisateur:Damien_thiriet|Damien Thiriet]] est [[Utilisateur:Damien_thiriet#mon_.vimrc|là]], avec des fichiers annexes d’abbréviations&lt;br /&gt;
* celui de [[Utilisateur:Denis_S|Denis S]] est en partie [[Utilisateur:Denis_S#Vim_en_bépo|là]]&lt;br /&gt;
&lt;br /&gt;
== « Bépo-Vimification » du poste de travail ==&lt;br /&gt;
&lt;br /&gt;
Bon nombre d&#039;applications courantes utilisent les touches de déplacement de Vim, sans toutefois utiliser le fichier ~/.vimrc pour la configuration de ces touches. Moyennant un effort de configuration, on peut donc disposer d&#039;un mode Vim, avec les touches de déplacement en {CTSR}, sur l&#039;ensemble de son poste de travail.&lt;br /&gt;
&lt;br /&gt;
=== Navigateurs web ===&lt;br /&gt;
&lt;br /&gt;
;Uzbl&lt;br /&gt;
[http://www.uzbl.org/ Uzbl] (prononcez &amp;quot;usable&amp;quot;) est un navigateur web qui se pilote entièrement au clavier avec les raccourcis clavier de vim. Fondé sur webkit, uzbl est beaucoup plus léger que vimperator.&lt;br /&gt;
&lt;br /&gt;
;Dwb&lt;br /&gt;
[http://portix.bitbucket.org/dwb/ dwb] est un autre navigateur web supportant des raccourcis vim. Intuitif d&#039;utilisation, la commande Sk (Settings/Keybindings) affiche la liste des actions et leurs raccourcis associés. Les raccourcis peuvent être réattribués à partir de cette page. Malheureusement, [https://bitbucket.org/portix/dwb/pull-request/22/several-cleanups-to-increase-portability/diff#comment-3217936 le projet n&#039;est plus supporté depuis le 25 octobre 2014]. [https://github.com/The-Compiler/qutebrowser Qutebrowser] pourrait arriver comme son successeur.&lt;br /&gt;
&lt;br /&gt;
;Firefox&lt;br /&gt;
[http://vimperator.mozdev.org/ Vimperator] est une extension Firefox permettant de piloter confortablement Firefox au clavier, et même d&#039;utiliser Vim comme éditeur pour les champs texte. Elle peut partager une partie de son fichier de configuration avec Vim (v. plus haut), il suffit d&#039;ajouter cette ligne au fichier {{C|~/.vimperatorrc}} :&lt;br /&gt;
 source ~/.vimrc.bepo&lt;br /&gt;
&lt;br /&gt;
Une aide sur l&#039;utilisation bépo de vimperator est disponnible [[vimperator|sur cette page]].&lt;br /&gt;
&lt;br /&gt;
À noter : Vimperator est conçu pour fonctionner avec les chiffres en accès direct, ce qui est gênant (mais pas insurmontable) pour sélectionner des liens via le mécanismes de &#039;&#039;quick hints&#039;&#039; ({{t|f}} et {{t|F}}). Le mapping proposé pour avoir les chiffres en accès direct dans Vim ne fonctionne pas avec Vimperator.&lt;br /&gt;
&lt;br /&gt;
Voir [http://vimperator.cutup.org/index.php?title=Configuration le wiki de Vimperator] ou la &amp;lt;code&amp;gt;:help&amp;lt;/code&amp;gt; pour plus d&#039;informations sur la configuration.&lt;br /&gt;
&lt;br /&gt;
Voir également [http://code.google.com/p/gvimail/ GViMail] pour utiliser Vimperator avec Gmail.&lt;br /&gt;
&lt;br /&gt;
[http://5digits.org/pentadactyl/ pentadactyl] est une autre extension firefox très similaire à Vimperator. Avantage notable de pentadactyl sur vimperator: la possibilité de [http://superuser.com/questions/691763/how-do-i-remap-keys-in-caret-mode-and-textarea-mode-in-vimperator/691764#691764 remapper les touches du mode caret]. D&#039;après [http://5digits.org/pentadactyl/faq#faq-differences la faq] de pentadactyl, &amp;lt;i&amp;gt;The main difference is that Vimperator&#039;s most active developers have moved on to Pentadactyl. More qualitative changes may be found in the change log, but essentially add up to what we consider more active and thoughtful development.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Vimprobable&lt;br /&gt;
[http://sourceforge.net/apps/trac/vimprobable/ Vimprobable] est un navigateur à part entière qui ressemble fort à Vimperator.&lt;br /&gt;
&lt;br /&gt;
;Chrome / Chromium&lt;br /&gt;
Il existe plusieurs extensions visant à émuler les commandes Vim sous Chrome. On peut citer [https://chrome.google.com/extensions/detail/cdkefpgghindmmclchkbcdgikbpnbiaj YakShave], [https://chrome.google.com/extensions/detail/godjoomfiimiddapohpmfklhgmbfffjj Vrome] et [https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb Vimium]. Les deux premières sont assez complexes mais extensivement configurables via un serveur à lancer en tâche de fond — indépendamment de Chrome. La dernière a le mérite de rester simple et de remplir assez bien son office. Voici de quoi lui apprendre à se comporter un peu mieux en bépo (lignes à copier dans la section « Adanced options &amp;gt;&amp;gt; Key mappings » des réglages de l’extension):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
map t scrollDown&lt;br /&gt;
map s scrollUp&lt;br /&gt;
map c scrollLeft&lt;br /&gt;
map r scrollRight&lt;br /&gt;
map j createTab&lt;br /&gt;
map gé nextTab&lt;br /&gt;
map gb previousTab&lt;br /&gt;
map h reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À noter : une extension apparue plus récemment, [https://chrome.google.com/webstore/detail/gghkfhpblkcmlkmpcpgaajbbiikbhpdi Vichrome], mérite le détour. Elle paraît mieux finie que les précédentes. Si vous souhaitez l’utiliser en bépo, ces lignes sont un bon point de départ (ajoutez-les à la section « Key Mapping » des options de l’extension) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
# bépo&lt;br /&gt;
nmap t ScrollDown&lt;br /&gt;
nmap s ScrollUp&lt;br /&gt;
nmap c ScrollLeft&lt;br /&gt;
nmap r ScrollRight&lt;br /&gt;
nmap j TabOpenNew&lt;br /&gt;
nmap gé TabFocusNext&lt;br /&gt;
nmap gb TabFocusPrev&lt;br /&gt;
nmap h TabReload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Thunderbird ===&lt;br /&gt;
&lt;br /&gt;
[http://muttator.mozdev.org/ Muttator] est l&#039;équivalent de Vimperator pour Thunderbird. Le projet est encore en début de développement, mais serait d&#039;ores et déjà utilisable (non testé).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;À compléter.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
Vim n&#039;est qu&#039;un éditeur texte, pas un IDE. Cependant, la plupart des IDEs disposent d&#039;un mode Vi, nativement ou non.&lt;br /&gt;
&lt;br /&gt;
;Emacs&lt;br /&gt;
Emacs dispose nativement d&#039;un mode Vi qui &amp;lt;del&amp;gt;le rend utilisable&amp;lt;/del&amp;gt; permet de déplacer le curseur sans bouger les mains (pas testé ;-)).&lt;br /&gt;
&lt;br /&gt;
;Komodo&lt;br /&gt;
Komodo et OpenKomodo disposent nativement d&#039;un mode Vi.&lt;br /&gt;
&lt;br /&gt;
;Eclipse&lt;br /&gt;
il y a un [http://vimplugin.org/ plugin Vim] pour Eclipse ; il y a aussi le projet [http://eclim.sourceforge.net/ Eclim], qui permet d&#039;utiliser Vim comme éditeur de texte dans Eclipse.&lt;br /&gt;
&lt;br /&gt;
;Visual Studio™&lt;br /&gt;
[http://www.viemu.com/ ViEmu] propose un plugin Vim (non-libre) pour Visual Studio, ainsi que pour Word™ et Outlook™.&lt;br /&gt;
&lt;br /&gt;
;Pida&lt;br /&gt;
[http://pida.co.uk/ Pida] utilise nativement vim ou bien Emacs.&lt;br /&gt;
&lt;br /&gt;
=== Outils du shell ===&lt;br /&gt;
De nombreux outils courants du shell utilisent nativement les raccourcis Vim :&lt;br /&gt;
* [[wp:Less|less]] : le &#039;&#039;pager&#039;&#039; le plus courant de nos jours, qui succède avantageusement à &#039;&#039;more&#039;&#039; ; c&#039;est lui qui met en forme les pages man, notamment. Il est configurable via [http://unixhelp.ed.ac.uk/CGI/man-cgi?lesskey lesskey].&lt;br /&gt;
* [[most]] : un &#039;&#039;pager&#039;&#039; plus puissant encore qui peut être utilisé à la place de less pour les pages de man.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Aptitude_(logiciel) aptitude] : le gestionnaire de paquets Debian est [http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s02.html configurable] lui aussi.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/W3m w3m] : navigateur web, moins connu que Lynx, mais qui a néanmoins l&#039;avantage d&#039;être compatible utf-8, entre autres. On peut [http://w3m.sourceforge.net/MANUAL#Key:custom redéfinir les raccourcis clavier] dans le fichier {{C|~/.w3m/config}}.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Mutt mutt] : client mail. On peut utiliser ses propres mappings ([http://www103.pair.com/parv/comp/unix/cf/mail/mutt-keys-hooks.cf exemple]).&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Muttng muttng] : fork de mutt, qui inclut un certain nombre de patches et qui serait plus [http://mutt-ng.berlios.de/manual/manual.html#id2525213 configurable] ([http://lists.berlios.de/pipermail/mutt-ng-users/2006-May/000196.html exemple]).&lt;br /&gt;
* [[wp:Newsbeuter|Newsbeuter]] : [[wp:Agrégateur|Agrégateur de flux de syndication]] en console fonctionnant comme mutt. Il est possible de redéfinir les binding pour les [[Newsbeuter|adapter à bépo]].&lt;br /&gt;
* [[ranger]] : un explorateur de fichier avec interface légère utilisable au clavier. La configuration des raccourcis se fait dans le fichier ~/.config/ranger/rc.conf . Pour créer ce fichier et les autres fichiers de conf utiliser la commande : ranger --copy-config=all&lt;br /&gt;
&lt;br /&gt;
Les plus gravement atteints peuvent utiliser des raccourcis Vi dans le terminal :&lt;br /&gt;
* en modifiant le fichier [http://vim.wikia.com/wiki/Use_vi_shortcuts_in_terminal ~/.inputrc]&lt;br /&gt;
* en utilisant [http://fr.wikipedia.org/wiki/Zsh zsh], qui possède un mode vi ; il suffit d&#039;ajouter les lignes suivantes au fichier {{C|~/.zshrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # Mode vim&lt;br /&gt;
 bindkey -v&lt;br /&gt;
 &lt;br /&gt;
 # On remappe pour le bépo&lt;br /&gt;
 bindkey -a c vi-backward-char&lt;br /&gt;
 bindkey -a r vi-forward-char&lt;br /&gt;
 bindkey -a t vi-down-line-or-history&lt;br /&gt;
 bindkey -a s vi-up-line-or-history&lt;br /&gt;
 bindkey -a $ vi-end-of-line&lt;br /&gt;
 bindkey -a 0 vi-digit-or-beginning-of-line &lt;br /&gt;
 bindkey -a h vi-change&lt;br /&gt;
 bindkey -a H vi-change-eol&lt;br /&gt;
 bindkey -a dd vi-change-whole-line&lt;br /&gt;
 bindkey -a l vi-replace-chars&lt;br /&gt;
 bindkey -a L vi-replace&lt;br /&gt;
 bindkey -a k vi-substitute  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sous X, il est parfois possible détecter si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement). Il suffit d’enfermer les {{C|bindkey}} dans un bloc {{C|if}} :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
if [[ $DISPLAY != &#039;&#039; &amp;amp;&amp;amp; `setxkbmap -print|grep bepo` != &#039;&#039; ]]; then&lt;br /&gt;
    ...&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;autres applications utilisent les raccourcis Vi mais ne sont pas remappables. Vous pouvez toujours contacter leurs auteurs pour leur demander d&#039;inclure un mécanisme de &#039;&#039;mapping&#039;&#039;, ou recompiler ces outils avec des &#039;&#039;mappings&#039;&#039; bépo.&lt;br /&gt;
* [http://vifm.sourceforge.net/ vifm] : très bon explorateur de fichiers, en pleine phase de développement.&lt;br /&gt;
* [http://cmus.sourceforge.net/ cmus] : lecteur audio. Le site officiel précise qu&#039;il supporte des &#039;&#039;dynamic keybindings&#039;&#039;, ([[cmus|adaptation à bépo]]).&lt;br /&gt;
* [http://www.brain-dump.org/projects/dvtm/ dvtm] : permet de scinder n’importe quel émulateur de terminal à la manière d’un gestionnaire de fenêtres en mosaïque. Tout simplement génial, notamment en conjonction avec Vim, mais il faut le recompiler pour changer les raccourcis clavier.&lt;br /&gt;
&lt;br /&gt;
=== Lecteurs PDF ===&lt;br /&gt;
Certains lecteurs PDF s’utilisent avec des raccourcis « vim-like » :&lt;br /&gt;
* [http://pwmt.org/projects/zathura/ Zathura] est un lecteur PDF en apparence léger mais utilisant des bibliothèques lourdes en réalité ce qui n’ôte rien à ses qualités. Pour l’utiliser avec BÉPO il nécessite [[zathura|quelques configurations]].&lt;br /&gt;
* [[wp:evince|Evince]] est le lecteur PDF du projet GNOME, il dispose de quelques fonctionnalités vim-like, reste à savoir comment le « bépoïfier ».&lt;br /&gt;
&lt;br /&gt;
=== Gestionnaires de fenêtres en mosaïque ===&lt;br /&gt;
&lt;br /&gt;
Ces gestionnaires de fenêtres sont des alternatives intéressantes pour ceux qui cherchent à se passer complètement de la souris. Ils sont conçus exclusivement pour la productivité : pas de décorations de fenêtre, les fenêtres sont placées automatiquement par le gestionnaire pour occuper tout l&#039;espace disponible : typiquement, une fenêtre « maître » qui occupe une large colonne de l&#039;écran, et toutes les autres fenêtres « auxiliaires » qui se partagent l&#039;espace restant. Le lancement des applications et les manipulations de fenêtres (sélection, déplacement, passage d&#039;une fenêtre auxiliaire en maître) se font entièrement au clavier.&lt;br /&gt;
&lt;br /&gt;
On peut citer [http://fr.wikipedia.org/wiki/Ion_(logiciel) Ion] (le plus connu) et [http://fr.wikipedia.org/wiki/Ratpoison Ratpoison]/[http://www.nongnu.org/stumpwm/ StumpWM] (le second est une ré-écriture en CommonLisp du premier, par le même auteur), mais ces gestionnaires de fenêtres sont un peu hors-sujet dans la mesure où ils utilisent une logique de raccourcis clavier de type Emacs. À l&#039;inverse, d&#039;autres gestionnaires de fenêtres utilisent nativement des raccourcis Vim de type [Mod]+[HJKL] pour les manipulations de fenêtres, et s&#039;intègrent très bien dans un environnement « vimiste ».&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Wmii wmii]&lt;br /&gt;
wmii est le plus facile à prendre en main. C&#039;est le seul de ces gestionnaires de fenêtres en mosaïque à conserver des décorations de fenêtres (très minimalistes, sans icone), ce qui permet de déplacer et redimensionner les fenêtres uniquement à la souris, et, plus prosaïquement, de repérer très facilement la fenêtre active. C&#039;est aussi le seul à ne pas utiliser le concept de zones maître/auxiliaire : il est possible de créer autant de colonnes que souhaité, par contre leur redimensionnement requiert la souris. Ainsi, l&#039;utilisation de logiciels comportant de nombreuses fenêtres (ex : GIMP) ne pose aucun problème, même en mode mosaïque. Il intègre un excellent lanceur d&#039;applications, [http://en.wikipedia.org/wiki/Dmenu dmenu] (activé avec Alt+P).&lt;br /&gt;
&lt;br /&gt;
Il est aisément configurable via le fichier {{C|wmiirc}}.&lt;br /&gt;
&lt;br /&gt;
; [http://dwm.suckless.org/ dwm]&lt;br /&gt;
dwm est le petit frère de wmii : les deux projets sont développés en parallèle par le même auteur. dwm partage certains outils avec wmii, dont dmenu. Toutefois, les deux projets sont assez différents, dwm étant encore plus minimaliste : aucune décoration de fenêtre, la mise en page est limitée à deux colonnes (une zone « maître » et une zone auxiliaire), aucun langage de script, aucun fichier de configuration. Le code source est ainsi encore plus robuste et compact (limité à 2 000 lignes, contre 10 000 pour wmii).&lt;br /&gt;
 &lt;br /&gt;
dwm doit être recompilé pour toute modification de configuration, tous les paramètres étant dans le fichier {{C|config.h}} — voir [http://www.xsnake.net/howto/dwm/dwm-eng.php ce tutoriel].&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Awesome_(logiciel) Awesome]&lt;br /&gt;
Awesome est un fork de dwm, et lui reste très proche dans l&#039;esprit : même système de vues, même mise en page sur deux colonnes maître / auxiliaire. Il est plus complet que dwm, scriptable en Lua et configurable via un fichier externe. Il ne dispose pas encore d&#039;un équivalent de dmenu (c&#039;est prévu pour la version 3) : pour l&#039;instant (version 2.3.1), il faut se [http://awesome.naquadah.org/wiki/Awesome-menu_2.x/fr créer un menu d&#039;applications] soi-même, et lancer les autres applications depuis un terminal.&lt;br /&gt;
&lt;br /&gt;
Awesome est [http://awesome.naquadah.org/wiki/Awesomerc_2.x/fr configurable] via le fichier {{C|~/.awesomerc}}. Contrairement à wmii et dwm, Awesome est prévu pour fonctionner avec des dispositions de clavier ayant les chiffres en accès direct (sélection / changement de vue), il faut donc reconfigurer les touches [1234567890] pour le bépo.&lt;br /&gt;
&lt;br /&gt;
[[Awesome|Plus de détails pour la version 3.x]]&lt;br /&gt;
&lt;br /&gt;
; [http://xmonad.org/ Xmonad]&lt;br /&gt;
Xmonad utilise dmenu et reprend le principe des deux zones maître / auxiliaire de dwm, mais il est beaucoup plus complet : les manipulations de fenêtres ne sont pas limitées à un système de colonnes, et on peut même libérer une partie de l&#039;écran pour inclure un &#039;&#039;panel&#039;&#039; type KDE, Gnome ou Xfce4. De plus, Xmonad est très modulaire et dispose déjà de nombreuses extensions. C&#039;est un projet relativement récent (première &#039;&#039;release&#039;&#039; en avril 2007), écrit dans le langage fonctionnel Haskell. Voir [http://bepo.pastebin.com/m4e84f50e cet extrait] de la configuration de Gaëtan &#039;&#039;(à peaufiner)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Aide]]&lt;br /&gt;
[[Catégorie:Logiciels]]&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23871</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23871"/>
		<updated>2014-11-28T12:17:12Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout de dwb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==DWB==&lt;br /&gt;
Navigateur web très léger et similaire à vimperator. À tester très prochainement. Comme avec l&#039;addon &amp;quot;add to search bar&amp;quot; de firefox, on peut définir soi-même des mots-clef associés à des champs de recherche via la commande &amp;quot;gs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Vim&amp;diff=23870</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Vim&amp;diff=23870"/>
		<updated>2014-11-28T11:55:41Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout de dwb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://fr.wikipedia.org/wiki/Vim Vim] est un éditeur de texte ergonomique, libre et disponible sous de nombreux systèmes d&#039;exploitation. Cette page tente de regrouper le maximum d&#039;informations relatives à son utilisation avec la disposition bépo.&lt;br /&gt;
&lt;br /&gt;
== Ergonomie ==&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|450px|right|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
=== Pourquoi utiliser Vim ? ===&lt;br /&gt;
D&#039;un point de vue [[ergonomie|ergonomique]], Vim a été optimisé pour la prévention des [[TMS|troubles musculosquelettiques]] :&lt;br /&gt;
* il n&#039;utilise que très peu de raccourcis : plutôt que de recourir à des [[Modificateur|touches modificatrices]] ([[Ctrl]], [[Alt]] ou la touche [[Meta]]), il utilise plusieurs « modes » de fonctionnement (quatre modes : &#039;&#039;normal&#039;&#039;, &#039;&#039;insertion&#039;&#039;, &#039;&#039;visualisation&#039;&#039; et &#039;&#039;commande&#039;&#039;), ce qui permet d&#039;utiliser toutes les commandes en position « dactylo », c&#039;est-à-dire avec les doigts proches de la position de repos, prêt à taper du texte à tout instant ;&lt;br /&gt;
* les déplacements du curseur peuvent (devraient, à terme) se faire sans utiliser les flèches du clavier ou la souris : {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} déplacent le curseur case par case, {{ta|W}} {{ta|E}} {{ta|B}} déplacent le curseur mot à mot (équivalent à {{tt|Ctrl|flèche}}). Les mains restent ainsi en position dactylo pour toutes les manipulations de texte, &#039;&#039;y compris les déplacements&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation des différents modes de Vim permet de se passer complètement de la souris et d&#039;éliminer la plupart des raccourcis contraignants qui brisent la frappe, tout en diminuant les mouvements de main et la quantité de touches pressées dans la journée.&lt;br /&gt;
&lt;br /&gt;
Le prix à payer est un temps d&#039;apprentissage assez long — plus long que sur n&#039;importe quel autre éditeur de texte. Toutefois, lorsqu&#039;on maîtrise les bases de Vim, le gain en confort et en productivité est tel qu&#039;on n&#039;utilise plus aucun autre éditeur — et on finit même par souhaiter [[#.C2.AB_B.C3.A9po-Vimification_.C2.BB_du_poste_de_travail|« Vimifier » les applications bureautiques courantes]] pour profiter de cette ergonomie sur l&#039;ensemble du poste de travail. Hors, les bases de Vim ne sont pas difficiles à apprendre, notamment parce qu&#039;il existe de bons tutoriels « par l&#039;exemple »… et que vous utilisez la disposition bépo ! &lt;br /&gt;
&lt;br /&gt;
Là où le bât blesse, c&#039;est que Vim a été conçu pour un clavier Qwerty (contexte américain) :&lt;br /&gt;
* le fait que les touches {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} correspondent à {{t|C}} {{t|T}} {{t|R}} {{t|S}} complique singulièrement la vie des [[bépoïstes]], même pour les « Vimistes » convaincus ;&lt;br /&gt;
* Vim n&#039;est pas parfaitement utilisable en l&#039;état avec le Bépo, contrairement à l&#039;Azerty ou même le Dvorak-US, essentiellement parce que les touches {{t|J}} et {{t|K}} ne sont pas côte-à-côte.&lt;br /&gt;
Il convient donc de configurer Vim pour l&#039;utiliser en Bépo – c&#039;est l&#039;objectif de cette page.&lt;br /&gt;
&lt;br /&gt;
=== Tutoriels et ressources Vim ===&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Vim donne accès à un tutoriel spécialement étudié pour les débutants (mais qui fait une très bonne doc de rappel pour les &#039;&#039;moins&#039;&#039; débutants). Il est accessible en français par la commande&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vimtutor fr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Le principe est le suivant : un fichier texte est ouvert dans Vim et présente les bases de Vim. Vous êtes invité à modifier sur place ce fichier, c&#039;est-à-dire à tester les commandes et les exemples décrits dans le fichier. Comme le fichier modifié est en réalité une copie du tutorial, vous pouvez à tout moment relancer {{c|vimtutor}} pour repartir sur une version propre, si vous en arrivez à faire n&#039;importe quoi ou à bloquer dans un mode !&lt;br /&gt;
&lt;br /&gt;
* Les essentiels :&lt;br /&gt;
** [http://www.linux-france.org/article/appli/vi/intro.html Une anti-sèche Vim (les commandes essentielles)]&lt;br /&gt;
** [http://nemolivier.free.fr/vimqrc-fr-bepo.html Une anti-sèche Vim, &#039;&#039;version bépo&#039;&#039;]&lt;br /&gt;
** [http://www.swaroopch.com/notes/Vim_en:Table_of_Contents Un tutoriel assez didactique]&lt;br /&gt;
* En plus :&lt;br /&gt;
** [http://www.faqs.org/docs/Linux-HOWTO/Vim-HOWTO.html Le (gros) tutoriel officiel de Vim]&lt;br /&gt;
** [http://vim.wikia.com/wiki/Main_Page &#039;&#039;Vim Wiki Tips&#039;&#039;, une des ressource les plus complète]&lt;br /&gt;
** [http://www.blog-nouvelles-technologies.net/vim-35-ressources-pour-apprendre-a-lutiliser/ De nombreux liens vers des tutoriels]&lt;br /&gt;
** [http://mirmodynamics.com/post/2004/05/08/150-ledition-efficace-avec-vim Des conseils généraux]&lt;br /&gt;
** [http://www.rayninfo.co.uk/vimtips.html La page qui fait peur…]&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration partielle des touches ==&lt;br /&gt;
On ne cherche ici qu&#039;à implémenter le déplacement en {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} avec le moins d&#039;impact possible sur le reste des commandes Vim.&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|800px|center|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
&lt;br /&gt;
=== Principe ===&lt;br /&gt;
* {{t|C}} {{t|T}} {{t|S}} {{t|R}} remplacent {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} pour les touches de direction ;&lt;br /&gt;
* réciproquement :&lt;br /&gt;
** {{t|H}} remplace {{ta|R}} (&#039;&#039;remplacer&#039;&#039;)&lt;br /&gt;
** {{t|J}} remplace {{ta|T}} (&#039;&#039;jusqu&#039;à&#039;&#039;)&lt;br /&gt;
** {{t|K}} remplace {{ta|S}} (&#039;&#039;substitue&#039;&#039;)&lt;br /&gt;
** {{t|L}} remplace {{ta|C}} (&#039;modification de texte&#039;&#039;), juste à coté de {{t|D}} (&#039;&#039;couper&#039;&#039;)&lt;br /&gt;
* {{t|É}} remplace {{ta|W}} (&#039;&#039;mot suivant&#039;&#039;), le {{t|W}} étant beaucoup trop loin en bépo ;&lt;br /&gt;
* {{t|W}} est utilisé comme {{tt|Ctrl|W}} pour faciliter les manipulations de fenêtre.&lt;br /&gt;
&lt;br /&gt;
C&#039;est la solution la plus simple pour utiliser Vim confortablement en bépo.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vimrc ===&lt;br /&gt;
Créer un fichier {{C|~/.vimrc.bepo}} avec le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; {W} -&amp;gt; [É]&lt;br /&gt;
&amp;quot; ——————————&lt;br /&gt;
&amp;quot; On remappe W sur É :&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
&amp;quot; Corollaire: on remplace les text objects aw, aW, iw et iW&lt;br /&gt;
&amp;quot; pour effacer/remplacer un mot quand on n’est pas au début (daé / laé).&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&amp;quot; Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; [HJKL] -&amp;gt; {CTSR}&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {cr} = « gauche / droite »&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap r l&lt;br /&gt;
&amp;quot; {ts} = « haut / bas »&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
&amp;quot; {CR} = « haut / bas de l&#039;écran »&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap R L&lt;br /&gt;
&amp;quot; {TS} = « joindre / aide »&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
&amp;quot; Corollaire : repli suivant / précédent&lt;br /&gt;
noremap zs zj&lt;br /&gt;
noremap zt zk&lt;br /&gt;
&lt;br /&gt;
&amp;quot; {HJKL} &amp;lt;- [CTSR]&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {J} = « Jusqu&#039;à »            (j = suivant, J = précédant)&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&amp;quot; {L} = « Change »             (l = attend un mvt, L = jusqu&#039;à la fin de ligne)&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&amp;quot; {H} = « Remplace »           (h = un caractère slt, H = reste en « Remplace »)&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&amp;quot; {K} = « Substitue »          (k = caractère, K = ligne)&lt;br /&gt;
noremap k s&lt;br /&gt;
noremap K S&lt;br /&gt;
&amp;quot; Corollaire : correction orthographique&lt;br /&gt;
noremap ]k ]s&lt;br /&gt;
noremap [k [s&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Désambiguation de {g}&lt;br /&gt;
&amp;quot; —————————————————————&lt;br /&gt;
&amp;quot; ligne écran précédente / suivante (à l&#039;intérieur d&#039;une phrase)&lt;br /&gt;
noremap gs gk&lt;br /&gt;
noremap gt gj&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; optionnel : {gB} / {gÉ} pour aller au premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; optionnel : {g&amp;quot;} pour aller au début de la ligne écran&lt;br /&gt;
noremap g&amp;quot; g0&lt;br /&gt;
&lt;br /&gt;
&amp;quot; &amp;lt;&amp;gt; en direct&lt;br /&gt;
&amp;quot; ————————————&lt;br /&gt;
noremap « &amp;lt;&lt;br /&gt;
noremap » &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remaper la gestion des fenêtres&lt;br /&gt;
&amp;quot; ———————————————————————————————&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap ws &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap wc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap wr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap wd &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wo &amp;lt;C-w&amp;gt;s&lt;br /&gt;
noremap wp &amp;lt;C-w&amp;gt;o&lt;br /&gt;
noremap w&amp;lt;SPACE&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap w&amp;lt;CR&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez avoir les chiffres en accès direct en mode normal, remplacez la section « &amp;lt;&amp;gt; en direct » par les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Chiffres en accès direct&lt;br /&gt;
&amp;quot; ————————————————————————&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap 1 &amp;quot;&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap 2 &amp;lt;&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap 3 &amp;gt;&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap 4 (&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap 5 )&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap 6 @&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap 7 +&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap 8 -&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap 9 /&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap 0 *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis ajoutez la ligne suivante dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
source ~/.vimrc.bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nota&#039;&#039; : les utilisateurs de [[Vimperator]] peuvent ajouter la même ligne dans le fichier {{C|~/.vimperatorrc}}.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vim/after/ftplugin/netrw.vim (problèmes avec la commande :Ex)===&lt;br /&gt;
&lt;br /&gt;
Ex est le &#039;&#039;plugin&#039;&#039; d&#039;exploration de fichiers de Vim. On le lance avec « :Ex », « :Sex », « :Vex », « :Tex », ou même « :e . » (qui se résume en « :e. » pour les fainéants).&lt;br /&gt;
&lt;br /&gt;
Malheureusement, {{t|t}} et {{t|s}} ne fonctionnent pas comme « bas/haut » avec cet explorateur, car les &#039;&#039;mappings&#039;&#039; d&#039;Ex ne sont pas définis dans {{C|~/.vimrc}}. Deux solutions :&lt;br /&gt;
* utiliser les flèches plutôt que {{t|C}} {{t|T}} {{t|S}} {{t|R}} avec Ex — voire, au pire, utiliser la souris (sacrilège !)&lt;br /&gt;
* redéfinir les commandes d&#039;Ex dans le fichier {{C|~/.vim/after/ftplugin/netrw.vim}} comme suit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; t&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; s&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Avec ce fichier, {{t|T}} et {{t|S}} fonctionnent désormais comme bas/haut et {{t|K}} permet de changer le type de tri (par nom, par date, etc.). Attention, l&#039;aide affichée par Ex ne correspond plus à la réalité ! (Remarque: si cette méthode ne fonctionne pas, il suffit d&#039;installer le plugin [https://github.com/tpope/vim-pathogen pathogen].)&lt;br /&gt;
&lt;br /&gt;
Solution alternative, trouvée [http://unix.stackexchange.com/questions/31575/remapping-keys-in-vims-directory-view ici]: ajouter le code suivant au &amp;lt;code&amp;gt;.vimrc&amp;lt;/code&amp;gt; (ou au &amp;lt;code&amp;gt;.vimrc.bepo&amp;lt;/code&amp;gt;)&lt;br /&gt;
&amp;lt;source&amp;gt;if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
augroup netrw_dvorak_fix&lt;br /&gt;
    autocmd!&lt;br /&gt;
    autocmd filetype netrw call Fix_netrw_maps_for_dvorak()&lt;br /&gt;
augroup END&lt;br /&gt;
function! Fix_netrw_maps_for_dvorak()&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
endfunction&lt;br /&gt;
endif&amp;lt;/source&amp;gt;&lt;br /&gt;
* Avantage de cette méthode: le remappage se trouve dans le &amp;lt;code&amp;gt;.vimrc&amp;lt;/code&amp;gt; et est plus facilement transportable sur une autre machine&lt;br /&gt;
* Inconvénient: nécessite que vim soit compilé avec l&#039;option autocmd, ce qui n&#039;est pas toujours le cas…&lt;br /&gt;
&lt;br /&gt;
=== Remarques ===&lt;br /&gt;
Vimtutor ne tient pas compte du remappage des touches. Pour pouvoir suivre le tutoriel avec les nouvelles touches, il suffit de copier le fichier du tutoriel (son emplacement est indiqué sur la ligne inférieure lors de l&#039;ouverture) dans un autre répertoire (par exemple avec {{c|cp /tmp/tutordtBQfU ~/vimtutor}}) puis d&#039;ouvrir la copie avec vim: {{c|vim vimtutor}}. Vous pouvez également vous entraîner sur [https://gist.githubusercontent.com/Einenlum/6d8e3e44985b08362f47/raw/2da498768d3a8cf017faf64755817aa0c0d232d1/vimtutor-bepo-1-7 cette version de vimtutor] adaptée à la reconfiguration partielle des touches en BÉPO.&lt;br /&gt;
&lt;br /&gt;
Les touches {{t|Ê}} {{t|È}} {{t|À}} {{t|Ç}} sont inutilisées par Vim et peuvent donc être affectées librement. Par exemple, on peut faire de {{t|È}} une touche « début de ligne » :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap è ^&lt;br /&gt;
noremap È 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le guillemet-apostrophe (&#039;&#039;rsqm&#039;&#039;) en direct ne peut pas être réaffecté en une apostrophe droite (probablement parce que le &#039;&#039;rqsm&#039;&#039; n&#039;est pas disponible en Latin-1). Par contre, les adeptes du guillemet-apostrophe en [[accès direct]] peuvent utiliser la touche {{t|ç}} à cet effet :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap ç &#039;&lt;br /&gt;
noremap Ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À faire pour la prochaine version (0.6.7) :&lt;br /&gt;
* inverser {{t|j}} et {{t|h}} pour regrouper les fonctions de recherche de caractères sur une même ligne ;&lt;br /&gt;
* penser à mettre à jour le label de {;/:} ;&lt;br /&gt;
* remplacer &amp;lt;&amp;gt; par «» sur les touches {{t|2}} {{t|3}} ?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Par ailleurs, on pourrait échanger {{t|s}} et {{t|g}} de façon à avoir {{t|g}} sous la main gauche et pour une meilleure cohérence des raccourcis de Vim : les commandes correspondant à « s » et « r », respectivement {{t|g}} et {{t|h}}, se trouveraient alors sous les touches {{t|S}} et {{t|R}}.&amp;lt;/del&amp;gt; &#039;&#039;problématique pour les raccourcis en {{t|g}}, nécessite une série de remappages supplémentaires, et conflit avec l&#039;inversion {{t|j}}/{{t|h}}.&lt;br /&gt;
&lt;br /&gt;
==Problèmes connus==&lt;br /&gt;
===Avec le greffon « Automatic LaTeX Plugin » (ATP)===&lt;br /&gt;
En installant le plugin [http://atp-vim.sourceforge.net/ &#039;&#039;&#039;ATP&#039;&#039;&#039;] pour LaTeX, le mapping de la touche {{t|r}} revient à son réglage normal et il est impossible de forcer son utilisation au mouvement vers la gauche par les configurations ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Pour y remedier, il faut ajouter au fichier {{C|.vim/after/ftplugin/tex.vim}}, la ligne &amp;quot;noremap &amp;lt;buffer&amp;gt; r l&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration à la demande ==&lt;br /&gt;
&lt;br /&gt;
Mettre le script suivant dans {{c|~/.vim/plugin/dvorak-toggle}}. Avec un minimum d&#039;adaptation, il est possible gérer n&#039;importe quelle disposition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Quick Dvorak-layout toggle. &lt;br /&gt;
&amp;quot; when toggled, you can use ctsr to move &lt;br /&gt;
&amp;quot; when untoggled, ctsr will behave as expected by vim &lt;br /&gt;
&amp;quot; &lt;br /&gt;
&amp;quot; This code is under BSD licence, and the author doesn&#039;t even bother tell his identity.&lt;br /&gt;
&lt;br /&gt;
let s:DvorakToggleState = 0&lt;br /&gt;
let s:DvorakToggleOldMap = 0&lt;br /&gt;
&lt;br /&gt;
function! g:DvorakToggle () &lt;br /&gt;
  if s:DvorakToggleState &lt;br /&gt;
    :set langmap=s:DvorakToggleOldMap &lt;br /&gt;
    let s:DvorakToggleState = 0 &lt;br /&gt;
  else  &lt;br /&gt;
    let g:DvorakToggleOldMap = &amp;amp;langmap &lt;br /&gt;
    :set langmap=ctsrCTSRhjklHJKL;hjklHJKLctsrCTSR &lt;br /&gt;
    let s:DvorakToggleState = 1 &lt;br /&gt;
  endif &lt;br /&gt;
endfunction &lt;br /&gt;
&lt;br /&gt;
&amp;quot; use à or whatever you want. Make it easy to access though. &lt;br /&gt;
nmap à :call g:DvorakToggle()&amp;lt;CR&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration conditionnelle ==&lt;br /&gt;
&lt;br /&gt;
Il est parfois possible détecter depuis Vim si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement).&lt;br /&gt;
&lt;br /&gt;
=== Sous X ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if !empty(system(&amp;quot;setxkbmap -print|grep bepo&amp;quot;))&lt;br /&gt;
    source ~/.vimrc.bepo&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration totale des touches ==&lt;br /&gt;
&lt;br /&gt;
Une option &#039;&#039;radicale&#039;&#039; consisterait à reconfigurer toutes les touches en mode normal afin qu&#039;elles correspondent aux labels du clavier [[Azerty]]. On pourrait même envisager de générer automatiquement un tel fichier avec les outils du projet bépo, si suffisamment d&#039;utilisateurs étaient intéressés…&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Qwerty ===&lt;br /&gt;
[[Image:Vim bépo.png|thumb|450px|right|Aide-mémoire Vim/bépo avec mapping du clavier bépo -&amp;gt; qwerty en mode normal]]&lt;br /&gt;
C&#039;est à priori la meilleure solution du point de vue de l&#039;ergonomie. On peut reprendre les &#039;&#039;cheat sheets&#039;&#039; (anti-sèches) classiques en l&#039;état !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;&amp;quot; mapping du clavier bépo-&amp;gt;qwerty en mode normal&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des lettres&lt;br /&gt;
&lt;br /&gt;
noremap b q&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap p e&lt;br /&gt;
noremap o r&lt;br /&gt;
noremap è t&lt;br /&gt;
noremap ^ y&lt;br /&gt;
noremap v u&lt;br /&gt;
noremap d i&lt;br /&gt;
noremap l o&lt;br /&gt;
noremap j p&lt;br /&gt;
noremap z [&lt;br /&gt;
noremap w ]&lt;br /&gt;
noremap a a&lt;br /&gt;
noremap u s&lt;br /&gt;
noremap i d&lt;br /&gt;
noremap e f&lt;br /&gt;
noremap \ \&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap n ;&lt;br /&gt;
noremap m &#039;&lt;br /&gt;
noremap ê &amp;lt;&lt;br /&gt;
noremap à z&lt;br /&gt;
noremap àà zz&lt;br /&gt;
noremap y x&lt;br /&gt;
noremap x c&lt;br /&gt;
noremap . v&lt;br /&gt;
noremap k b&lt;br /&gt;
noremap &#039; n&lt;br /&gt;
noremap q m&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap , g&lt;br /&gt;
noremap ,, gg&lt;br /&gt;
noremap h .&lt;br /&gt;
noremap f /&lt;br /&gt;
noremap B Q&lt;br /&gt;
noremap É W&lt;br /&gt;
noremap P E&lt;br /&gt;
noremap O R&lt;br /&gt;
noremap È T&lt;br /&gt;
noremap ! Y&lt;br /&gt;
noremap V U&lt;br /&gt;
noremap D I&lt;br /&gt;
noremap L O&lt;br /&gt;
noremap J P&lt;br /&gt;
noremap Z {&lt;br /&gt;
noremap W }&lt;br /&gt;
noremap A A&lt;br /&gt;
noremap U S&lt;br /&gt;
noremap I D&lt;br /&gt;
noremap E F&lt;br /&gt;
noremap ; G&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
noremap R L&lt;br /&gt;
noremap N :&lt;br /&gt;
noremap M &amp;quot;&lt;br /&gt;
noremap Ç \|&lt;br /&gt;
noremap Ê &amp;gt;&lt;br /&gt;
noremap À Z&lt;br /&gt;
noremap ÀÀ ZZ&lt;br /&gt;
noremap Y X&lt;br /&gt;
noremap X C&lt;br /&gt;
noremap : V&lt;br /&gt;
noremap K B&lt;br /&gt;
noremap ? N&lt;br /&gt;
noremap Q M&lt;br /&gt;
noremap G &amp;lt;&lt;br /&gt;
noremap H &amp;gt;&lt;br /&gt;
noremap F ?&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration du copié sur le ç car y est sur la touche composé ^&lt;br /&gt;
&lt;br /&gt;
noremap ç y&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des nombres&lt;br /&gt;
&lt;br /&gt;
noremap $ `&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap = -&lt;br /&gt;
noremap % =&lt;br /&gt;
noremap # ~&lt;br /&gt;
noremap 1 !&lt;br /&gt;
noremap 2 @&lt;br /&gt;
noremap 3 #&lt;br /&gt;
noremap 4 $&lt;br /&gt;
noremap 5 %&lt;br /&gt;
noremap 6 ^&lt;br /&gt;
noremap 7 &amp;amp;&lt;br /&gt;
noremap 8 *&lt;br /&gt;
noremap 9 (&lt;br /&gt;
noremap 0 )&lt;br /&gt;
noremap ° _&lt;br /&gt;
noremap ` +&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Azerty ===&lt;br /&gt;
&lt;br /&gt;
Cette variante permet de se référer aux labels des touches du clavier [[Azerty]] pour les commandes Vim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set langmap=ba,éz,pe,or,èt,çy,vu,di,lo,fp,j^,z$,aq,us,id,ef,\,g,ch,tj,sk,nl,rm,mù,^*,ê&amp;lt;,àw,hx,yc,.v,kb,&#039;n,q\,,g;;,x:,w!,BA,ÉZ,PE,OR,ÈT,ÇY,VU,DI,LO,FP,J¨,Z£,AQ,US,ID,EF,?G,CH,TJ,SK,NL,RM,M%,!*,Ê&amp;gt;,ÀW,HX,YC,:V,KB,\\;N,QG,G.,X/,W§,@œ,_&amp;amp;,&amp;quot;é,«&amp;quot;,»&#039;,((,)-,+è,-_,*ç,/à,=),%=,$Œ,^°,µ+,#“,{´,}~,&amp;lt;#,&amp;gt;{,[[,]|,±`,¬\,×^,÷@,¯],%}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autres options utiles ==&lt;br /&gt;
&lt;br /&gt;
Quelques petites astuces. À ajouter dans le fichier {{C|~/.vimrc}}.&lt;br /&gt;
&lt;br /&gt;
=== Appliquer automatiquement les modifications de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
La première chose à faire pour jouer avec {{C|~/.vimrc}} !&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
  autocmd! bufwritepost .vimrc source ~/.vimrc&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : cette astuce semble ne pas fonctionner pour certains. Si vous constatez des problèmes, passez-vous en et relancez Vim après chaque modification de {{c|~/.vimrc}} que vous voulez tester…&lt;br /&gt;
&lt;br /&gt;
=== Espaces insécables ===&lt;br /&gt;
&lt;br /&gt;
Les espaces insécables du Bépo peuvent poser problème, notamment dans des fichiers de code brut ([[ASCII]]) où ils génèrent des erreurs. On a deux façons simples de s’en prémunir :&lt;br /&gt;
&lt;br /&gt;
; Colorier les espaces insécables pour mieux les repérer :&lt;br /&gt;
Ajouter les lignes suivantes &#039;&#039;après la ligne « syntax on »&#039;&#039; le cas échéant. Bien entendu, on peut changer la couleur.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; colorise les nbsp&lt;br /&gt;
highlight NbSp ctermbg=lightgray guibg=lightred&lt;br /&gt;
match NbSp /\%xa0/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
; Faire apparaître les insécable avec un autre caractère&lt;br /&gt;
Ils apparaitront avec le caractère choisi au bout de la première ligne. Ici le « · »&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:·&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Autre exemple trouvé sur [http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/ Gnusquad] avec plus de caractères « invisibles » affichés :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:¤,tab:&amp;gt;-,trail:¤,extends:&amp;gt;,precedes:&amp;lt;&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Mapper l’espace insécable en « Escape » :&lt;br /&gt;
à éviter pour rédiger du texte mais très pratique pour taper du code ! &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; interdit les nbsp en mode insertion (il y a une espace insécable)&lt;br /&gt;
inoremap   &amp;lt;Esc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Esc] plus accessible ===&lt;br /&gt;
&lt;br /&gt;
Vim fait un grand usage de la touche {{ta|Escape}} qui se trouve loin (&#039;&#039;a priori&#039;&#039; en haut à gauche). On peut modifier le comportement de {{t|Tab}} pour qu’il serve de touche {{t|Esc}}. On garde un {{t|Tab}} en {{tt|Maj|Tab}}. Attention, &#039;&#039;à ne pas utiliser dans Vimperator&#039;&#039;, on y a besoin du Tab direct…&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : {{tt|Ctrl|C}} est un alias standard de {{t|Esc}}, plus central, mais c&#039;est un raccourci à deux touches. À vous de voir si cette combinaison est agréable ou pas sur votre clavier physique.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Tab fait un Esc, Maj+Tab fait un Tab&lt;br /&gt;
inoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
inoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Même chose, mais en mode visuel&lt;br /&gt;
vnoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
vnoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les possesseurs de clavier TypeMatrix peuvent aussi remapper la touche « desktop » en Esc en suivant les explications présentées sur [[TypeMatrix#Trucs_et_astuces|la page dédiée au TypeMatrix]].&lt;br /&gt;
&lt;br /&gt;
=== [PgUp] / [PgDn] plus accessibles ===&lt;br /&gt;
&lt;br /&gt;
Vim utilise par défaut {{tta|Ctrl|B}} et {{tta|Ctrl|F}} pour aller à la page précédente ou suivante. Ce n&#039;est déjà pas la panacée en Qwerty, mais en Bépo, c&#039;est l&#039;horreur, car ces deux touches sont à l&#039;exact opposé l&#039;une de l&#039;autre ! Pour y remédier, on peut par exemple utiliser les touches {{t|BackSpace}} et {{t|Espace}}, c&#039;est bien plus confortable :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;PageUp&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;PageDown&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativement, si on préfère défiler des demi-pages, on peut utiliser les &#039;&#039;mappings&#039;&#039; suivants :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;C-U&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;C-D&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tant qu&#039;on y est, on peut aussi utiliser {{t|Entrée}} pour centrer la page sur le curseur (ne fonctionne pas avec [[Vimperator]]) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 noremap &amp;lt;Return&amp;gt; zz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixer l’encodage des fichiers en utf-8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 set encoding=utf-8&lt;br /&gt;
 set fileencoding=utf-8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plus de détails [http://ubunteros.tuxfamily.org/spip.php?article182 ici].&lt;br /&gt;
&lt;br /&gt;
=== Lancer un navigateur web depuis Vim ===&lt;br /&gt;
&lt;br /&gt;
Hors sujet, mais vraiment belle astuce.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » et « v,s » lancent firefox et une recherche (définition ou synonyme) dans le tlfi sur le mot courant&lt;br /&gt;
vmap ,d :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
vmap ,s :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » comme ci-dessus mais pour google&lt;br /&gt;
vmap ,g :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;cword&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot;« v,w » comme ci-dessus mais pour wikipedia&lt;br /&gt;
vmap ,w :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » comme ci-dessus mais pour le conjugueur&lt;br /&gt;
vmap ,c :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,o » ouvre l’url sur laquelle on se trouve dans firefox&lt;br /&gt;
vmap ,o :&amp;lt;C-U&amp;gt;!firefox &amp;quot;&amp;lt;cfile&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut que Firefox soit dans le {{c|$PATH}}, sinon, il faut indiquer le chemin complet de l’exécutable. Les raccourcis proposés sont tous en « ,x » pour qu’il n’y ait pas d’interaction malencontreuse avec d’autres commandes, mais on peut changer cette partie.&lt;br /&gt;
&lt;br /&gt;
Variante qui tue, en utilisant un navigateur texte à l&#039;intérieur de Vim :&lt;br /&gt;
* enregistrer [http://www.vim.org/scripts/script.php?script_id=2227 browser.vim] dans le dossier {{C|~/.vim/plugin/}}&lt;br /&gt;
* facultatif : remplacer « lynx » par « w3m » partout dans le fichier {{C|browser.vim}} (w3m supporte l&#039;utf-8, contrairement à lynx)&lt;br /&gt;
* ajouter les lignes suivantes dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » cherche la définition du mot courant dans le TLFI&lt;br /&gt;
vmap ,d :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,s » cherche les synonymes du mot courant dans le TLFI&lt;br /&gt;
vmap ,s :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » cherche le mot courant dans Google&lt;br /&gt;
vmap ,g :call OpenWebBrowser(&amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » cherche le mot courant dans le conjugueur&lt;br /&gt;
vmap ,c :call OpenWebBrowser(&amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,w » cherche le mot courant Wikipedia&lt;br /&gt;
vmap ,w :call OpenWebBrowser(&amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; ouvre l’URL sur laquelle on se trouve&lt;br /&gt;
vmap ,o :call OpenWebBrowser(&amp;quot;&amp;lt;C-R&amp;gt;&amp;lt;C-A&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Les URLs proposées ici correspondent à un usage de Vim en traitement de texte ; les développeurs auront tôt fait de remplacer ces URLs par des documentations d&#039;API en ligne.&lt;br /&gt;
&lt;br /&gt;
=== Exemples de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
* celui de [[Utilisateur:Kaze|Kazé]] est [[Utilisateur:Kaze/vimrc|ici]]&lt;br /&gt;
* celui de [[Utilisateur:Nemolivier|NémOlivier]] est [[Utilisateur:Nemolivier/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Jd|jd]] est [[Utilisateur:Jd/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Carnifex|Carnifex]] est [[Utilisateur:Carnifex/.vimrc|ici]], et le .vimrc.bepo [[Utilisateur:Carnifex/.vimrc.bepo|là]]&lt;br /&gt;
* celui de [[Utilisateur:Damien_thiriet|Damien Thiriet]] est [[Utilisateur:Damien_thiriet#mon_.vimrc|là]], avec des fichiers annexes d’abbréviations&lt;br /&gt;
* celui de [[Utilisateur:Denis_S|Denis S]] est en partie [[Utilisateur:Denis_S#Vim_en_bépo|là]]&lt;br /&gt;
&lt;br /&gt;
== « Bépo-Vimification » du poste de travail ==&lt;br /&gt;
&lt;br /&gt;
Bon nombre d&#039;applications courantes utilisent les touches de déplacement de Vim, sans toutefois utiliser le fichier ~/.vimrc pour la configuration de ces touches. Moyennant un effort de configuration, on peut donc disposer d&#039;un mode Vim, avec les touches de déplacement en {CTSR}, sur l&#039;ensemble de son poste de travail.&lt;br /&gt;
&lt;br /&gt;
=== Navigateurs web ===&lt;br /&gt;
&lt;br /&gt;
;Uzbl&lt;br /&gt;
[http://www.uzbl.org/ Uzbl] (prononcez &amp;quot;usable&amp;quot;) est un navigateur web qui se pilote entièrement au clavier avec les raccourcis clavier de vim. Fondé sur webkit, uzbl est beaucoup plus léger que vimperator.&lt;br /&gt;
&lt;br /&gt;
;Dwb&lt;br /&gt;
[http://portix.bitbucket.org/dwb/ dwb] est un autre navigateur web supportant des raccourcis vim. Intuitif d&#039;utilisation, la commande Sk (Settings/Keybindings) affiche la liste des actions et leurs raccourcis associés. Les raccourcis peuvent être réattribués à partir de cette page.&lt;br /&gt;
&lt;br /&gt;
;Firefox&lt;br /&gt;
[http://vimperator.mozdev.org/ Vimperator] est une extension Firefox permettant de piloter confortablement Firefox au clavier, et même d&#039;utiliser Vim comme éditeur pour les champs texte. Elle peut partager une partie de son fichier de configuration avec Vim (v. plus haut), il suffit d&#039;ajouter cette ligne au fichier {{C|~/.vimperatorrc}} :&lt;br /&gt;
 source ~/.vimrc.bepo&lt;br /&gt;
&lt;br /&gt;
Une aide sur l&#039;utilisation bépo de vimperator est disponnible [[vimperator|sur cette page]].&lt;br /&gt;
&lt;br /&gt;
À noter : Vimperator est conçu pour fonctionner avec les chiffres en accès direct, ce qui est gênant (mais pas insurmontable) pour sélectionner des liens via le mécanismes de &#039;&#039;quick hints&#039;&#039; ({{t|f}} et {{t|F}}). Le mapping proposé pour avoir les chiffres en accès direct dans Vim ne fonctionne pas avec Vimperator.&lt;br /&gt;
&lt;br /&gt;
Voir [http://vimperator.cutup.org/index.php?title=Configuration le wiki de Vimperator] ou la &amp;lt;code&amp;gt;:help&amp;lt;/code&amp;gt; pour plus d&#039;informations sur la configuration.&lt;br /&gt;
&lt;br /&gt;
Voir également [http://code.google.com/p/gvimail/ GViMail] pour utiliser Vimperator avec Gmail.&lt;br /&gt;
&lt;br /&gt;
[http://5digits.org/pentadactyl/ pentadactyl] est une autre extension firefox très similaire à Vimperator. Avantage notable de pentadactyl sur vimperator: la possibilité de [http://superuser.com/questions/691763/how-do-i-remap-keys-in-caret-mode-and-textarea-mode-in-vimperator/691764#691764 remapper les touches du mode caret]. D&#039;après [http://5digits.org/pentadactyl/faq#faq-differences la faq] de pentadactyl, &amp;lt;i&amp;gt;The main difference is that Vimperator&#039;s most active developers have moved on to Pentadactyl. More qualitative changes may be found in the change log, but essentially add up to what we consider more active and thoughtful development.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Vimprobable&lt;br /&gt;
[http://sourceforge.net/apps/trac/vimprobable/ Vimprobable] est un navigateur à part entière qui ressemble fort à Vimperator.&lt;br /&gt;
&lt;br /&gt;
;Chrome / Chromium&lt;br /&gt;
Il existe plusieurs extensions visant à émuler les commandes Vim sous Chrome. On peut citer [https://chrome.google.com/extensions/detail/cdkefpgghindmmclchkbcdgikbpnbiaj YakShave], [https://chrome.google.com/extensions/detail/godjoomfiimiddapohpmfklhgmbfffjj Vrome] et [https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb Vimium]. Les deux premières sont assez complexes mais extensivement configurables via un serveur à lancer en tâche de fond — indépendamment de Chrome. La dernière a le mérite de rester simple et de remplir assez bien son office. Voici de quoi lui apprendre à se comporter un peu mieux en bépo (lignes à copier dans la section « Adanced options &amp;gt;&amp;gt; Key mappings » des réglages de l’extension):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
map t scrollDown&lt;br /&gt;
map s scrollUp&lt;br /&gt;
map c scrollLeft&lt;br /&gt;
map r scrollRight&lt;br /&gt;
map j createTab&lt;br /&gt;
map gé nextTab&lt;br /&gt;
map gb previousTab&lt;br /&gt;
map h reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À noter : une extension apparue plus récemment, [https://chrome.google.com/webstore/detail/gghkfhpblkcmlkmpcpgaajbbiikbhpdi Vichrome], mérite le détour. Elle paraît mieux finie que les précédentes. Si vous souhaitez l’utiliser en bépo, ces lignes sont un bon point de départ (ajoutez-les à la section « Key Mapping » des options de l’extension) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
# bépo&lt;br /&gt;
nmap t ScrollDown&lt;br /&gt;
nmap s ScrollUp&lt;br /&gt;
nmap c ScrollLeft&lt;br /&gt;
nmap r ScrollRight&lt;br /&gt;
nmap j TabOpenNew&lt;br /&gt;
nmap gé TabFocusNext&lt;br /&gt;
nmap gb TabFocusPrev&lt;br /&gt;
nmap h TabReload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Thunderbird ===&lt;br /&gt;
&lt;br /&gt;
[http://muttator.mozdev.org/ Muttator] est l&#039;équivalent de Vimperator pour Thunderbird. Le projet est encore en début de développement, mais serait d&#039;ores et déjà utilisable (non testé).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;À compléter.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
Vim n&#039;est qu&#039;un éditeur texte, pas un IDE. Cependant, la plupart des IDEs disposent d&#039;un mode Vi, nativement ou non.&lt;br /&gt;
&lt;br /&gt;
;Emacs&lt;br /&gt;
Emacs dispose nativement d&#039;un mode Vi qui &amp;lt;del&amp;gt;le rend utilisable&amp;lt;/del&amp;gt; permet de déplacer le curseur sans bouger les mains (pas testé ;-)).&lt;br /&gt;
&lt;br /&gt;
;Komodo&lt;br /&gt;
Komodo et OpenKomodo disposent nativement d&#039;un mode Vi.&lt;br /&gt;
&lt;br /&gt;
;Eclipse&lt;br /&gt;
il y a un [http://vimplugin.org/ plugin Vim] pour Eclipse ; il y a aussi le projet [http://eclim.sourceforge.net/ Eclim], qui permet d&#039;utiliser Vim comme éditeur de texte dans Eclipse.&lt;br /&gt;
&lt;br /&gt;
;Visual Studio™&lt;br /&gt;
[http://www.viemu.com/ ViEmu] propose un plugin Vim (non-libre) pour Visual Studio, ainsi que pour Word™ et Outlook™.&lt;br /&gt;
&lt;br /&gt;
;Pida&lt;br /&gt;
[http://pida.co.uk/ Pida] utilise nativement vim ou bien Emacs.&lt;br /&gt;
&lt;br /&gt;
=== Outils du shell ===&lt;br /&gt;
De nombreux outils courants du shell utilisent nativement les raccourcis Vim :&lt;br /&gt;
* [[wp:Less|less]] : le &#039;&#039;pager&#039;&#039; le plus courant de nos jours, qui succède avantageusement à &#039;&#039;more&#039;&#039; ; c&#039;est lui qui met en forme les pages man, notamment. Il est configurable via [http://unixhelp.ed.ac.uk/CGI/man-cgi?lesskey lesskey].&lt;br /&gt;
* [[most]] : un &#039;&#039;pager&#039;&#039; plus puissant encore qui peut être utilisé à la place de less pour les pages de man.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Aptitude_(logiciel) aptitude] : le gestionnaire de paquets Debian est [http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s02.html configurable] lui aussi.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/W3m w3m] : navigateur web, moins connu que Lynx, mais qui a néanmoins l&#039;avantage d&#039;être compatible utf-8, entre autres. On peut [http://w3m.sourceforge.net/MANUAL#Key:custom redéfinir les raccourcis clavier] dans le fichier {{C|~/.w3m/config}}.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Mutt mutt] : client mail. On peut utiliser ses propres mappings ([http://www103.pair.com/parv/comp/unix/cf/mail/mutt-keys-hooks.cf exemple]).&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Muttng muttng] : fork de mutt, qui inclut un certain nombre de patches et qui serait plus [http://mutt-ng.berlios.de/manual/manual.html#id2525213 configurable] ([http://lists.berlios.de/pipermail/mutt-ng-users/2006-May/000196.html exemple]).&lt;br /&gt;
* [[wp:Newsbeuter|Newsbeuter]] : [[wp:Agrégateur|Agrégateur de flux de syndication]] en console fonctionnant comme mutt. Il est possible de redéfinir les binding pour les [[Newsbeuter|adapter à bépo]].&lt;br /&gt;
* [[ranger]] : un explorateur de fichier avec interface légère utilisable au clavier. La configuration des raccourcis se fait dans le fichier ~/.config/ranger/rc.conf . Pour créer ce fichier et les autres fichiers de conf utiliser la commande : ranger --copy-config=all&lt;br /&gt;
&lt;br /&gt;
Les plus gravement atteints peuvent utiliser des raccourcis Vi dans le terminal :&lt;br /&gt;
* en modifiant le fichier [http://vim.wikia.com/wiki/Use_vi_shortcuts_in_terminal ~/.inputrc]&lt;br /&gt;
* en utilisant [http://fr.wikipedia.org/wiki/Zsh zsh], qui possède un mode vi ; il suffit d&#039;ajouter les lignes suivantes au fichier {{C|~/.zshrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # Mode vim&lt;br /&gt;
 bindkey -v&lt;br /&gt;
 &lt;br /&gt;
 # On remappe pour le bépo&lt;br /&gt;
 bindkey -a c vi-backward-char&lt;br /&gt;
 bindkey -a r vi-forward-char&lt;br /&gt;
 bindkey -a t vi-down-line-or-history&lt;br /&gt;
 bindkey -a s vi-up-line-or-history&lt;br /&gt;
 bindkey -a $ vi-end-of-line&lt;br /&gt;
 bindkey -a 0 vi-digit-or-beginning-of-line &lt;br /&gt;
 bindkey -a h vi-change&lt;br /&gt;
 bindkey -a H vi-change-eol&lt;br /&gt;
 bindkey -a dd vi-change-whole-line&lt;br /&gt;
 bindkey -a l vi-replace-chars&lt;br /&gt;
 bindkey -a L vi-replace&lt;br /&gt;
 bindkey -a k vi-substitute  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sous X, il est parfois possible détecter si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement). Il suffit d’enfermer les {{C|bindkey}} dans un bloc {{C|if}} :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
if [[ $DISPLAY != &#039;&#039; &amp;amp;&amp;amp; `setxkbmap -print|grep bepo` != &#039;&#039; ]]; then&lt;br /&gt;
    ...&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;autres applications utilisent les raccourcis Vi mais ne sont pas remappables. Vous pouvez toujours contacter leurs auteurs pour leur demander d&#039;inclure un mécanisme de &#039;&#039;mapping&#039;&#039;, ou recompiler ces outils avec des &#039;&#039;mappings&#039;&#039; bépo.&lt;br /&gt;
* [http://vifm.sourceforge.net/ vifm] : très bon explorateur de fichiers, en pleine phase de développement.&lt;br /&gt;
* [http://cmus.sourceforge.net/ cmus] : lecteur audio. Le site officiel précise qu&#039;il supporte des &#039;&#039;dynamic keybindings&#039;&#039;, ([[cmus|adaptation à bépo]]).&lt;br /&gt;
* [http://www.brain-dump.org/projects/dvtm/ dvtm] : permet de scinder n’importe quel émulateur de terminal à la manière d’un gestionnaire de fenêtres en mosaïque. Tout simplement génial, notamment en conjonction avec Vim, mais il faut le recompiler pour changer les raccourcis clavier.&lt;br /&gt;
&lt;br /&gt;
=== Lecteurs PDF ===&lt;br /&gt;
Certains lecteurs PDF s’utilisent avec des raccourcis « vim-like » :&lt;br /&gt;
* [http://pwmt.org/projects/zathura/ Zathura] est un lecteur PDF en apparence léger mais utilisant des bibliothèques lourdes en réalité ce qui n’ôte rien à ses qualités. Pour l’utiliser avec BÉPO il nécessite [[zathura|quelques configurations]].&lt;br /&gt;
* [[wp:evince|Evince]] est le lecteur PDF du projet GNOME, il dispose de quelques fonctionnalités vim-like, reste à savoir comment le « bépoïfier ».&lt;br /&gt;
&lt;br /&gt;
=== Gestionnaires de fenêtres en mosaïque ===&lt;br /&gt;
&lt;br /&gt;
Ces gestionnaires de fenêtres sont des alternatives intéressantes pour ceux qui cherchent à se passer complètement de la souris. Ils sont conçus exclusivement pour la productivité : pas de décorations de fenêtre, les fenêtres sont placées automatiquement par le gestionnaire pour occuper tout l&#039;espace disponible : typiquement, une fenêtre « maître » qui occupe une large colonne de l&#039;écran, et toutes les autres fenêtres « auxiliaires » qui se partagent l&#039;espace restant. Le lancement des applications et les manipulations de fenêtres (sélection, déplacement, passage d&#039;une fenêtre auxiliaire en maître) se font entièrement au clavier.&lt;br /&gt;
&lt;br /&gt;
On peut citer [http://fr.wikipedia.org/wiki/Ion_(logiciel) Ion] (le plus connu) et [http://fr.wikipedia.org/wiki/Ratpoison Ratpoison]/[http://www.nongnu.org/stumpwm/ StumpWM] (le second est une ré-écriture en CommonLisp du premier, par le même auteur), mais ces gestionnaires de fenêtres sont un peu hors-sujet dans la mesure où ils utilisent une logique de raccourcis clavier de type Emacs. À l&#039;inverse, d&#039;autres gestionnaires de fenêtres utilisent nativement des raccourcis Vim de type [Mod]+[HJKL] pour les manipulations de fenêtres, et s&#039;intègrent très bien dans un environnement « vimiste ».&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Wmii wmii]&lt;br /&gt;
wmii est le plus facile à prendre en main. C&#039;est le seul de ces gestionnaires de fenêtres en mosaïque à conserver des décorations de fenêtres (très minimalistes, sans icone), ce qui permet de déplacer et redimensionner les fenêtres uniquement à la souris, et, plus prosaïquement, de repérer très facilement la fenêtre active. C&#039;est aussi le seul à ne pas utiliser le concept de zones maître/auxiliaire : il est possible de créer autant de colonnes que souhaité, par contre leur redimensionnement requiert la souris. Ainsi, l&#039;utilisation de logiciels comportant de nombreuses fenêtres (ex : GIMP) ne pose aucun problème, même en mode mosaïque. Il intègre un excellent lanceur d&#039;applications, [http://en.wikipedia.org/wiki/Dmenu dmenu] (activé avec Alt+P).&lt;br /&gt;
&lt;br /&gt;
Il est aisément configurable via le fichier {{C|wmiirc}}.&lt;br /&gt;
&lt;br /&gt;
; [http://dwm.suckless.org/ dwm]&lt;br /&gt;
dwm est le petit frère de wmii : les deux projets sont développés en parallèle par le même auteur. dwm partage certains outils avec wmii, dont dmenu. Toutefois, les deux projets sont assez différents, dwm étant encore plus minimaliste : aucune décoration de fenêtre, la mise en page est limitée à deux colonnes (une zone « maître » et une zone auxiliaire), aucun langage de script, aucun fichier de configuration. Le code source est ainsi encore plus robuste et compact (limité à 2 000 lignes, contre 10 000 pour wmii).&lt;br /&gt;
 &lt;br /&gt;
dwm doit être recompilé pour toute modification de configuration, tous les paramètres étant dans le fichier {{C|config.h}} — voir [http://www.xsnake.net/howto/dwm/dwm-eng.php ce tutoriel].&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Awesome_(logiciel) Awesome]&lt;br /&gt;
Awesome est un fork de dwm, et lui reste très proche dans l&#039;esprit : même système de vues, même mise en page sur deux colonnes maître / auxiliaire. Il est plus complet que dwm, scriptable en Lua et configurable via un fichier externe. Il ne dispose pas encore d&#039;un équivalent de dmenu (c&#039;est prévu pour la version 3) : pour l&#039;instant (version 2.3.1), il faut se [http://awesome.naquadah.org/wiki/Awesome-menu_2.x/fr créer un menu d&#039;applications] soi-même, et lancer les autres applications depuis un terminal.&lt;br /&gt;
&lt;br /&gt;
Awesome est [http://awesome.naquadah.org/wiki/Awesomerc_2.x/fr configurable] via le fichier {{C|~/.awesomerc}}. Contrairement à wmii et dwm, Awesome est prévu pour fonctionner avec des dispositions de clavier ayant les chiffres en accès direct (sélection / changement de vue), il faut donc reconfigurer les touches [1234567890] pour le bépo.&lt;br /&gt;
&lt;br /&gt;
[[Awesome|Plus de détails pour la version 3.x]]&lt;br /&gt;
&lt;br /&gt;
; [http://xmonad.org/ Xmonad]&lt;br /&gt;
Xmonad utilise dmenu et reprend le principe des deux zones maître / auxiliaire de dwm, mais il est beaucoup plus complet : les manipulations de fenêtres ne sont pas limitées à un système de colonnes, et on peut même libérer une partie de l&#039;écran pour inclure un &#039;&#039;panel&#039;&#039; type KDE, Gnome ou Xfce4. De plus, Xmonad est très modulaire et dispose déjà de nombreuses extensions. C&#039;est un projet relativement récent (première &#039;&#039;release&#039;&#039; en avril 2007), écrit dans le langage fonctionnel Haskell. Voir [http://bepo.pastebin.com/m4e84f50e cet extrait] de la configuration de Gaëtan &#039;&#039;(à peaufiner)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Aide]]&lt;br /&gt;
[[Catégorie:Logiciels]]&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23744</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23744"/>
		<updated>2014-09-23T13:29:46Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : remappage gmail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise pas. Pour rester compatible avec pentadactyl, les touches suivantes ne sont pas associées à des actions:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
CTSR    page précédente/tab suivant/tab précédent/page suivante&lt;br /&gt;
f,F     follow hint&lt;br /&gt;
o,O     open website&lt;br /&gt;
a,A     open website in new tab&lt;br /&gt;
d       kill tab&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Voici donc mes raccourcis gmail&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
s	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
.       sélectionne la discussion (poinçonne la case)&lt;br /&gt;
p	supprime (p est un d à l&#039;envers)&lt;br /&gt;
e	ouvrir l&#039;[e]mail sélectionné&lt;br /&gt;
m	écrire un nouveau [m]essage&lt;br /&gt;
u/U	annuler la dernière action ([u]ndo)/mettre à jour la conversation ([u]pdate)&lt;br /&gt;
à	retour [à] la liste des conversations&lt;br /&gt;
q/Q	marquer comme lu/non lu (pas de mnémo)&lt;br /&gt;
n/N	répondre (a[n]swer)/répondre à tous&lt;br /&gt;
w	transférer (for[w]ard)&lt;br /&gt;
l	ouvre le menu « appliquer le [l]ibellé »&lt;br /&gt;
x	archiver (x ressemble à la lettre grecque chi)&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception ([i]nbox)&lt;br /&gt;
é	accède aux messages envoy[é]s&lt;br /&gt;
b	accède aux [b]rouillons&lt;br /&gt;
gc	accède aux [c]ontacts&lt;br /&gt;
gt	accède à [t]ous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un [l]abel&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23731</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23731"/>
		<updated>2014-09-19T01:59:26Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : i3 config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# todo: add a &amp;quot;move&amp;quot; mode to move windows around without the modificator&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23730</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23730"/>
		<updated>2014-09-17T15:57:31Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Firefox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ de saise comme moteur de recherche via le clic droit, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23729</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23729"/>
		<updated>2014-09-17T15:33:44Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Nouvelle disposition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ TAB    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ ESC    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ d&#039;entrée comme moteur de recherche, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23728</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23728"/>
		<updated>2014-09-17T15:28:50Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ d&#039;entrée comme moteur de recherche, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D, ou avec o dans vimperator/pentadactyl).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [http://www.wordreference.com/enfr/ cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23727</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23727"/>
		<updated>2014-09-17T15:26:48Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ d&#039;entrée comme moteur de recherche, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-L ou ALT-D).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [www.wordreference.com/enfr cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23726</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23726"/>
		<updated>2014-09-17T15:26:07Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout d&amp;#039;une section sur firefox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Firefox==&lt;br /&gt;
Avec l&#039;addon [https://addons.mozilla.org/en-US/firefox/addon/add-to-search-bar/ add to search bar] on peut définir n&#039;importe quel champ d&#039;entrée comme moteur de recherche, et on peut lui associer un mot-clef. Le mot-clef est essentiel, il permet de sélectionner ce moteur de recherche lorsqu&#039;on tape un url dans firefox (avec CTRL-l).&lt;br /&gt;
&lt;br /&gt;
Par exemple, j&#039;ai associé le mot-clef « en » au champ de recherche de [www.wordreference.com/enfr cette page] de façon à ce que la recherche &amp;lt;code&amp;gt;en cupboard&amp;lt;/code&amp;gt; ouvre la page de traduction du mot cupboard. D&#039;autres exemples d&#039;utilisation: la barre de recherche dans un wiki ou sur un forum, etc. D&#039;un point de vue d&#039;ergonomie plus les mots-clef sont courts, mieux c&#039;est: « gr » est mon mot-clef pour la recherche de goodreads.com au lieu de « goodreads ».&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23725</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23725"/>
		<updated>2014-09-17T15:19:43Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout du chapitre d&amp;#039;ergonomie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ergonomie de mon système=&lt;br /&gt;
Pour citer [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Je &amp;lt;i&amp;gt;déteste&amp;lt;/i&amp;gt; mon clavier. Je n&#039;utilise jamais deux frappes de clavier si je peux n&#039;en utiliser qu&#039;une.&amp;lt;br&amp;gt;&lt;br /&gt;
[…]&amp;lt;br&amp;gt;&lt;br /&gt;
Évitez les fichiers de configuration (.vimrc) préécrits par d&#039;autres. Commencez par un .vimrc vide et remplissez-le au fur et à mesure de vos besoins.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auquel j&#039;ajoute le conseil suivant: n&#039;ayez pas peur de remapper une fonction sur un raccourci clavier déjà existant. Si vous ne connaissez pas/n&#039;utilisez pas ce raccourci, vous n&#039;y perdez rien.&lt;br /&gt;
&lt;br /&gt;
Et mes conseils pour remapper/créer des raccourcis claviers:&lt;br /&gt;
* trouvez un moyen mnémotechnique entre la fonction et le raccourci clavier, même absurde: sous gmail, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; est associé à la fonction répondre (mnémo: ré[p]ondre)&lt;br /&gt;
* associez de préférence vos raccourcis clavier sur la homerow: sous gmail, j&#039;ai associé &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; à la fonction archiver parce que c&#039;est la lettre la plus accessible sur le clavier&lt;br /&gt;
* pour les vimistes: si vous êtes à court de raccourcis clavier pour vos fonctions, n&#039;ayez pas peur des trigrammes faciles (par exemple, {aui} ou {ane}).&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23724</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23724"/>
		<updated>2014-09-17T14:37:53Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Autour du clavier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [[https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Claviers alternatifs==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* [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. :-)&lt;br /&gt;
* L&#039;[http://ergodox.org/Default.aspx Ergodox] a l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Vim&amp;diff=23706</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Vim&amp;diff=23706"/>
		<updated>2014-09-11T02:18:25Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout d&amp;#039;une note sur pentadactyl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://fr.wikipedia.org/wiki/Vim Vim] est un éditeur de texte ergonomique, libre et disponible sous de nombreux systèmes d&#039;exploitation. Cette page tente de regrouper le maximum d&#039;informations relatives à son utilisation avec la disposition bépo.&lt;br /&gt;
&lt;br /&gt;
== Ergonomie ==&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|450px|right|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
=== Pourquoi utiliser Vim ? ===&lt;br /&gt;
D&#039;un point de vue [[ergonomie|ergonomique]], Vim a été optimisé pour la prévention des [[TMS|troubles musculosquelettiques]] :&lt;br /&gt;
* il n&#039;utilise que très peu de raccourcis : plutôt que de recourir à des [[Modificateur|touches modificatrices]] ([[Ctrl]], [[Alt]] ou la touche [[Meta]]), il utilise plusieurs « modes » de fonctionnement (quatre modes : &#039;&#039;normal&#039;&#039;, &#039;&#039;insertion&#039;&#039;, &#039;&#039;visualisation&#039;&#039; et &#039;&#039;commande&#039;&#039;), ce qui permet d&#039;utiliser toutes les commandes en position « dactylo », c&#039;est-à-dire avec les doigts proches de la position de repos, prêt à taper du texte à tout instant ;&lt;br /&gt;
* les déplacements du curseur peuvent (devraient, à terme) se faire sans utiliser les flèches du clavier ou la souris : {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} déplacent le curseur case par case, {{ta|W}} {{ta|E}} {{ta|B}} déplacent le curseur mot à mot (équivalent à {{tt|Ctrl|flèche}}). Les mains restent ainsi en position dactylo pour toutes les manipulations de texte, &#039;&#039;y compris les déplacements&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation des différents modes de Vim permet de se passer complètement de la souris et d&#039;éliminer la plupart des raccourcis contraignants qui brisent la frappe, tout en diminuant les mouvements de main et la quantité de touches pressées dans la journée.&lt;br /&gt;
&lt;br /&gt;
Le prix à payer est un temps d&#039;apprentissage assez long — plus long que sur n&#039;importe quel autre éditeur de texte. Toutefois, lorsqu&#039;on maîtrise les bases de Vim, le gain en confort et en productivité est tel qu&#039;on n&#039;utilise plus aucun autre éditeur — et on finit même par souhaiter [[#.C2.AB_B.C3.A9po-Vimification_.C2.BB_du_poste_de_travail|« Vimifier » les applications bureautiques courantes]] pour profiter de cette ergonomie sur l&#039;ensemble du poste de travail. Hors, les bases de Vim ne sont pas difficiles à apprendre, notamment parce qu&#039;il existe de bons tutoriels « par l&#039;exemple »… et que vous utilisez la disposition bépo ! &lt;br /&gt;
&lt;br /&gt;
Là où le bât blesse, c&#039;est que Vim a été conçu pour un clavier Qwerty (contexte américain) :&lt;br /&gt;
* le fait que les touches {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} correspondent à {{t|C}} {{t|T}} {{t|R}} {{t|S}} complique singulièrement la vie des [[bépoïstes]], même pour les « Vimistes » convaincus ;&lt;br /&gt;
* Vim n&#039;est pas parfaitement utilisable en l&#039;état avec le Bépo, contrairement à l&#039;Azerty ou même le Dvorak-US, essentiellement parce que les touches {{t|J}} et {{t|K}} ne sont pas côte-à-côte.&lt;br /&gt;
Il convient donc de configurer Vim pour l&#039;utiliser en Bépo – c&#039;est l&#039;objectif de cette page.&lt;br /&gt;
&lt;br /&gt;
=== Tutoriels et ressources Vim ===&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Vim donne accès à un tutoriel spécialement étudié pour les débutants (mais qui fait une très bonne doc de rappel pour les &#039;&#039;moins&#039;&#039; débutants). Il est accessible en français par la commande&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vimtutor fr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Le principe est le suivant : un fichier texte est ouvert dans Vim et présente les bases de Vim. Vous êtes invité à modifier sur place ce fichier, c&#039;est-à-dire à tester les commandes et les exemples décrits dans le fichier. Comme le fichier modifié est en réalité une copie du tutorial, vous pouvez à tout moment relancer {{c|vimtutor}} pour repartir sur une version propre, si vous en arrivez à faire n&#039;importe quoi ou à bloquer dans un mode !&lt;br /&gt;
&lt;br /&gt;
* Les essentiels :&lt;br /&gt;
** [http://www.linux-france.org/article/appli/vi/intro.html Une anti-sèche Vim (les commandes essentielles)]&lt;br /&gt;
** [http://nemolivier.free.fr/vimqrc-fr-bepo.html Une anti-sèche Vim, &#039;&#039;version bépo&#039;&#039;]&lt;br /&gt;
** [http://www.swaroopch.com/notes/Vim_en:Table_of_Contents Un tutoriel assez didactique]&lt;br /&gt;
* En plus :&lt;br /&gt;
** [http://www.faqs.org/docs/Linux-HOWTO/Vim-HOWTO.html Le (gros) tutoriel officiel de Vim]&lt;br /&gt;
** [http://vim.wikia.com/wiki/Main_Page &#039;&#039;Vim Wiki Tips&#039;&#039;, une des ressource les plus complète]&lt;br /&gt;
** [http://www.blog-nouvelles-technologies.net/vim-35-ressources-pour-apprendre-a-lutiliser/ De nombreux liens vers des tutoriels]&lt;br /&gt;
** [http://mirmodynamics.com/post/2004/05/08/150-ledition-efficace-avec-vim Des conseils généraux]&lt;br /&gt;
** [http://www.rayninfo.co.uk/vimtips.html La page qui fait peur…]&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration partielle des touches ==&lt;br /&gt;
On ne cherche ici qu&#039;à implémenter le déplacement en {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} avec le moins d&#039;impact possible sur le reste des commandes Vim.&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|800px|center|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
&lt;br /&gt;
=== Principe ===&lt;br /&gt;
* {{t|C}} {{t|T}} {{t|S}} {{t|R}} remplacent {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} pour les touches de direction ;&lt;br /&gt;
* réciproquement :&lt;br /&gt;
** {{t|H}} remplace {{ta|R}} (&#039;&#039;remplacer&#039;&#039;)&lt;br /&gt;
** {{t|J}} remplace {{ta|T}} (&#039;&#039;jusqu&#039;à&#039;&#039;)&lt;br /&gt;
** {{t|K}} remplace {{ta|S}} (&#039;&#039;substitue&#039;&#039;)&lt;br /&gt;
** {{t|L}} remplace {{ta|C}} (&#039;modification de texte&#039;&#039;), juste à coté de {{t|D}} (&#039;&#039;couper&#039;&#039;)&lt;br /&gt;
* {{t|É}} remplace {{ta|W}} (&#039;&#039;mot suivant&#039;&#039;), le {{t|W}} étant beaucoup trop loin en bépo ;&lt;br /&gt;
* {{t|W}} est utilisé comme {{tt|Ctrl|W}} pour faciliter les manipulations de fenêtre.&lt;br /&gt;
&lt;br /&gt;
C&#039;est la solution la plus simple pour utiliser Vim confortablement en bépo.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vimrc ===&lt;br /&gt;
Créer un fichier {{C|~/.vimrc.bepo}} avec le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; {W} -&amp;gt; [É]&lt;br /&gt;
&amp;quot; ——————————&lt;br /&gt;
&amp;quot; On remappe W sur É :&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
&amp;quot; Corollaire: on remplace les text objects aw, aW, iw et iW&lt;br /&gt;
&amp;quot; pour effacer/remplacer un mot quand on n’est pas au début (daé / laé).&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&amp;quot; Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; [HJKL] -&amp;gt; {CTSR}&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {cr} = « gauche / droite »&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap r l&lt;br /&gt;
&amp;quot; {ts} = « haut / bas »&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
&amp;quot; {CR} = « haut / bas de l&#039;écran »&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap R L&lt;br /&gt;
&amp;quot; {TS} = « joindre / aide »&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
&amp;quot; Corollaire : repli suivant / précédent&lt;br /&gt;
noremap zs zj&lt;br /&gt;
noremap zt zk&lt;br /&gt;
&lt;br /&gt;
&amp;quot; {HJKL} &amp;lt;- [CTSR]&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {J} = « Jusqu&#039;à »            (j = suivant, J = précédant)&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&amp;quot; {L} = « Change »             (l = attend un mvt, L = jusqu&#039;à la fin de ligne)&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&amp;quot; {H} = « Remplace »           (h = un caractère slt, H = reste en « Remplace »)&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&amp;quot; {K} = « Substitue »          (k = caractère, K = ligne)&lt;br /&gt;
noremap k s&lt;br /&gt;
noremap K S&lt;br /&gt;
&amp;quot; Corollaire : correction orthographique&lt;br /&gt;
noremap ]k ]s&lt;br /&gt;
noremap [k [s&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Désambiguation de {g}&lt;br /&gt;
&amp;quot; —————————————————————&lt;br /&gt;
&amp;quot; ligne écran précédente / suivante (à l&#039;intérieur d&#039;une phrase)&lt;br /&gt;
noremap gs gk&lt;br /&gt;
noremap gt gj&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; optionnel : {gB} / {gÉ} pour aller au premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; optionnel : {g&amp;quot;} pour aller au début de la ligne écran&lt;br /&gt;
noremap g&amp;quot; g0&lt;br /&gt;
&lt;br /&gt;
&amp;quot; &amp;lt;&amp;gt; en direct&lt;br /&gt;
&amp;quot; ————————————&lt;br /&gt;
noremap « &amp;lt;&lt;br /&gt;
noremap » &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remaper la gestion des fenêtres&lt;br /&gt;
&amp;quot; ———————————————————————————————&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap ws &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap wc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap wr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap wd &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wo &amp;lt;C-w&amp;gt;s&lt;br /&gt;
noremap wp &amp;lt;C-w&amp;gt;o&lt;br /&gt;
noremap w&amp;lt;SPACE&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap w&amp;lt;CR&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez avoir les chiffres en accès direct en mode normal, remplacez la section « &amp;lt;&amp;gt; en direct » par les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Chiffres en accès direct&lt;br /&gt;
&amp;quot; ————————————————————————&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap 1 &amp;quot;&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap 2 &amp;lt;&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap 3 &amp;gt;&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap 4 (&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap 5 )&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap 6 @&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap 7 +&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap 8 -&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap 9 /&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap 0 *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis ajoutez la ligne suivante dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
source ~/.vimrc.bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nota&#039;&#039; : les utilisateurs de [[Vimperator]] peuvent ajouter la même ligne dans le fichier {{C|~/.vimperatorrc}}.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vim/after/ftplugin/netrw.vim (problèmes avec la commande :Ex)===&lt;br /&gt;
&lt;br /&gt;
Ex est le &#039;&#039;plugin&#039;&#039; d&#039;exploration de fichiers de Vim. On le lance avec « :Ex », « :Sex », « :Vex », « :Tex », ou même « :e . » (qui se résume en « :e. » pour les fainéants).&lt;br /&gt;
&lt;br /&gt;
Malheureusement, {{t|t}} et {{t|s}} ne fonctionnent pas comme « bas/haut » avec cet explorateur, car les &#039;&#039;mappings&#039;&#039; d&#039;Ex ne sont pas définis dans {{C|~/.vimrc}}. Deux solutions :&lt;br /&gt;
* utiliser les flèches plutôt que {{t|C}} {{t|T}} {{t|S}} {{t|R}} avec Ex — voire, au pire, utiliser la souris (sacrilège !)&lt;br /&gt;
* redéfinir les commandes d&#039;Ex dans le fichier {{C|~/.vim/after/ftplugin/netrw.vim}} comme suit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; t&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; s&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Avec ce fichier, {{t|T}} et {{t|S}} fonctionnent désormais comme bas/haut et {{t|K}} permet de changer le type de tri (par nom, par date, etc.). Attention, l&#039;aide affichée par Ex ne correspond plus à la réalité ! (Remarque: si cette méthode ne fonctionne pas, il suffit d&#039;installer le plugin [https://github.com/tpope/vim-pathogen pathogen].)&lt;br /&gt;
&lt;br /&gt;
Solution alternative, trouvée [http://unix.stackexchange.com/questions/31575/remapping-keys-in-vims-directory-view ici]: ajouter le code suivant au &amp;lt;code&amp;gt;.vimrc&amp;lt;/code&amp;gt; (ou au &amp;lt;code&amp;gt;.vimrc.bepo&amp;lt;/code&amp;gt;)&lt;br /&gt;
&amp;lt;source&amp;gt;if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
augroup netrw_dvorak_fix&lt;br /&gt;
    autocmd!&lt;br /&gt;
    autocmd filetype netrw call Fix_netrw_maps_for_dvorak()&lt;br /&gt;
augroup END&lt;br /&gt;
function! Fix_netrw_maps_for_dvorak()&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
    noremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
endfunction&lt;br /&gt;
endif&amp;lt;/source&amp;gt;&lt;br /&gt;
* Avantage de cette méthode: le remappage se trouve dans le &amp;lt;code&amp;gt;.vimrc&amp;lt;/code&amp;gt; et est plus facilement transportable sur une autre machine&lt;br /&gt;
* Inconvénient: nécessite que vim soit compilé avec l&#039;option autocmd, ce qui n&#039;est pas toujours le cas…&lt;br /&gt;
&lt;br /&gt;
=== Remarques ===&lt;br /&gt;
Vimtutor ne tient pas compte du remappage des touches. Pour pouvoir suivre le tutoriel avec les nouvelles touches, il suffit de copier le fichier du tutoriel (son emplacement est indiqué sur la ligne inférieure lors de l&#039;ouverture) dans un autre répertoire (par exemple avec {{c|cp /tmp/tutordtBQfU ~/vimtutor}}) puis d&#039;ouvrir la copie avec vim: {{c|vim vimtutor}}. Vous pouvez également vous entraîner sur [https://gist.githubusercontent.com/Einenlum/6d8e3e44985b08362f47/raw/2da498768d3a8cf017faf64755817aa0c0d232d1/vimtutor-bepo-1-7 cette version de vimtutor] adaptée à la reconfiguration partielle des touches en BÉPO.&lt;br /&gt;
&lt;br /&gt;
Les touches {{t|Ê}} {{t|È}} {{t|À}} {{t|Ç}} sont inutilisées par Vim et peuvent donc être affectées librement. Par exemple, on peut faire de {{t|È}} une touche « début de ligne » :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap è ^&lt;br /&gt;
noremap È 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le guillemet-apostrophe (&#039;&#039;rsqm&#039;&#039;) en direct ne peut pas être réaffecté en une apostrophe droite (probablement parce que le &#039;&#039;rqsm&#039;&#039; n&#039;est pas disponible en Latin-1). Par contre, les adeptes du guillemet-apostrophe en [[accès direct]] peuvent utiliser la touche {{t|ç}} à cet effet :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap ç &#039;&lt;br /&gt;
noremap Ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À faire pour la prochaine version (0.6.7) :&lt;br /&gt;
* inverser {{t|j}} et {{t|h}} pour regrouper les fonctions de recherche de caractères sur une même ligne ;&lt;br /&gt;
* penser à mettre à jour le label de {;/:} ;&lt;br /&gt;
* remplacer &amp;lt;&amp;gt; par «» sur les touches {{t|2}} {{t|3}} ?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Par ailleurs, on pourrait échanger {{t|s}} et {{t|g}} de façon à avoir {{t|g}} sous la main gauche et pour une meilleure cohérence des raccourcis de Vim : les commandes correspondant à « s » et « r », respectivement {{t|g}} et {{t|h}}, se trouveraient alors sous les touches {{t|S}} et {{t|R}}.&amp;lt;/del&amp;gt; &#039;&#039;problématique pour les raccourcis en {{t|g}}, nécessite une série de remappages supplémentaires, et conflit avec l&#039;inversion {{t|j}}/{{t|h}}.&lt;br /&gt;
&lt;br /&gt;
==Problèmes connus==&lt;br /&gt;
===Avec le greffon « Automatic LaTeX Plugin » (ATP)===&lt;br /&gt;
En installant le plugin [http://atp-vim.sourceforge.net/ &#039;&#039;&#039;ATP&#039;&#039;&#039;] pour LaTeX, le mapping de la touche {{t|r}} revient à son réglage normal et il est impossible de forcer son utilisation au mouvement vers la gauche par les configurations ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Pour y remedier, il faut ajouter au fichier {{C|.vim/after/ftplugin/tex.vim}}, la ligne &amp;quot;noremap &amp;lt;buffer&amp;gt; r l&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration à la demande ==&lt;br /&gt;
&lt;br /&gt;
Mettre le script suivant dans {{c|~/.vim/plugin/dvorak-toggle}}. Avec un minimum d&#039;adaptation, il est possible gérer n&#039;importe quelle disposition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Quick Dvorak-layout toggle. &lt;br /&gt;
&amp;quot; when toggled, you can use ctsr to move &lt;br /&gt;
&amp;quot; when untoggled, ctsr will behave as expected by vim &lt;br /&gt;
&amp;quot; &lt;br /&gt;
&amp;quot; This code is under BSD licence, and the author doesn&#039;t even bother tell his identity.&lt;br /&gt;
&lt;br /&gt;
let s:DvorakToggleState = 0&lt;br /&gt;
let s:DvorakToggleOldMap = 0&lt;br /&gt;
&lt;br /&gt;
function! g:DvorakToggle () &lt;br /&gt;
  if s:DvorakToggleState &lt;br /&gt;
    :set langmap=s:DvorakToggleOldMap &lt;br /&gt;
    let s:DvorakToggleState = 0 &lt;br /&gt;
  else  &lt;br /&gt;
    let g:DvorakToggleOldMap = &amp;amp;langmap &lt;br /&gt;
    :set langmap=ctsrCTSRhjklHJKL;hjklHJKLctsrCTSR &lt;br /&gt;
    let s:DvorakToggleState = 1 &lt;br /&gt;
  endif &lt;br /&gt;
endfunction &lt;br /&gt;
&lt;br /&gt;
&amp;quot; use à or whatever you want. Make it easy to access though. &lt;br /&gt;
nmap à :call g:DvorakToggle()&amp;lt;CR&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration conditionnelle ==&lt;br /&gt;
&lt;br /&gt;
Il est parfois possible détecter depuis Vim si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement).&lt;br /&gt;
&lt;br /&gt;
=== Sous X ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if !empty(system(&amp;quot;setxkbmap -print|grep bepo&amp;quot;))&lt;br /&gt;
    source ~/.vimrc.bepo&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration totale des touches ==&lt;br /&gt;
&lt;br /&gt;
Une option &#039;&#039;radicale&#039;&#039; consisterait à reconfigurer toutes les touches en mode normal afin qu&#039;elles correspondent aux labels du clavier [[Azerty]]. On pourrait même envisager de générer automatiquement un tel fichier avec les outils du projet bépo, si suffisamment d&#039;utilisateurs étaient intéressés…&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Qwerty ===&lt;br /&gt;
[[Image:Vim bépo.png|thumb|450px|right|Aide-mémoire Vim/bépo avec mapping du clavier bépo -&amp;gt; qwerty en mode normal]]&lt;br /&gt;
C&#039;est à priori la meilleure solution du point de vue de l&#039;ergonomie. On peut reprendre les &#039;&#039;cheat sheets&#039;&#039; (anti-sèches) classiques en l&#039;état !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;&amp;quot; mapping du clavier bépo-&amp;gt;qwerty en mode normal&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des lettres&lt;br /&gt;
&lt;br /&gt;
noremap b q&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap p e&lt;br /&gt;
noremap o r&lt;br /&gt;
noremap è t&lt;br /&gt;
noremap ^ y&lt;br /&gt;
noremap v u&lt;br /&gt;
noremap d i&lt;br /&gt;
noremap l o&lt;br /&gt;
noremap j p&lt;br /&gt;
noremap z [&lt;br /&gt;
noremap w ]&lt;br /&gt;
noremap a a&lt;br /&gt;
noremap u s&lt;br /&gt;
noremap i d&lt;br /&gt;
noremap e f&lt;br /&gt;
noremap \ \&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap n ;&lt;br /&gt;
noremap m &#039;&lt;br /&gt;
noremap ê &amp;lt;&lt;br /&gt;
noremap à z&lt;br /&gt;
noremap àà zz&lt;br /&gt;
noremap y x&lt;br /&gt;
noremap x c&lt;br /&gt;
noremap . v&lt;br /&gt;
noremap k b&lt;br /&gt;
noremap &#039; n&lt;br /&gt;
noremap q m&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap , g&lt;br /&gt;
noremap ,, gg&lt;br /&gt;
noremap h .&lt;br /&gt;
noremap f /&lt;br /&gt;
noremap B Q&lt;br /&gt;
noremap É W&lt;br /&gt;
noremap P E&lt;br /&gt;
noremap O R&lt;br /&gt;
noremap È T&lt;br /&gt;
noremap ! Y&lt;br /&gt;
noremap V U&lt;br /&gt;
noremap D I&lt;br /&gt;
noremap L O&lt;br /&gt;
noremap J P&lt;br /&gt;
noremap Z {&lt;br /&gt;
noremap W }&lt;br /&gt;
noremap A A&lt;br /&gt;
noremap U S&lt;br /&gt;
noremap I D&lt;br /&gt;
noremap E F&lt;br /&gt;
noremap ; G&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
noremap R L&lt;br /&gt;
noremap N :&lt;br /&gt;
noremap M &amp;quot;&lt;br /&gt;
noremap Ç \|&lt;br /&gt;
noremap Ê &amp;gt;&lt;br /&gt;
noremap À Z&lt;br /&gt;
noremap ÀÀ ZZ&lt;br /&gt;
noremap Y X&lt;br /&gt;
noremap X C&lt;br /&gt;
noremap : V&lt;br /&gt;
noremap K B&lt;br /&gt;
noremap ? N&lt;br /&gt;
noremap Q M&lt;br /&gt;
noremap G &amp;lt;&lt;br /&gt;
noremap H &amp;gt;&lt;br /&gt;
noremap F ?&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration du copié sur le ç car y est sur la touche composé ^&lt;br /&gt;
&lt;br /&gt;
noremap ç y&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des nombres&lt;br /&gt;
&lt;br /&gt;
noremap $ `&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap = -&lt;br /&gt;
noremap % =&lt;br /&gt;
noremap # ~&lt;br /&gt;
noremap 1 !&lt;br /&gt;
noremap 2 @&lt;br /&gt;
noremap 3 #&lt;br /&gt;
noremap 4 $&lt;br /&gt;
noremap 5 %&lt;br /&gt;
noremap 6 ^&lt;br /&gt;
noremap 7 &amp;amp;&lt;br /&gt;
noremap 8 *&lt;br /&gt;
noremap 9 (&lt;br /&gt;
noremap 0 )&lt;br /&gt;
noremap ° _&lt;br /&gt;
noremap ` +&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Azerty ===&lt;br /&gt;
&lt;br /&gt;
Cette variante permet de se référer aux labels des touches du clavier [[Azerty]] pour les commandes Vim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set langmap=ba,éz,pe,or,èt,çy,vu,di,lo,fp,j^,z$,aq,us,id,ef,\,g,ch,tj,sk,nl,rm,mù,^*,ê&amp;lt;,àw,hx,yc,.v,kb,&#039;n,q\,,g;;,x:,w!,BA,ÉZ,PE,OR,ÈT,ÇY,VU,DI,LO,FP,J¨,Z£,AQ,US,ID,EF,?G,CH,TJ,SK,NL,RM,M%,!*,Ê&amp;gt;,ÀW,HX,YC,:V,KB,\\;N,QG,G.,X/,W§,@œ,_&amp;amp;,&amp;quot;é,«&amp;quot;,»&#039;,((,)-,+è,-_,*ç,/à,=),%=,$Œ,^°,µ+,#“,{´,}~,&amp;lt;#,&amp;gt;{,[[,]|,±`,¬\,×^,÷@,¯],%}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autres options utiles ==&lt;br /&gt;
&lt;br /&gt;
Quelques petites astuces. À ajouter dans le fichier {{C|~/.vimrc}}.&lt;br /&gt;
&lt;br /&gt;
=== Appliquer automatiquement les modifications de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
La première chose à faire pour jouer avec {{C|~/.vimrc}} !&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
  autocmd! bufwritepost .vimrc source ~/.vimrc&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : cette astuce semble ne pas fonctionner pour certains. Si vous constatez des problèmes, passez-vous en et relancez Vim après chaque modification de {{c|~/.vimrc}} que vous voulez tester…&lt;br /&gt;
&lt;br /&gt;
=== Espaces insécables ===&lt;br /&gt;
&lt;br /&gt;
Les espaces insécables du Bépo peuvent poser problème, notamment dans des fichiers de code brut ([[ASCII]]) où ils génèrent des erreurs. On a deux façons simples de s’en prémunir :&lt;br /&gt;
&lt;br /&gt;
; Colorier les espaces insécables pour mieux les repérer :&lt;br /&gt;
Ajouter les lignes suivantes &#039;&#039;après la ligne « syntax on »&#039;&#039; le cas échéant. Bien entendu, on peut changer la couleur.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; colorise les nbsp&lt;br /&gt;
highlight NbSp ctermbg=lightgray guibg=lightred&lt;br /&gt;
match NbSp /\%xa0/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
; Faire apparaître les insécable avec un autre caractère&lt;br /&gt;
Ils apparaitront avec le caractère choisi au bout de la première ligne. Ici le « · »&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:·&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Autre exemple trouvé sur [http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/ Gnusquad] avec plus de caractères « invisibles » affichés :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:¤,tab:&amp;gt;-,trail:¤,extends:&amp;gt;,precedes:&amp;lt;&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Mapper l’espace insécable en « Escape » :&lt;br /&gt;
à éviter pour rédiger du texte mais très pratique pour taper du code ! &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; interdit les nbsp en mode insertion (il y a une espace insécable)&lt;br /&gt;
inoremap   &amp;lt;Esc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Esc] plus accessible ===&lt;br /&gt;
&lt;br /&gt;
Vim fait un grand usage de la touche {{ta|Escape}} qui se trouve loin (&#039;&#039;a priori&#039;&#039; en haut à gauche). On peut modifier le comportement de {{t|Tab}} pour qu’il serve de touche {{t|Esc}}. On garde un {{t|Tab}} en {{tt|Maj|Tab}}. Attention, &#039;&#039;à ne pas utiliser dans Vimperator&#039;&#039;, on y a besoin du Tab direct…&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : {{tt|Ctrl|C}} est un alias standard de {{t|Esc}}, plus central, mais c&#039;est un raccourci à deux touches. À vous de voir si cette combinaison est agréable ou pas sur votre clavier physique.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Tab fait un Esc, Maj+Tab fait un Tab&lt;br /&gt;
inoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
inoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Même chose, mais en mode visuel&lt;br /&gt;
vnoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
vnoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les possesseurs de clavier TypeMatrix peuvent aussi remapper la touche « desktop » en Esc en suivant les explications présentées sur [[TypeMatrix#Trucs_et_astuces|la page dédiée au TypeMatrix]].&lt;br /&gt;
&lt;br /&gt;
=== [PgUp] / [PgDn] plus accessibles ===&lt;br /&gt;
&lt;br /&gt;
Vim utilise par défaut {{tta|Ctrl|B}} et {{tta|Ctrl|F}} pour aller à la page précédente ou suivante. Ce n&#039;est déjà pas la panacée en Qwerty, mais en Bépo, c&#039;est l&#039;horreur, car ces deux touches sont à l&#039;exact opposé l&#039;une de l&#039;autre ! Pour y remédier, on peut par exemple utiliser les touches {{t|BackSpace}} et {{t|Espace}}, c&#039;est bien plus confortable :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;PageUp&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;PageDown&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativement, si on préfère défiler des demi-pages, on peut utiliser les &#039;&#039;mappings&#039;&#039; suivants :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;C-U&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;C-D&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tant qu&#039;on y est, on peut aussi utiliser {{t|Entrée}} pour centrer la page sur le curseur (ne fonctionne pas avec [[Vimperator]]) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 noremap &amp;lt;Return&amp;gt; zz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixer l’encodage des fichiers en utf-8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 set encoding=utf-8&lt;br /&gt;
 set fileencoding=utf-8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plus de détails [http://ubunteros.tuxfamily.org/spip.php?article182 ici].&lt;br /&gt;
&lt;br /&gt;
=== Lancer un navigateur web depuis Vim ===&lt;br /&gt;
&lt;br /&gt;
Hors sujet, mais vraiment belle astuce.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » et « v,s » lancent firefox et une recherche (définition ou synonyme) dans le tlfi sur le mot courant&lt;br /&gt;
vmap ,d :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
vmap ,s :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » comme ci-dessus mais pour google&lt;br /&gt;
vmap ,g :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;cword&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot;« v,w » comme ci-dessus mais pour wikipedia&lt;br /&gt;
vmap ,w :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » comme ci-dessus mais pour le conjugueur&lt;br /&gt;
vmap ,c :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,o » ouvre l’url sur laquelle on se trouve dans firefox&lt;br /&gt;
vmap ,o :&amp;lt;C-U&amp;gt;!firefox &amp;quot;&amp;lt;cfile&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut que Firefox soit dans le {{c|$PATH}}, sinon, il faut indiquer le chemin complet de l’exécutable. Les raccourcis proposés sont tous en « ,x » pour qu’il n’y ait pas d’interaction malencontreuse avec d’autres commandes, mais on peut changer cette partie.&lt;br /&gt;
&lt;br /&gt;
Variante qui tue, en utilisant un navigateur texte à l&#039;intérieur de Vim :&lt;br /&gt;
* enregistrer [http://www.vim.org/scripts/script.php?script_id=2227 browser.vim] dans le dossier {{C|~/.vim/plugin/}}&lt;br /&gt;
* facultatif : remplacer « lynx » par « w3m » partout dans le fichier {{C|browser.vim}} (w3m supporte l&#039;utf-8, contrairement à lynx)&lt;br /&gt;
* ajouter les lignes suivantes dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » cherche la définition du mot courant dans le TLFI&lt;br /&gt;
vmap ,d :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,s » cherche les synonymes du mot courant dans le TLFI&lt;br /&gt;
vmap ,s :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » cherche le mot courant dans Google&lt;br /&gt;
vmap ,g :call OpenWebBrowser(&amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » cherche le mot courant dans le conjugueur&lt;br /&gt;
vmap ,c :call OpenWebBrowser(&amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,w » cherche le mot courant Wikipedia&lt;br /&gt;
vmap ,w :call OpenWebBrowser(&amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; ouvre l’URL sur laquelle on se trouve&lt;br /&gt;
vmap ,o :call OpenWebBrowser(&amp;quot;&amp;lt;C-R&amp;gt;&amp;lt;C-A&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Les URLs proposées ici correspondent à un usage de Vim en traitement de texte ; les développeurs auront tôt fait de remplacer ces URLs par des documentations d&#039;API en ligne.&lt;br /&gt;
&lt;br /&gt;
=== Exemples de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
* celui de [[Utilisateur:Kaze|Kazé]] est [[Utilisateur:Kaze/vimrc|ici]]&lt;br /&gt;
* celui de [[Utilisateur:Nemolivier|NémOlivier]] est [[Utilisateur:Nemolivier/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Jd|jd]] est [[Utilisateur:Jd/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Carnifex|Carnifex]] est [[Utilisateur:Carnifex/.vimrc|ici]], et le .vimrc.bepo [[Utilisateur:Carnifex/.vimrc.bepo|là]]&lt;br /&gt;
* celui de [[Utilisateur:Damien_thiriet|Damien Thiriet]] est [[Utilisateur:Damien_thiriet#mon_.vimrc|là]], avec des fichiers annexes d’abbréviations&lt;br /&gt;
* celui de [[Utilisateur:Denis_S|Denis S]] est en partie [[Utilisateur:Denis_S#Vim_en_bépo|là]]&lt;br /&gt;
&lt;br /&gt;
== « Bépo-Vimification » du poste de travail ==&lt;br /&gt;
&lt;br /&gt;
Bon nombre d&#039;applications courantes utilisent les touches de déplacement de Vim, sans toutefois utiliser le fichier ~/.vimrc pour la configuration de ces touches. Moyennant un effort de configuration, on peut donc disposer d&#039;un mode Vim, avec les touches de déplacement en {CTSR}, sur l&#039;ensemble de son poste de travail.&lt;br /&gt;
&lt;br /&gt;
=== Navigateurs web ===&lt;br /&gt;
&lt;br /&gt;
;Uzbl&lt;br /&gt;
[http://www.uzbl.org/ Uzbl] (prononcez &amp;quot;usable&amp;quot;) est un navigateur web qui se pilote entièrement au clavier avec les raccourcis clavier de vim. Fondé sur webkit, uzbl est beaucoup plus léger que vimperator.  &lt;br /&gt;
&lt;br /&gt;
;Firefox&lt;br /&gt;
[http://vimperator.mozdev.org/ Vimperator] est une extension Firefox permettant de piloter confortablement Firefox au clavier, et même d&#039;utiliser Vim comme éditeur pour les champs texte. Elle peut partager une partie de son fichier de configuration avec Vim (v. plus haut), il suffit d&#039;ajouter cette ligne au fichier {{C|~/.vimperatorrc}} :&lt;br /&gt;
 source ~/.vimrc.bepo&lt;br /&gt;
&lt;br /&gt;
Une aide sur l&#039;utilisation bépo de vimperator est disponnible [[vimperator|sur cette page]].&lt;br /&gt;
&lt;br /&gt;
À noter : Vimperator est conçu pour fonctionner avec les chiffres en accès direct, ce qui est gênant (mais pas insurmontable) pour sélectionner des liens via le mécanismes de &#039;&#039;quick hints&#039;&#039; ({{t|f}} et {{t|F}}). Le mapping proposé pour avoir les chiffres en accès direct dans Vim ne fonctionne pas avec Vimperator.&lt;br /&gt;
&lt;br /&gt;
Voir [http://vimperator.cutup.org/index.php?title=Configuration le wiki de Vimperator] ou la &amp;lt;code&amp;gt;:help&amp;lt;/code&amp;gt; pour plus d&#039;informations sur la configuration.&lt;br /&gt;
&lt;br /&gt;
Voir également [http://code.google.com/p/gvimail/ GViMail] pour utiliser Vimperator avec Gmail.&lt;br /&gt;
&lt;br /&gt;
[http://5digits.org/pentadactyl/ pentadactyl] est une autre extension firefox très similaire à Vimperator. Avantage notable de pentadactyl sur vimperator: la possibilité de [http://superuser.com/questions/691763/how-do-i-remap-keys-in-caret-mode-and-textarea-mode-in-vimperator/691764#691764 remapper les touches du mode caret]. D&#039;après [http://5digits.org/pentadactyl/faq#faq-differences la faq] de pentadactyl, &amp;lt;i&amp;gt;The main difference is that Vimperator&#039;s most active developers have moved on to Pentadactyl. More qualitative changes may be found in the change log, but essentially add up to what we consider more active and thoughtful development.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Vimprobable&lt;br /&gt;
[http://sourceforge.net/apps/trac/vimprobable/ Vimprobable] est un navigateur à part entière qui ressemble fort à Vimperator.&lt;br /&gt;
&lt;br /&gt;
;Chrome / Chromium&lt;br /&gt;
Il existe plusieurs extensions visant à émuler les commandes Vim sous Chrome. On peut citer [https://chrome.google.com/extensions/detail/cdkefpgghindmmclchkbcdgikbpnbiaj YakShave], [https://chrome.google.com/extensions/detail/godjoomfiimiddapohpmfklhgmbfffjj Vrome] et [https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb Vimium]. Les deux premières sont assez complexes mais extensivement configurables via un serveur à lancer en tâche de fond — indépendamment de Chrome. La dernière a le mérite de rester simple et de remplir assez bien son office. Voici de quoi lui apprendre à se comporter un peu mieux en bépo (lignes à copier dans la section « Adanced options &amp;gt;&amp;gt; Key mappings » des réglages de l’extension):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
map t scrollDown&lt;br /&gt;
map s scrollUp&lt;br /&gt;
map c scrollLeft&lt;br /&gt;
map r scrollRight&lt;br /&gt;
map j createTab&lt;br /&gt;
map gé nextTab&lt;br /&gt;
map gb previousTab&lt;br /&gt;
map h reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À noter : une extension apparue plus récemment, [https://chrome.google.com/webstore/detail/gghkfhpblkcmlkmpcpgaajbbiikbhpdi Vichrome], mérite le détour. Elle paraît mieux finie que les précédentes. Si vous souhaitez l’utiliser en bépo, ces lignes sont un bon point de départ (ajoutez-les à la section « Key Mapping » des options de l’extension) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
# bépo&lt;br /&gt;
nmap t ScrollDown&lt;br /&gt;
nmap s ScrollUp&lt;br /&gt;
nmap c ScrollLeft&lt;br /&gt;
nmap r ScrollRight&lt;br /&gt;
nmap j TabOpenNew&lt;br /&gt;
nmap gé TabFocusNext&lt;br /&gt;
nmap gb TabFocusPrev&lt;br /&gt;
nmap h TabReload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Thunderbird ===&lt;br /&gt;
&lt;br /&gt;
[http://muttator.mozdev.org/ Muttator] est l&#039;équivalent de Vimperator pour Thunderbird. Le projet est encore en début de développement, mais serait d&#039;ores et déjà utilisable (non testé).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;À compléter.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
Vim n&#039;est qu&#039;un éditeur texte, pas un IDE. Cependant, la plupart des IDEs disposent d&#039;un mode Vi, nativement ou non.&lt;br /&gt;
&lt;br /&gt;
;Emacs&lt;br /&gt;
Emacs dispose nativement d&#039;un mode Vi qui &amp;lt;del&amp;gt;le rend utilisable&amp;lt;/del&amp;gt; permet de déplacer le curseur sans bouger les mains (pas testé ;-)).&lt;br /&gt;
&lt;br /&gt;
;Komodo&lt;br /&gt;
Komodo et OpenKomodo disposent nativement d&#039;un mode Vi.&lt;br /&gt;
&lt;br /&gt;
;Eclipse&lt;br /&gt;
il y a un [http://vimplugin.org/ plugin Vim] pour Eclipse ; il y a aussi le projet [http://eclim.sourceforge.net/ Eclim], qui permet d&#039;utiliser Vim comme éditeur de texte dans Eclipse.&lt;br /&gt;
&lt;br /&gt;
;Visual Studio™&lt;br /&gt;
[http://www.viemu.com/ ViEmu] propose un plugin Vim (non-libre) pour Visual Studio, ainsi que pour Word™ et Outlook™.&lt;br /&gt;
&lt;br /&gt;
;Pida&lt;br /&gt;
[http://pida.co.uk/ Pida] utilise nativement vim ou bien Emacs.&lt;br /&gt;
&lt;br /&gt;
=== Outils du shell ===&lt;br /&gt;
De nombreux outils courants du shell utilisent nativement les raccourcis Vim :&lt;br /&gt;
* [[wp:Less|less]] : le &#039;&#039;pager&#039;&#039; le plus courant de nos jours, qui succède avantageusement à &#039;&#039;more&#039;&#039; ; c&#039;est lui qui met en forme les pages man, notamment. Il est configurable via [http://unixhelp.ed.ac.uk/CGI/man-cgi?lesskey lesskey].&lt;br /&gt;
* [[most]] : un &#039;&#039;pager&#039;&#039; plus puissant encore qui peut être utilisé à la place de less pour les pages de man.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Aptitude_(logiciel) aptitude] : le gestionnaire de paquets Debian est [http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s02.html configurable] lui aussi.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/W3m w3m] : navigateur web, moins connu que Lynx, mais qui a néanmoins l&#039;avantage d&#039;être compatible utf-8, entre autres. On peut [http://w3m.sourceforge.net/MANUAL#Key:custom redéfinir les raccourcis clavier] dans le fichier {{C|~/.w3m/config}}.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Mutt mutt] : client mail. On peut utiliser ses propres mappings ([http://www103.pair.com/parv/comp/unix/cf/mail/mutt-keys-hooks.cf exemple]).&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Muttng muttng] : fork de mutt, qui inclut un certain nombre de patches et qui serait plus [http://mutt-ng.berlios.de/manual/manual.html#id2525213 configurable] ([http://lists.berlios.de/pipermail/mutt-ng-users/2006-May/000196.html exemple]).&lt;br /&gt;
* [[wp:Newsbeuter|Newsbeuter]] : [[wp:Agrégateur|Agrégateur de flux de syndication]] en console fonctionnant comme mutt. Il est possible de redéfinir les binding pour les [[Newsbeuter|adapter à bépo]].&lt;br /&gt;
* [[ranger]] : un explorateur de fichier avec interface légère utilisable au clavier. La configuration des raccourcis se fait dans le fichier ~/.config/ranger/rc.conf . Pour créer ce fichier et les autres fichiers de conf utiliser la commande : ranger --copy-config=all&lt;br /&gt;
&lt;br /&gt;
Les plus gravement atteints peuvent utiliser des raccourcis Vi dans le terminal :&lt;br /&gt;
* en modifiant le fichier [http://vim.wikia.com/wiki/Use_vi_shortcuts_in_terminal ~/.inputrc]&lt;br /&gt;
* en utilisant [http://fr.wikipedia.org/wiki/Zsh zsh], qui possède un mode vi ; il suffit d&#039;ajouter les lignes suivantes au fichier {{C|~/.zshrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # Mode vim&lt;br /&gt;
 bindkey -v&lt;br /&gt;
 &lt;br /&gt;
 # On remappe pour le bépo&lt;br /&gt;
 bindkey -a c vi-backward-char&lt;br /&gt;
 bindkey -a r vi-forward-char&lt;br /&gt;
 bindkey -a t vi-down-line-or-history&lt;br /&gt;
 bindkey -a s vi-up-line-or-history&lt;br /&gt;
 bindkey -a $ vi-end-of-line&lt;br /&gt;
 bindkey -a 0 vi-digit-or-beginning-of-line &lt;br /&gt;
 bindkey -a h vi-change&lt;br /&gt;
 bindkey -a H vi-change-eol&lt;br /&gt;
 bindkey -a dd vi-change-whole-line&lt;br /&gt;
 bindkey -a l vi-replace-chars&lt;br /&gt;
 bindkey -a L vi-replace&lt;br /&gt;
 bindkey -a k vi-substitute  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sous X, il est parfois possible détecter si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement). Il suffit d’enfermer les {{C|bindkey}} dans un bloc {{C|if}} :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
if [[ $DISPLAY != &#039;&#039; &amp;amp;&amp;amp; `setxkbmap -print|grep bepo` != &#039;&#039; ]]; then&lt;br /&gt;
    ...&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;autres applications utilisent les raccourcis Vi mais ne sont pas remappables. Vous pouvez toujours contacter leurs auteurs pour leur demander d&#039;inclure un mécanisme de &#039;&#039;mapping&#039;&#039;, ou recompiler ces outils avec des &#039;&#039;mappings&#039;&#039; bépo.&lt;br /&gt;
* [http://vifm.sourceforge.net/ vifm] : très bon explorateur de fichiers, en pleine phase de développement.&lt;br /&gt;
* [http://cmus.sourceforge.net/ cmus] : lecteur audio. Le site officiel précise qu&#039;il supporte des &#039;&#039;dynamic keybindings&#039;&#039;, ([[cmus|adaptation à bépo]]).&lt;br /&gt;
* [http://www.brain-dump.org/projects/dvtm/ dvtm] : permet de scinder n’importe quel émulateur de terminal à la manière d’un gestionnaire de fenêtres en mosaïque. Tout simplement génial, notamment en conjonction avec Vim, mais il faut le recompiler pour changer les raccourcis clavier.&lt;br /&gt;
&lt;br /&gt;
=== Lecteurs PDF ===&lt;br /&gt;
Certains lecteurs PDF s’utilisent avec des raccourcis « vim-like » :&lt;br /&gt;
* [http://pwmt.org/projects/zathura/ Zathura] est un lecteur PDF en apparence léger mais utilisant des bibliothèques lourdes en réalité ce qui n’ôte rien à ses qualités. Pour l’utiliser avec BÉPO il nécessite [[zathura|quelques configurations]].&lt;br /&gt;
* [[wp:evince|Evince]] est le lecteur PDF du projet GNOME, il dispose de quelques fonctionnalités vim-like, reste à savoir comment le « bépoïfier ».&lt;br /&gt;
&lt;br /&gt;
=== Gestionnaires de fenêtres en mosaïque ===&lt;br /&gt;
&lt;br /&gt;
Ces gestionnaires de fenêtres sont des alternatives intéressantes pour ceux qui cherchent à se passer complètement de la souris. Ils sont conçus exclusivement pour la productivité : pas de décorations de fenêtre, les fenêtres sont placées automatiquement par le gestionnaire pour occuper tout l&#039;espace disponible : typiquement, une fenêtre « maître » qui occupe une large colonne de l&#039;écran, et toutes les autres fenêtres « auxiliaires » qui se partagent l&#039;espace restant. Le lancement des applications et les manipulations de fenêtres (sélection, déplacement, passage d&#039;une fenêtre auxiliaire en maître) se font entièrement au clavier.&lt;br /&gt;
&lt;br /&gt;
On peut citer [http://fr.wikipedia.org/wiki/Ion_(logiciel) Ion] (le plus connu) et [http://fr.wikipedia.org/wiki/Ratpoison Ratpoison]/[http://www.nongnu.org/stumpwm/ StumpWM] (le second est une ré-écriture en CommonLisp du premier, par le même auteur), mais ces gestionnaires de fenêtres sont un peu hors-sujet dans la mesure où ils utilisent une logique de raccourcis clavier de type Emacs. À l&#039;inverse, d&#039;autres gestionnaires de fenêtres utilisent nativement des raccourcis Vim de type [Mod]+[HJKL] pour les manipulations de fenêtres, et s&#039;intègrent très bien dans un environnement « vimiste ».&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Wmii wmii]&lt;br /&gt;
wmii est le plus facile à prendre en main. C&#039;est le seul de ces gestionnaires de fenêtres en mosaïque à conserver des décorations de fenêtres (très minimalistes, sans icone), ce qui permet de déplacer et redimensionner les fenêtres uniquement à la souris, et, plus prosaïquement, de repérer très facilement la fenêtre active. C&#039;est aussi le seul à ne pas utiliser le concept de zones maître/auxiliaire : il est possible de créer autant de colonnes que souhaité, par contre leur redimensionnement requiert la souris. Ainsi, l&#039;utilisation de logiciels comportant de nombreuses fenêtres (ex : GIMP) ne pose aucun problème, même en mode mosaïque. Il intègre un excellent lanceur d&#039;applications, [http://en.wikipedia.org/wiki/Dmenu dmenu] (activé avec Alt+P).&lt;br /&gt;
&lt;br /&gt;
Il est aisément configurable via le fichier {{C|wmiirc}}.&lt;br /&gt;
&lt;br /&gt;
; [http://dwm.suckless.org/ dwm]&lt;br /&gt;
dwm est le petit frère de wmii : les deux projets sont développés en parallèle par le même auteur. dwm partage certains outils avec wmii, dont dmenu. Toutefois, les deux projets sont assez différents, dwm étant encore plus minimaliste : aucune décoration de fenêtre, la mise en page est limitée à deux colonnes (une zone « maître » et une zone auxiliaire), aucun langage de script, aucun fichier de configuration. Le code source est ainsi encore plus robuste et compact (limité à 2 000 lignes, contre 10 000 pour wmii).&lt;br /&gt;
 &lt;br /&gt;
dwm doit être recompilé pour toute modification de configuration, tous les paramètres étant dans le fichier {{C|config.h}} — voir [http://www.xsnake.net/howto/dwm/dwm-eng.php ce tutoriel].&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Awesome_(logiciel) Awesome]&lt;br /&gt;
Awesome est un fork de dwm, et lui reste très proche dans l&#039;esprit : même système de vues, même mise en page sur deux colonnes maître / auxiliaire. Il est plus complet que dwm, scriptable en Lua et configurable via un fichier externe. Il ne dispose pas encore d&#039;un équivalent de dmenu (c&#039;est prévu pour la version 3) : pour l&#039;instant (version 2.3.1), il faut se [http://awesome.naquadah.org/wiki/Awesome-menu_2.x/fr créer un menu d&#039;applications] soi-même, et lancer les autres applications depuis un terminal.&lt;br /&gt;
&lt;br /&gt;
Awesome est [http://awesome.naquadah.org/wiki/Awesomerc_2.x/fr configurable] via le fichier {{C|~/.awesomerc}}. Contrairement à wmii et dwm, Awesome est prévu pour fonctionner avec des dispositions de clavier ayant les chiffres en accès direct (sélection / changement de vue), il faut donc reconfigurer les touches [1234567890] pour le bépo.&lt;br /&gt;
&lt;br /&gt;
[[Awesome|Plus de détails pour la version 3.x]]&lt;br /&gt;
&lt;br /&gt;
; [http://xmonad.org/ Xmonad]&lt;br /&gt;
Xmonad utilise dmenu et reprend le principe des deux zones maître / auxiliaire de dwm, mais il est beaucoup plus complet : les manipulations de fenêtres ne sont pas limitées à un système de colonnes, et on peut même libérer une partie de l&#039;écran pour inclure un &#039;&#039;panel&#039;&#039; type KDE, Gnome ou Xfce4. De plus, Xmonad est très modulaire et dispose déjà de nombreuses extensions. C&#039;est un projet relativement récent (première &#039;&#039;release&#039;&#039; en avril 2007), écrit dans le langage fonctionnel Haskell. Voir [http://bepo.pastebin.com/m4e84f50e cet extrait] de la configuration de Gaëtan &#039;&#039;(à peaufiner)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Aide]]&lt;br /&gt;
[[Catégorie:Logiciels]]&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23673</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23673"/>
		<updated>2014-09-08T20:19:02Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [F] et {E} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [[https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23662</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23662"/>
		<updated>2014-09-04T02:47:47Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Réécriture de la section sur ma disposition, ajout d&amp;#039;une section i3, ajout d&amp;#039;une section sur ma nouvelle disposition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rappel: les emplacements des touches sur une disposition azerty sont indiqués [entre crochets]. Ceux sur le bépo sont {entre accolades}. En clair: [E] et {F} désignent la même touche.&lt;br /&gt;
&lt;br /&gt;
==Nouvelle disposition==&lt;br /&gt;
À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;une ligne et utiliser la ligne inférieure comme ligne de modificateurs. Cette disposition est temporaire; à terme je veux refaire une dispo bépo from scratch, comme je l&#039;ai déjà commencé [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
Sur cette disposition, il n&#039;y a plus de couche overlay. Depuis ma disposition précédente je suis passé sur Arch Linux et je reconfigure les raccourcis claviers de mes applications selon mes besoins (voir [[Utilisateur:Lawrent#i3|plus bas]]). Les modificateurs sont donc:&lt;br /&gt;
* maj, altgr, level5: idem avant;&lt;br /&gt;
* alt: le modificateur $mod de i3;&lt;br /&gt;
* ctrl: le modificateur de l&#039;application en cours, si elle n&#039;est pas &amp;quot;vimifiée&amp;quot;.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │ È      │  O   Œ │ É      │ P      │ À      │ ¨ `  ≠ │ V    &amp;quot; │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║                ║&lt;br /&gt;
│ ESC    │ è    ` │  o   œ │ é    &amp;amp; │ p      │ à      │ ^ ´  = │ v ^  &#039; │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║       CAPSLOCK ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║          ║&lt;br /&gt;
║ ←——          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  5 │ TAB    ║  DELETE  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║    Ê    £      ║ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈  ; │ Q    ± │ G    = │ J    ( │ F    ) │ W    : │        ║        ║&lt;br /&gt;
║    ê    €      ║ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / │ w    . │        ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │     |  │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ MAJ    │   ←—&#039;  │ LEVEL5 │        │ ALT    │ SPACE  │ MAJ    │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                 ALTGR                      ║ CTRL   ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ancienne disposition==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
overlay: remappe les touches utiles hors texte (navigation, lanceur d&#039;applications, etc)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changements par rapport au bépo original===&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
J&#039;ai déplacé plusieurs touches par rapport au bépo original. Grosso modo, ça s&#039;est fait sur de l&#039;essai-erreur avec deux idées en tête:&lt;br /&gt;
* la place du o et du v: je considère qu&#039;il est plus agréable de déplacer les poignets vers l&#039;extérieur que l&#039;intérieur et je vois mes index sur le [F] et le [J] comme des pivots. Je tape avec les bras en V inversé. Avec cette philosophie en tête, la touche [A] est plus accessible que la touche [R], du coup c&#039;est plus intéressant de placer le O sur le [R]. (Rappelons que le O est 6 fois plus fréquent que le B.) Pareil pour le placement du V.&lt;br /&gt;
* le h: parce que je n&#039;aime pas le digramme ch sur le bépo initial. J&#039;ai essayé plusieurs emplacements pour finalement arriver à une position qui me plait. (Note: le H est vraiment pas facile à placer: s&#039;il est à gauche il perturbe les digrammes avec des voyelles, s&#039;il est à droite il lui faut une place qui rende les digrammes CH et TH potables.)&lt;br /&gt;
&lt;br /&gt;
Notons également que [[Utilisateur:Robin]] recommande de déplacer le B à cause du digramme BA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Modificateurs===&lt;br /&gt;
Ça a commencé avec [[Utilisateur:Robin]]: de mémoire il a lancé l&#039;idée de mettre les majuscules sous les pouces, et à partir de là on a décidé de carrément revoir la position de tous les modificateurs. Grosso modo, l&#039;idée c&#039;est:&lt;br /&gt;
* maj sous les pouces;&lt;br /&gt;
* altgr à l&#039;extérieur de la homerow;&lt;br /&gt;
* ctrl sur les majeurs de la ligne des chiffres.&lt;br /&gt;
Ensuite on a d&#039;autres trucs comme:&lt;br /&gt;
* backspace sur tab pour le rendre plus accessible (vraiment très agréable!);&lt;br /&gt;
* tab sur la rangée des chiffres à gauche (surtout pas à droite) parce qu&#039;il est souvent suivi d&#039;un enter.&lt;br /&gt;
Et le reste c&#039;est des touches que j&#039;utilise peu souvent et que j&#039;ai placées là, pour quand j&#039;en ai besoin&lt;br /&gt;
&lt;br /&gt;
À avoir en tête quand on modifie l&#039;emplacement des modificateurs: le ghosting. Le ghosting est dû à la manière dont est conçu un clavier, c&#039;est un problème de hardware. Grosso modo, chaque clavier est garanti de pouvoir reconnaitre 2 touches difféerentes quand elles sont pressées simultanément. Mais à partir de 3 touches simultanées, à cause de la manière dont est généralement conçu un clavier, on trouve certaines combinaisons de touche où la 3e touche n&#039;est pas reconnue (voir explication [http://www.microsoft.com/appliedsciences/antighostingexplained.mspx ici]. Bref, sur mon clavier, le raccourci [AltGauche + CapsLock + L] est une de ces combinaisons interdites. Du coup, sur ma disposition, {AltGr+Maj+R} n&#039;envoie que AltGr+Maj à l&#039;OS. À la base je voulais mettre mon pavé numérique en AltGr+Maj mais ce problème m&#039;a détourné vers la couche level5.&lt;br /&gt;
&lt;br /&gt;
Sous linux, &amp;lt;code&amp;gt;xev&amp;lt;/code&amp;gt; est un programme qui affiche dans la console les events enregistrés par le clavier et de la souris (incluant une tonne d&#039;infos). Pour détecter si une combinaison de touche est maudite, il suffit de lancer le programme et voir si xev réagit à la combinaison. Pour filtrer la sortie du programme et n&#039;afficher que la ligne qui nous intéresse, on peut lancer&lt;br /&gt;
&amp;lt;source&amp;gt;xev | grep &amp;quot;keycode&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Overlay===&lt;br /&gt;
L&#039;overlay est une fonctionnalité d&#039;xkb: presser une certaine touche donne accès à une nouvelle couche de touches. On pourrait dire que c&#039;est un modificateur, mais ça ne l&#039;est pas. La différence majeure entre, disons, maj+E et overlay+E, c&#039;est que:&lt;br /&gt;
* placer CTRL sur maj+E bugge (et d&#039;autres touches aussi);&lt;br /&gt;
* overlay+E est un lien vers une autre touche (disons, celle qui est associée à CTRL). Et bizarrement ça bugge moins.&lt;br /&gt;
Malheureusement, cette fonctionnalité n&#039;existe (je pense) que dans xkb. Sous windows ou en mode console (le truc linux où on appuye sur ctrl+alt+F1 et dont on sort en appuyant sur ctrl+alt+F8), comme ce n&#039;est pas xkb qui gère le clavier, je doute qu&#039;on puisse implémenter cette couche overlay. À voir.&lt;br /&gt;
&lt;br /&gt;
Ma couche overlay a été penée pour les touches que j&#039;utilise fréquemment « hors saisie de texte ». Certains sont universels, d&#039;autres sont spécifiques à certains environnements de bureau (Cinnamon et Gnome2, et probablement quelques autres)&lt;br /&gt;
* les touches fléchées à la vim (ça change la vie de les avoir sur la homerow)&lt;br /&gt;
* ctrl-alt-flèche change de bureau virtuel&lt;br /&gt;
* ctrl-alt-maj-flèche déplace une fenêtre de bureau virtuel&lt;br /&gt;
* super-flèche redimensionne la fenêtre&lt;br /&gt;
* alt-f2 est le lanceur d&#039;application&lt;br /&gt;
* alt-f4 est bien connu pour fermer une application&lt;br /&gt;
* alt-tab et alt-maj-tab basculent d&#039;une fenêtre à l&#039;autre&lt;br /&gt;
* ctrl-tab et ctrl-maj-tab basculent d&#039;un onglet à l&#039;autre sur firefox et chrome&lt;br /&gt;
* ctrl-flèche, sur la plupart des applications, permet de naviguer mot par mot (et non caractère par caractère)&lt;br /&gt;
* maj-flèche et ctrl-maj-flèche surlignent du texte.&lt;br /&gt;
Ici aussi il faut faire atttention à l&#039;emplacement des touches si on veut éviter les touches fantômes.&lt;br /&gt;
&lt;br /&gt;
Note: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Méthode de saisie===&lt;br /&gt;
Comme écrit plus haut, elle est proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation (Linux)===&lt;br /&gt;
====En console====&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
====XKB====&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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}} ou {{c|/etc/X11/xorg.conf.d/10-keyboard.conf}} avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Après chaque modification ultérieure, lancer commande {{c|sudo sudo rm /var/lib/xkb/*}}. Pour tester la validité des modifications, lancer {{c|xkbcomp /usr/share/X11/xkb/symbols/fr}} (s&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: ce fichier n&#039;est pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;Ce .vimrc n&#039;est pas à jour et date de l&#039;époque où j&#039;avais interverti N et S&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===é, ê, è, à===&lt;br /&gt;
Ces touches sont une mine d&#039;or. Le clavier déjà surchargé de fonctions vim à un tel point qu&#039;on a parfois du mal à choisir à trouver un raccourci disponible sur lequel associer une fonction. Sauf que les touches accentuées sont toutes inutilisées.&lt;br /&gt;
&lt;br /&gt;
===vimrc.bepo===&lt;br /&gt;
L&#039;adaptation hjkl &amp;lt;-&amp;gt; ctsr. À compléter&lt;br /&gt;
&lt;br /&gt;
===vimrc.windows===&lt;br /&gt;
La modification des commandes &amp;lt;C-W&amp;gt; pour être cohérentes avec ctsr et avec ma config d&#039;i3. Pas encore commencé, mais je pense que ctrl sera mon « modificateur » officiel pour la gestion des fenêtres: &amp;lt;C-W&amp;gt;j ne sera pas remappé vers &amp;lt;C-W&amp;gt;t mais directement vers &amp;lt;C-T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Idée: comme dans i3, placer le redimensionnement des fenêtres dans un mode à part? Jeter un oeil au plugin [http://www.vim.org/scripts/script.php?script_id=2467 submode] pour voir comment faire.&lt;br /&gt;
&lt;br /&gt;
Question: est-ce réellement nécessaire d&#039;utiliser cette fonctionnalité de vim quand on a un gestionnaire de fenêtre comme i3 qui tourne à côté? Le paradigme « une fenêtre = 1 fichier » n&#039;est-il pas mieux? Pas toujours. Il y a des cas où on veut ouvrir plusieurs fichiers dans la même application vim, par exemple quand on appliquer un même changement à plusieurs fichiers à la fois. Ou alors quand plusieurs fichiers ont besoin de mettre plusieurs registres en commun. Ou encore pour pouvoir copier-coller d&#039;un fichier à l&#039;autre sans passer par &amp;quot;+y.&lt;br /&gt;
&lt;br /&gt;
===vimrc.abbrev===&lt;br /&gt;
Inspiré de [[Utilisateur:Damien_thiriet]] et [[https://www.youtube.com/watch?v=SkdrYWhh-8s Ben Orenstein]]. L&#039;idée est de remplacer des blocs de texte très fréquents par des abbréviations, et de remapper des typos qu&#039;on fait tout le temps par leur correction. Ce fichier est très personnel, à vous d&#039;écrire le votre.&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==i3==&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Mon fichier de configuration suivra. Quelques idées que je configurerai:&lt;br /&gt;
* mettre les flèches directionnelles sur auie (&amp;lt;b&amp;gt;à gauche&amp;lt;/b&amp;gt;) et non sur ctsr. Par défaut i3 place les flèches directionnelles sur $mod+jklm et non $mod+hjkl, j&#039;imagine que ce choix a 2 raisons:&lt;br /&gt;
** $mod+h est déjà réservé pour un split horizontal&lt;br /&gt;
** vim place ses flèches sur hjkl pour placer les flèches haut et bas (les plus importantes quand on navigue dans un fichier texte) sur les doigts forts de la main. Or quand on navigue entre les fenêtres et bureaux virtuels, les flèches gauche et droite deviennent les plus importantes. $mod+jklm évite de devoir bouger l&#039;index pour la flèche gauche.&lt;br /&gt;
La raison derrière mon $mod+auie, c&#039;est de garder la flèche gauche sur la position de repos tout en ne perturbant pas les habitudes que j&#039;ai dans vim.&lt;br /&gt;
* $mod+enter ouvre un terminal en split vertical, $mod+space ouvre un terminal dans un split horizontal&lt;br /&gt;
* mes bureaux virtuels sont accessibles sur $mod+bépo et non sur $mod+1234, pour ne pas devoir utiliser le modificateur level5 en plus de $mod&lt;br /&gt;
* de manière générale, mes raccourcis suivront la même règle que ceux de gmail: trouver un lien mnémotechnique (même tordu) entre leur fonction et la touche associée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
bindsym $mod+Return split vertical; exec i3-sensible-terminal&lt;br /&gt;
bindsym $mod+BackSpace split horizontal; exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+a focus left&lt;br /&gt;
bindsym $mod+i focus down&lt;br /&gt;
bindsym $mod+u focus up&lt;br /&gt;
bindsym $mod+e focus right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+x focus child&lt;br /&gt;
bindsym $mod+y focus parent&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+a move left&lt;br /&gt;
bindsym $mod+Shift+i move down&lt;br /&gt;
bindsym $mod+Shift+u move up&lt;br /&gt;
bindsym $mod+Shift+e move right&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+o workspace 1&lt;br /&gt;
bindsym $mod+é workspace 2&lt;br /&gt;
bindsym $mod+p workspace 3&lt;br /&gt;
bindsym $mod+à workspace 4&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Shift+o move container to workspace 1&lt;br /&gt;
bindsym $mod+Shift+é move container to workspace 2&lt;br /&gt;
bindsym $mod+Shift+p move container to workspace 3&lt;br /&gt;
bindsym $mod+Shift+à move container to workspace 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+h split horizontal&lt;br /&gt;
bindsym $mod+v split vertical&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+s layout stacking # [S]tacking layout&lt;br /&gt;
bindsym $mod+n layout toggle split # toggle between horizontal &#039;[N] vertical layouts&lt;br /&gt;
bindsym $mod+t layout tabbed # [T]abs layout&lt;br /&gt;
&lt;br /&gt;
mode &amp;quot;resize&amp;quot; {&lt;br /&gt;
        bindsym a resize shrink width 10 px or 10 ppt&lt;br /&gt;
        bindsym u resize grow height 10 px or 10 ppt&lt;br /&gt;
        bindsym i resize shrink height 10 px or 10 ppt&lt;br /&gt;
        bindsym e resize grow width 10 px or 10 ppt&lt;br /&gt;
&lt;br /&gt;
        # back to normal: Enter or Escape&lt;br /&gt;
        bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
        bindsym $mod+r mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+r mode &amp;quot;resize&amp;quot;&lt;br /&gt;
bindsym $mod+Shift+r reload # [R]eload i3&#039;s config file&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+l exec dmenu_run # [L]aunch&lt;br /&gt;
bindsym $mod+d kill # [D]elete&lt;br /&gt;
bindsym $mod+Shift+d exit # [D]elete everything&lt;br /&gt;
&lt;br /&gt;
# custom application launch: vimprobable automatically sets its window in a tabbed layout&lt;br /&gt;
bindsym $mod+V exec vimprobable2; split horizontal; layout tabbed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23660</id>
		<title>Discussion utilisateur:Damien thiriet</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23660"/>
		<updated>2014-09-03T19:14:09Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Tes optimisations====&lt;br /&gt;
Pourrais-tu ajouter quelques sections pour détailler comment tu as optimisé ton système? Je serais curieux de voir ta config de feh, i3 et zsh. Au passage, j&#039;aime bien ta philosophie des abréviations. [[Utilisateur:Lawrent|Lawrent]] ([[Discussion utilisateur:Lawrent|discussion]]) 1 septembre 2014 à 02:48 (CEST)&lt;br /&gt;
:J’ai ajouté un sous-chapitre &amp;quot;comment j’ai ergonomisé mon système&amp;quot;. Les fichiers de config suivront plus tard, cela prend de la place, il faut que je réfléchisse à une façon intelligente de les charger.[[Utilisateur:Damien thiriet|Damien thiriet]] ([[Discussion utilisateur:Damien thiriet|discussion]]) 3 septembre 2014 à 10:56 (CEST)&lt;br /&gt;
::Peut-être une page spécifique par logiciel? [[Utilisateur:Damien_thiriet/vim]], [[Utilisateur:Damien_thiriet/i3]], [[Utilisateur:Damien_thiriet/zathura]], etc…  Au passage, merci pour ton sous-chapitre. T&#039;en as testé un paquet, des programmes![[Utilisateur:Lawrent|Lawrent]] ([[Discussion utilisateur:Lawrent|discussion]]) 3 septembre 2014 à 20:59 (CEST)&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23659</id>
		<title>Discussion utilisateur:Damien thiriet</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23659"/>
		<updated>2014-09-03T18:59:24Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Tes optimisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Tes optimisations====&lt;br /&gt;
Pourrais-tu ajouter quelques sections pour détailler comment tu as optimisé ton système? Je serais curieux de voir ta config de feh, i3 et zsh. Au passage, j&#039;aime bien ta philosophie des abréviations. [[Utilisateur:Lawrent|Lawrent]] ([[Discussion utilisateur:Lawrent|discussion]]) 1 septembre 2014 à 02:48 (CEST)&lt;br /&gt;
:J’ai ajouté un sous-chapitre &amp;quot;comment j’ai ergonomisé mon système&amp;quot;. Les fichiers de config suivront plus tard, cela prend de la place, il faut que je réfléchisse à une façon intelligente de les charger.[[Utilisateur:Damien thiriet|Damien thiriet]] ([[Discussion utilisateur:Damien thiriet|discussion]]) 3 septembre 2014 à 10:56 (CEST)&lt;br /&gt;
::Peut-être une page spécifique par logiciel? [[Utilisateur:Damien_thiriet/vim]], [[Utilisateur:Damien_thiriet/i3]], [[Utilisateur:Damien_thiriet/zathura]], etc… [[Utilisateur:Lawrent|Lawrent]] ([[Discussion utilisateur:Lawrent|discussion]]) 3 septembre 2014 à 20:59 (CEST)&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Outils&amp;diff=23652</id>
		<title>Outils</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Outils&amp;diff=23652"/>
		<updated>2014-09-02T22:48:58Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout d&amp;#039;une note sur xdotool&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Bépo]]&lt;br /&gt;
&lt;br /&gt;
Liste des différents &#039;&#039;&#039;outils&#039;&#039;&#039; utilisés par le projet.&lt;br /&gt;
&lt;br /&gt;
NOTE: les liens en http://if-gpl.insa-lyon.fr/ sont morts.&lt;br /&gt;
&lt;br /&gt;
==Corpus==&lt;br /&gt;
Fabien Jobin a écrit un script Perl permettant de calculer le nombre d&#039;occurence d&#039;un [[fréquence des caractères|caractère]] et de [[fréquence des digrammes|digramme]] d&#039;un corpus de texte.&lt;br /&gt;
&lt;br /&gt;
http://if-gpl.insa-lyon.fr/pipermail/dvorak-fr/2003-June/000044.html&lt;br /&gt;
&lt;br /&gt;
Pour plus de détails voyez cette [[Corpus|section]].&lt;br /&gt;
&lt;br /&gt;
==Keylogger==&lt;br /&gt;
http://if-gpl.insa-lyon.fr/Dvorak-Fr/KeyLogger&lt;br /&gt;
* problème avec les clavier non-PS2&lt;br /&gt;
* personne ne l&#039;a utilisé sérieusement&lt;br /&gt;
* ses résultats ne seraient intéressants que si la personne tape des 10 doigts&lt;br /&gt;
&lt;br /&gt;
==Générateur de [[carte d&#039;accessibilité des touches]]==&lt;br /&gt;
* [[Duels d&#039;accessibilité]]&lt;br /&gt;
&lt;br /&gt;
==Générateur de pilotes==&lt;br /&gt;
[[configGenerator]], écrit en python et perl par Crako et Gaëtan, permet de générer les pilotes de la disposition fr-dvorak-bépo pour les systèmes d&#039;exploitation Freebsd, linux, Mac OS X et Windows.&lt;br /&gt;
&lt;br /&gt;
==Testeur de keymaps==&lt;br /&gt;
* Fabien Jobin a écrit en Ruby un [http://if-gpl.insa-lyon.fr/pipermail/dvorak-fr/2003-March/000110.html programme pour tester des keymaps].&lt;br /&gt;
&lt;br /&gt;
* Yota en a écrit un autre script en python, [[Klay]]. Le principe ici est de s&#039;approcher d&#039;un modèle physique de la main pour évaluer les coûts énergétiques (bien sûr l&#039;unité de mesure est fictive mais elle peut servir de point de comparaison).&lt;br /&gt;
&lt;br /&gt;
* Rémi a écrit et essai de trouver le temps de maintenir le projet [[KeyboardEvaluator]], écrit en Java présent dans la base subversion.&lt;br /&gt;
&lt;br /&gt;
* Nicolas Brodu a écrit un [[comparateur de dispositions]] de clavier en étendant les sources de Rémi.&lt;br /&gt;
&lt;br /&gt;
*[http://www.acm.vt.edu/~jmaxwell/dvorak/compare.html &#039;&#039;Keyboard Compare Applet&#039;&#039;] - Un applet java pour comparer les claviers anglais Qwerty et Dvorak.&lt;br /&gt;
&lt;br /&gt;
*[http://www.tomestla.info/bepo/ Stats bépo &amp;lt;-&amp;gt; azerty ] — Comparateur bépo/azerty de [[Utilisateur:Tomestla|Tomestla]].&lt;br /&gt;
&lt;br /&gt;
==Outils Windows==&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=8be579aa-780d-4253-9e0a-e17e51db2223&amp;amp;DisplayLang=en Windows Keyboard Layout Creator 1.4] – L&#039;outil Microsoft pour créer des dispositions de touches sous Windows depuis le un fichier [[klc]].&lt;br /&gt;
** [http://www.klm32.com/index.html Keyboard Layout Creator] — Shareware pour créer une disposition&lt;br /&gt;
** [http://www.kbdedit.com/ Keyboard Layout Editor] — Un autre shareware pour créer une disposition&lt;br /&gt;
** [http://www.tavultesoft.com/ Tavultesoft Keyman 7.0] - Encore un shareware&lt;br /&gt;
* [http://llacan.vjf.cnrs.fr/fichiers/manuels/Internet/SaisieClavier.pdf Saisie des caractères spéciaux] – Petit tutoriel pour Ms KLC et TavulteSoft Keyman.&lt;br /&gt;
* [http://www.microsoft.com/globaldev/handson/dev/Unicode-KbdsonWindows.pdf Unicode and Keyboards on Windows] &lt;br /&gt;
* [http://allchars.zwolnet.com/ AllChars] – Touche [[compose]], open source.&lt;br /&gt;
* [http://hapax.qc.ca/BabelMap_fr.html BabelMap] –  Sélectionner, visualiser et copier n&#039;importe quel caractère Unicode 4.1.0.&lt;br /&gt;
* [http://www.autohotkey.com AutoHotkey version 1.0.47.06] – Automatisation, raccourcis et scriptage de touche (gratuit et libre), 9 mars 2008.&lt;br /&gt;
* [http://webpages.charter.net/krumsick/ KeyTweak] – Modification des touches dans la base de registre (gratuit).&lt;br /&gt;
* [http://www.autohotkey.com/forum/topic28447.html Portable Keyboard Layout] : un logiciel libre (GPLv3) ne nécessitant pas de droits d&#039;installation, basé sur AHK. [http://www.autohotkey.com/forum/topic28447.html]&lt;br /&gt;
&lt;br /&gt;
==Outils Mac OS X==&lt;br /&gt;
* [http://developer.apple.com/textfonts/Fonttools/Index.html Apple Font Tools] — Documentation et outils de développement en ligne de commande pour les dispositions de clavier (entre autre).&lt;br /&gt;
* [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;item_id=ukelele Ukelele] — Un outil graphique de développement de disposition de clavier.&lt;br /&gt;
* [http://doublecommand.sourceforge.net/ DoubleCommand] — Utilitaire pour modifier le comportement de certaines touches. Utile pour modifier la touche &#039;&#039;Entrée&#039;&#039; des Mac portables en touche &#039;&#039;Option&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Outil Linux==&lt;br /&gt;
* [[Compose]]&lt;br /&gt;
* [[Vim]]&lt;br /&gt;
* [http://kmfl.sourceforge.net/ Keyboard Mapping for Linux] — Permet d’utiliser les sources de Tavultesoft Keyman pour Windows.&lt;br /&gt;
* [http://tuxradar.com/content/xdotool-script-your-mouse xdotool] pareil qu&#039;AutoHotKey pour Linux&lt;br /&gt;
&lt;br /&gt;
==Images de clavier vierges==&lt;br /&gt;
Voici deux fichiers [[wp:Scalable Vector Graphics|svg]] différents pour avoir un fond de clavier : &lt;br /&gt;
*[http://www.clavier-dvorak.org/images/clavier_blanc.svg celui de Tenoch]&lt;br /&gt;
*[http://www.clavier-dvorak.org/images/clavier_blanc_2.svg celui de Nicolas Brodu]&lt;br /&gt;
&lt;br /&gt;
==Statistiques du site web==&lt;br /&gt;
*http://stats.tuxfamily.org/clavier-dvorak.org/&lt;br /&gt;
*http://stats.download.tuxfamily.org/dvorak/&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23644</id>
		<title>Discussion utilisateur:Damien thiriet</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23644"/>
		<updated>2014-09-01T00:48:54Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Tes optimisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Tes optimisations====&lt;br /&gt;
Pourrais-tu ajouter quelques sections pour détailler comment tu as optimisé ton système? Je serais curieux de voir ta config de feh, i3 et zsh. Au passage, j&#039;aime bien ta philosophie des abréviations. [[Utilisateur:Lawrent|Lawrent]] ([[Discussion utilisateur:Lawrent|discussion]]) 1 septembre 2014 à 02:48 (CEST)&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23643</id>
		<title>Discussion utilisateur:Damien thiriet</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Discussion_utilisateur:Damien_thiriet&amp;diff=23643"/>
		<updated>2014-09-01T00:48:28Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Page créée avec « ====Tes optimisations==== Pourrais-tu ajouter quelques sections pour détailler comment tu as optimisé ton système? Je serais curieux de voir ta config de feh, i3 et zsh... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Tes optimisations====&lt;br /&gt;
Pourrais-tu ajouter quelques sections pour détailler comment tu as optimisé ton système? Je serais curieux de voir ta config de feh, i3 et zsh. Au passage, j&#039;aime bien ta philosophie des abréviations.&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23642</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23642"/>
		<updated>2014-08-31T23:51:24Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : commentaire sur i3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d&#039;ici quelques temps :-) .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Cette page n&#039;est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disposition complète, encore en cours de changements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;utilisation de l&#039;overlay, attention: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* (changement majeur) À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;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. Pour l&#039;instant à l&#039;état de brouillon [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques principales==&lt;br /&gt;
* 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.&lt;br /&gt;
* &amp;lt;b&amp;gt;ne pas&amp;lt;/b&amp;gt; utiliser la ligne des chiffres que je juge trop inaccessible.&lt;br /&gt;
* déplacer les modificateurs (l&#039;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&#039;en voit facilitée des deux côtés.&lt;br /&gt;
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l&#039;index et de l&#039;auriculaire.&lt;br /&gt;
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.&lt;br /&gt;
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation&lt;br /&gt;
* les touches spéciales placées sur l&#039;overlay sont fréquemment utilisées sur Linux Mint pour passer d&#039;un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte&lt;br /&gt;
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d&#039;autres vimités&lt;br /&gt;
&lt;br /&gt;
J&#039;ai également modifié l&#039;emplacement initial de certaines touches:&lt;br /&gt;
* Le B: [[Utilisateur:Robin|Robin]] recommande d&#039;intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s&#039;en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.&lt;br /&gt;
* Le H : je n&#039;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&amp;lt;-&amp;gt;J me semble adéquat.&lt;br /&gt;
* Le O : ma méthode de saisie (voir plus bas) encourage l&#039;utilisation des pouces comme pivots vers l&#039;extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H&amp;lt;-&amp;gt;O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l&#039;intérieur). Dans l&#039;ensemble, ça compense le digramme he concentré sur un seul doigt.&lt;br /&gt;
* déplacement du ! : c&#039;est une exception de mettre un signe de ponctuation en altgr, mais le &#039;^&#039; est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu&#039;avec les accents morts.&lt;br /&gt;
* Le S et le N : pour faciliter les trigrammes des et men.&lt;br /&gt;
* swap à&amp;lt;-&amp;gt;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&#039;annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:&lt;br /&gt;
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *&lt;br /&gt;
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n&#039;aime vraiment pas les touches au-dessus des index&lt;br /&gt;
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d&#039;après la [[fréquence des digrammes]]).&lt;br /&gt;
&lt;br /&gt;
==Justification de mes changements par rapport au bépo original==&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;expliquer pourquoi j&#039;ai changé quelle touche de place, il faut que je vous donne ma propre carte d&#039;accessibilité (= la préférence que j&#039;accorde personnellement à chaque touche).&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │  3 │  3 │    │    │    │  3 │  3 │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║  2 │  1 │  1 │  4 │  5 │  6 │  4 │  1 │  1 │  2 │  3 │  3 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║  0 │  0 │  0 │  0 │  1 │  1 │  0 │  0 │  0 │  0 │  1 │  3 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║  1 │  4 │  2 │  2 │  1 │  5 │  1 │  2 │  2 │  4 │  1 ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Plus une touche a une valeur élevée, moins je la trouve accessible.)&lt;br /&gt;
&lt;br /&gt;
(à finir…)&lt;br /&gt;
&lt;br /&gt;
==Utilisation recommandée==&lt;br /&gt;
* saisie des caractères proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apprentissage==&lt;br /&gt;
(à réécrire)&lt;br /&gt;
&lt;br /&gt;
==Installation (Linux)==&lt;br /&gt;
===En console===&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
===XKB===&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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&#039;Ubuntu/Linux Mint avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* 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&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;J&#039;ai remis le N et le S à leurs positions originales, cette section n&#039;est donc pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d&#039;apprentissage/d&#039;adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.&lt;br /&gt;
&lt;br /&gt;
Comme gestionnaire de fenêtre, je suis en transition vers [http://i3wm.org i3]. Première impression: c&#039;est un &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; bon gestionnaire de fenêtre, avec une documentation exemplaire. Essayez-le.&lt;br /&gt;
&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23610</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23610"/>
		<updated>2014-08-27T17:47:44Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* En console */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d&#039;ici quelques temps :-) .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Cette page n&#039;est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disposition complète, encore en cours de changements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;utilisation de l&#039;overlay, attention: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* (changement majeur) À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;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. Pour l&#039;instant à l&#039;état de brouillon [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques principales==&lt;br /&gt;
* 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.&lt;br /&gt;
* &amp;lt;b&amp;gt;ne pas&amp;lt;/b&amp;gt; utiliser la ligne des chiffres que je juge trop inaccessible.&lt;br /&gt;
* déplacer les modificateurs (l&#039;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&#039;en voit facilitée des deux côtés.&lt;br /&gt;
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l&#039;index et de l&#039;auriculaire.&lt;br /&gt;
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.&lt;br /&gt;
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation&lt;br /&gt;
* les touches spéciales placées sur l&#039;overlay sont fréquemment utilisées sur Linux Mint pour passer d&#039;un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte&lt;br /&gt;
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d&#039;autres vimités&lt;br /&gt;
&lt;br /&gt;
J&#039;ai également modifié l&#039;emplacement initial de certaines touches:&lt;br /&gt;
* Le B: [[Utilisateur:Robin|Robin]] recommande d&#039;intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s&#039;en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.&lt;br /&gt;
* Le H : je n&#039;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&amp;lt;-&amp;gt;J me semble adéquat.&lt;br /&gt;
* Le O : ma méthode de saisie (voir plus bas) encourage l&#039;utilisation des pouces comme pivots vers l&#039;extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H&amp;lt;-&amp;gt;O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l&#039;intérieur). Dans l&#039;ensemble, ça compense le digramme he concentré sur un seul doigt.&lt;br /&gt;
* déplacement du ! : c&#039;est une exception de mettre un signe de ponctuation en altgr, mais le &#039;^&#039; est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu&#039;avec les accents morts.&lt;br /&gt;
* Le S et le N : pour faciliter les trigrammes des et men.&lt;br /&gt;
* swap à&amp;lt;-&amp;gt;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&#039;annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:&lt;br /&gt;
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *&lt;br /&gt;
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n&#039;aime vraiment pas les touches au-dessus des index&lt;br /&gt;
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d&#039;après la [[fréquence des digrammes]]).&lt;br /&gt;
&lt;br /&gt;
==Justification de mes changements par rapport au bépo original==&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;expliquer pourquoi j&#039;ai changé quelle touche de place, il faut que je vous donne ma propre carte d&#039;accessibilité (= la préférence que j&#039;accorde personnellement à chaque touche).&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │  3 │  3 │    │    │    │  3 │  3 │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║  2 │  1 │  1 │  4 │  5 │  6 │  4 │  1 │  1 │  2 │  3 │  3 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║  0 │  0 │  0 │  0 │  1 │  1 │  0 │  0 │  0 │  0 │  1 │  3 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║  1 │  4 │  2 │  2 │  1 │  5 │  1 │  2 │  2 │  4 │  1 ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Plus une touche a une valeur élevée, moins je la trouve accessible.)&lt;br /&gt;
&lt;br /&gt;
(à finir…)&lt;br /&gt;
&lt;br /&gt;
==Utilisation recommandée==&lt;br /&gt;
* saisie des caractères proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apprentissage==&lt;br /&gt;
(à réécrire)&lt;br /&gt;
&lt;br /&gt;
==Installation (Linux)==&lt;br /&gt;
===En console===&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
Plus généralement, c&#039;est le package [http://kbd-project.org/www.win.tue.nl/~aeb/linux/kbd/kbd-2.html kbd] qui prend la gestion du clavier en charge.&lt;br /&gt;
&amp;lt;code&amp;gt;man keymaps&amp;lt;/code&amp;gt; donne des infos sur comment écrire ses fichiers loadkeys.&lt;br /&gt;
&lt;br /&gt;
===XKB===&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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&#039;Ubuntu/Linux Mint avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* 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&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;J&#039;ai remis le N et le S à leurs positions originales, cette section n&#039;est donc pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d&#039;apprentissage/d&#039;adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.&lt;br /&gt;
&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m&#039;a recommandé récemment [http://i3wm.org/ i3] que j&#039;essayerais bien. D&#039;autres gestionnaires de fenêtre qui ont l&#039;air intéressant: wmii, scrotwm.&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23609</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23609"/>
		<updated>2014-08-27T17:35:48Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout d&amp;#039;une note à propos de loadkeys&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d&#039;ici quelques temps :-) .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Cette page n&#039;est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disposition complète, encore en cours de changements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;utilisation de l&#039;overlay, attention: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* (changement majeur) À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;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. Pour l&#039;instant à l&#039;état de brouillon [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques principales==&lt;br /&gt;
* 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.&lt;br /&gt;
* &amp;lt;b&amp;gt;ne pas&amp;lt;/b&amp;gt; utiliser la ligne des chiffres que je juge trop inaccessible.&lt;br /&gt;
* déplacer les modificateurs (l&#039;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&#039;en voit facilitée des deux côtés.&lt;br /&gt;
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l&#039;index et de l&#039;auriculaire.&lt;br /&gt;
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.&lt;br /&gt;
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation&lt;br /&gt;
* les touches spéciales placées sur l&#039;overlay sont fréquemment utilisées sur Linux Mint pour passer d&#039;un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte&lt;br /&gt;
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d&#039;autres vimités&lt;br /&gt;
&lt;br /&gt;
J&#039;ai également modifié l&#039;emplacement initial de certaines touches:&lt;br /&gt;
* Le B: [[Utilisateur:Robin|Robin]] recommande d&#039;intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s&#039;en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.&lt;br /&gt;
* Le H : je n&#039;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&amp;lt;-&amp;gt;J me semble adéquat.&lt;br /&gt;
* Le O : ma méthode de saisie (voir plus bas) encourage l&#039;utilisation des pouces comme pivots vers l&#039;extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H&amp;lt;-&amp;gt;O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l&#039;intérieur). Dans l&#039;ensemble, ça compense le digramme he concentré sur un seul doigt.&lt;br /&gt;
* déplacement du ! : c&#039;est une exception de mettre un signe de ponctuation en altgr, mais le &#039;^&#039; est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu&#039;avec les accents morts.&lt;br /&gt;
* Le S et le N : pour faciliter les trigrammes des et men.&lt;br /&gt;
* swap à&amp;lt;-&amp;gt;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&#039;annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:&lt;br /&gt;
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *&lt;br /&gt;
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n&#039;aime vraiment pas les touches au-dessus des index&lt;br /&gt;
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d&#039;après la [[fréquence des digrammes]]).&lt;br /&gt;
&lt;br /&gt;
==Justification de mes changements par rapport au bépo original==&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;expliquer pourquoi j&#039;ai changé quelle touche de place, il faut que je vous donne ma propre carte d&#039;accessibilité (= la préférence que j&#039;accorde personnellement à chaque touche).&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │  3 │  3 │    │    │    │  3 │  3 │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║  2 │  1 │  1 │  4 │  5 │  6 │  4 │  1 │  1 │  2 │  3 │  3 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║  0 │  0 │  0 │  0 │  1 │  1 │  0 │  0 │  0 │  0 │  1 │  3 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║  1 │  4 │  2 │  2 │  1 │  5 │  1 │  2 │  2 │  4 │  1 ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Plus une touche a une valeur élevée, moins je la trouve accessible.)&lt;br /&gt;
&lt;br /&gt;
(à finir…)&lt;br /&gt;
&lt;br /&gt;
==Utilisation recommandée==&lt;br /&gt;
* saisie des caractères proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apprentissage==&lt;br /&gt;
(à réécrire)&lt;br /&gt;
&lt;br /&gt;
==Installation (Linux)==&lt;br /&gt;
===En console===&lt;br /&gt;
En mode console (par exemple, quand on fait ctrl-alt-f2, attention que pour revenir à l&#039;interface graphique il faut appuyer sur ctrl-alt-f8), ce n&#039;est pas xkb qui gère la disposition du clavier mais loadkeys. Du coup, il faut également configurer loadkeys si on est sur une version bidouillée. Lire [https://wiki.archlinux.org/index.php/Extra_keyboard_keys_in_console la page du wiki d&#039;Arch] pour voir comment s&#039;y prendre: on peut déplacer les ctrl, alt et autres maj ou caps-lock où on veut, mais c&#039;est pas certain qu&#039;il existe un mode overlay…&lt;br /&gt;
&lt;br /&gt;
===XKB===&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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&#039;Ubuntu/Linux Mint avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* 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&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;J&#039;ai remis le N et le S à leurs positions originales, cette section n&#039;est donc pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d&#039;apprentissage/d&#039;adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.&lt;br /&gt;
&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m&#039;a recommandé récemment [http://i3wm.org/ i3] que j&#039;essayerais bien. D&#039;autres gestionnaires de fenêtre qui ont l&#039;air intéressant: wmii, scrotwm.&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23516</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23516"/>
		<updated>2014-06-29T15:45:18Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Correction de la formule de pénalité&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition. Rendons à César ce qui est à César, la méthode de saisie est inspirée de l&#039;adaptation de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito] sur un clavier standard et la méthodologie de développement est inspirée de la page de développement du layout [http://www.mtgap.bilfo.com/keyboard.html MTGAP] de Michael Dickens.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│   %║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Idée générale==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
==Corpus==&lt;br /&gt;
Créer un bon corpus est une tâche délicate et indispensable pour un bon clavier. Pour relever la cote du w et du digramme wh ô combien courants en anglais, mon corpus est composé à 10% d&#039;un roman en anglais anglais (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;). Les 90% restants sont répartis en 45% de textes personnels (e-mails et autres) et 45% d&#039;un roman francophone. Sur base de ce corpus mixte, voici à titre d&#039;information la fréquence des 50 caractères les plus fréquents:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  - 16.915 %&lt;br /&gt;
e - 10.992 %&lt;br /&gt;
a - 6.331 %&lt;br /&gt;
t - 6.012 %&lt;br /&gt;
s - 5.899 %&lt;br /&gt;
i - 5.805 %&lt;br /&gt;
n - 5.231 %&lt;br /&gt;
r - 5.068 %&lt;br /&gt;
o - 4.416 %&lt;br /&gt;
u - 4.159 %&lt;br /&gt;
l - 3.956 %&lt;br /&gt;
d - 2.669 %&lt;br /&gt;
m - 2.332 %&lt;br /&gt;
c - 2.327 %&lt;br /&gt;
p - 2.293 %&lt;br /&gt;
h - 1.543 %&lt;br /&gt;
. - 1.172 %&lt;br /&gt;
v - 1.155 %&lt;br /&gt;
é - 1.100 %&lt;br /&gt;
&#039; - 1.069 %&lt;br /&gt;
f - 0.988 %&lt;br /&gt;
, - 0.955 %&lt;br /&gt;
g - 0.890 %&lt;br /&gt;
q - 0.774 %&lt;br /&gt;
b - 0.751 %&lt;br /&gt;
&amp;lt;Enter&amp;gt; - 0.747 %&lt;br /&gt;
j - 0.561 %&lt;br /&gt;
y - 0.519 %&lt;br /&gt;
w - 0.471 %&lt;br /&gt;
à - 0.309 %&lt;br /&gt;
- - 0.298 %&lt;br /&gt;
x - 0.271 %&lt;br /&gt;
k - 0.220 %&lt;br /&gt;
è - 0.197 %&lt;br /&gt;
ê - 0.150 %&lt;br /&gt;
: - 0.109 %&lt;br /&gt;
ç - 0.102 %&lt;br /&gt;
? - 0.092 %&lt;br /&gt;
— - 0.085 %&lt;br /&gt;
1 - 0.084 %&lt;br /&gt;
0 - 0.082 %&lt;br /&gt;
z - 0.074 %&lt;br /&gt;
« - 0.070 %&lt;br /&gt;
» - 0.070 %&lt;br /&gt;
&amp;quot; - 0.054 %&lt;br /&gt;
2 - 0.054 %&lt;br /&gt;
) - 0.045 %&lt;br /&gt;
( - 0.042 %&lt;br /&gt;
! - 0.041 %&lt;br /&gt;
â - 0.040 %&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 36 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (5): éàêèç&lt;br /&gt;
* la ponctuation (4): .,&#039;- (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;br /&gt;
&lt;br /&gt;
En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║&lt;br /&gt;
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ &#039; &amp;quot;│ - —║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note que je ne place pas les œ ni les æ sur mon clavier.)&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:&lt;br /&gt;
* les majuscules sont transformées en minuscules&lt;br /&gt;
* tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,&#039;-äöùå:;?!—–ôâîûïë est transformé en espace &lt;br /&gt;
* ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, &amp;quot; et ! deviennent &#039;, ?, — et – deviennent -&lt;br /&gt;
* î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e&lt;br /&gt;
Il ne reste ensuite qu&#039;à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
==Clavier==&lt;br /&gt;
Cette section s&#039;attaque aux pénalités, autre point clef de l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
===Pénalité du clavier===&lt;br /&gt;
Pour ce faire, j&#039;utilise le [[Duels_d&#039;accessibilité|key_vote]] où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu&#039;il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier &amp;lt;code&amp;gt;key_vote_full.py&amp;lt;/code&amp;gt; (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).&lt;br /&gt;
&lt;br /&gt;
Note du lendemain: faire le keyvote complet c&#039;est super long, c&#039;est pourquoi j&#039;ai pensé à l&#039;idée suivante qui se base sur le même principe. Au lieu de faire tous les duels un à un, je les fais touche par touche et je les remplis dans une matrice. En clair: en utilisant cette carte de mon clavier (choisie pour que les touches gauches et droites soient faciles à décrire),&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 19 │ 20 │ 21 │ 22 │ 23 │ 24 ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ 7  │ 8  │ 9  │ 10 │ 11 │ 12 │ 25 │ 26 │ 27 │ 28 │ 29 │ 30 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 31 │ 32 │ 33 │ 34 │ 35 │ 36 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
la touche 1 fait match nul contre elle-même, perd son duel face aux touches 2,3,4,5 et gagne face à la touche 6; de même, la touche 2 gagne contre la touche 1, fait match nul contre elle-même, perd face aux touches 3,4,5 et gagne face à la touche 6. Je remplis donc une matrice 36x36&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
mat=&lt;br /&gt;
[0 -1 -1 -1 -1 1 ...&lt;br /&gt;
[1 0 -1 -1 -1 1 ...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Comme test de vérification que mes duels sont consistents entre eux (c&#039;est-à-dire, si 16 bat 17 alors 17 doit perdre face à 16), la matrice ainsi obtenue doit être [http://fr.wikipedia.org/wiki/Matrice_antisym%C3%A9trique anti-symmétrique] et les incohérences sont les duels entre i et j tels que mat(i,j) ≠ -mat(j,i). La pénalité associée à chaque touche est alors un score entre 0 et 100 calculé par la formule:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
score de la touche i = -100* [sum_j mat(i,j)] / 35  +  50&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(En pratique, par souci d&#039;indentation et de facilité de frappe, je cote mes duels à 1 en cas de défaite, 2 en cas de match nul et 3 en cas de victoire et à la fin je soustrais 2 partout.)&lt;br /&gt;
&lt;br /&gt;
===Pénalités des digrammes===&lt;br /&gt;
===Pénalités des trigrammes===&lt;br /&gt;
&lt;br /&gt;
==L&#039;algorithme==&lt;br /&gt;
(lisez [http://forum.bepo.fr/viewtopic.php?pid=9435 mon post] ou revenez plus tard quand je l&#039;aurai réécrit ici)&lt;br /&gt;
&lt;br /&gt;
Idée à ajouter à l&#039;algorithme évolutionnaire: à chaque génération, évaluer les 10 meilleures dispositions de la précédente + 10 dispositions créées à partir de la génération précédente + 10 dispositions entièrement aléatoires. Garder les 10 meilleures parmi ces 30.&lt;br /&gt;
&lt;br /&gt;
==Évaluation d&#039;une disposition==&lt;br /&gt;
Les premières dispositions renvoyées par l&#039;algorithme seront probablement mauvaises parce que les différentes pénalités ne seront pas pondérées correctement ou parce que certaines pénalités auront été négligées. Si une disposition &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; mauvaise se repère en un coup d&#039;oeil (par exemple, si le A est placé sur la ligne inférieure), il peut être plus difficile de détecter celles qui ne sont que moyennement mauvaises. Pour éviter de devoir réapprendre une disposition complète avant de se rendre compte qu&#039;elle est mauvaise, voici quelques caractéristiques à évaluer a posteriori qui permettent de se faire une idée sur la qualité de la disposition renvoyée par l&#039;algorithme:&lt;br /&gt;
* pénalité totale&lt;br /&gt;
* charge main gauche versus main droite&lt;br /&gt;
* charge individuelle de chaque doigt: en tenant compte de la force de chaque doigt et le fait que l&#039;auriculaire gère 6 touches, une bonne disposition devrait avoir une répartition a-A-M-I proche de 20%-20%-30%-30% (valeurs tirées à pouf)&lt;br /&gt;
* % de roulements vers l&#039;intérieur et l&#039;extérieur&lt;br /&gt;
* % de digrammes avec une et deux lignes d&#039;écart sur la même main&lt;br /&gt;
* % de digrammes utilisant le même doigt&lt;br /&gt;
* la liste des 10 mauvais digrammes/trigrammes les plus fréquents&lt;br /&gt;
Pour avoir un ordre de grandeur d&#039;où ces paramètres devraient se situer, une bonne idée serait de les évaluer sur l&#039;azerty et le bépo (en adaptant ces dispositions à ma méthode de frappe).&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=M%C3%A9thode_de_saisie&amp;diff=23491</id>
		<title>Méthode de saisie</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=M%C3%A9thode_de_saisie&amp;diff=23491"/>
		<updated>2014-06-16T22:51:09Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Ajout de deux variantes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation|Apprentissage}}&lt;br /&gt;
Une &#039;&#039;&#039;méthode de saisie&#039;&#039;&#039; est la façon d&#039;affecter ses doigts aux touches du clavier.&lt;br /&gt;
Plusieurs méthodes de dactylographie sont possibles pour les [[Claviers#Claviers à rangées décalées|claviers à rangées décalées]]. Elles sont équivalentes pour les trois rangées principales et ne diffèrent que pour la rangée des chiffres ainsi que quelques adaptations par certains pour la rangée inférieure gauche.&lt;br /&gt;
&lt;br /&gt;
Légende des touches :&lt;br /&gt;
* en gras : [[Apprentissage#Position_de_repos_des_doigts|position de repos des doigts]].&lt;br /&gt;
* le bleu : touches pour les auriculaires ;&lt;br /&gt;
* le vert : touches pour les annulaires ;&lt;br /&gt;
* le jaune pâle : touches pour les majeurs ;&lt;br /&gt;
* le orange : touches pour l’index main gauche ;&lt;br /&gt;
* le mauve : touches pour l’index main droite.&lt;br /&gt;
&lt;br /&gt;
=== Méthode « standard » ===&lt;br /&gt;
C&#039;est la méthode qui est enseignée dans tous les lycées aux États-Unis et très vraisemblablement la méthode la plus utilisée dans le monde ; c&#039;est la raison pour laquelle les [[Claviers#Claviers_en_colonnes.2Forthogonaux|claviers orthogonaux]] ([[TypeMatrix]], [[Kinesis]], [[Maltron]]) utilisent ce mapping.&lt;br /&gt;
&lt;br /&gt;
{{HoverImage|Bépo-standard.png|Azerty-standard.png|center|800px|link=Fichier:Bépo-standard.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « t6 » ({{tA|T}} et {{tA|6}} sous le même doigt) ===&lt;br /&gt;
Légère modification de la méthode standard, adaptée aux claviers [[Type_de_clavier#Clavier_ergonomiques.2C_coup.C3.A9_en_deux_blocs|coupés en deux]] qui placent le {{tA|6}} sous la main gauche.&lt;br /&gt;
{{HoverImage|Bépo-t6.png|Azerty-t6.png|center|800px|link=Fichier:Bépo-t6.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « o0 » ({{tA|O}} et {{tA|0}} sous le même doigt) ===&lt;br /&gt;
C&#039;est une variante très courante en Europe car elle est plus respectueuse de l&#039;ergonomie sur les claviers à rangées décalées : &lt;br /&gt;
* la plupart des dispositions qwerty ou qwertz européens placent les parenthèses () sous {{tA|8}} et {{tA|9}}, et non sous {{tA|9}} et {{tA|0}} comme c&#039;est le cas sur le Qwerty américain : cette variante permet ainsi d&#039;avoir les parenthèses sous les deux doigts forts (index et majeur) ;&lt;br /&gt;
* la rangée du haut est moins décalée qu&#039;en méthode standard, et l&#039;accès aux touches {{tA|)}} {{tA| 1==}} est plus facile.&lt;br /&gt;
Noter que cette méthode implique une dissymétrie pour l&#039;accès aux chiffres : l&#039;auriculaire gauche est utilisé pour deux chiffres, l&#039;auriculaire droit pour aucun. Cela peut néanmoins être un avantage dans la mesure où le {{tA|0}}, qui est le chiffre le plus fréquent, est utilisé par un doigt long plutôt que l&#039;auriculaire.&lt;br /&gt;
&lt;br /&gt;
Cette méthode est toutefois déconseillée en Azerty dans la mesure où elle place une touche très fréquente, le {{tA|é}}, sous l&#039;auriculaire gauche.&lt;br /&gt;
&lt;br /&gt;
{{HoverImage|Bépo-o0.png|Azerty-o0.png|center|800px|link=Fichier:Bépo-o0.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « A » ===&lt;br /&gt;
Ce n&#039;est pas une méthode standard de dactylographie, mais elle est adoptée par certains utilisateurs bépo pour avoir une meilleure symétrie des mains sur la rangée du bas. De plus elle évite de se croiser les doigts de la main gauche, par exemple avec les autres méthodes lorsqu&#039;on tape un {{tA|C}} ({{t|X}} bépo) il faut replier le majeur de la main gauche tout en le croisant avec l&#039;index, qui gêne alors la frappe. En variante A l&#039;index se replie naturellement sur le {{tA|C}} ({{t|X}} bépo) du moment que les mains et les bras sont aussi en forme de A face au clavier, position de repos naturelle. La seule contre partie est l&#039;affectation de {{tA|B}} qui augmente la charge d&#039;un index. Ce qui ne pose aucun problème en bépo puisque cette touche est affectée au {{t|K}}, très rare en français. Pour résumer la méthode A permet d&#039;améliorer l&#039;accès au touche de la rangée inférieur de la main gauche, tout en gardant la même accessibilité pour les autres touches.&lt;br /&gt;
&lt;br /&gt;
Avec un clavier 104 touches l&#039;auriculaire tombera sur la touche majuscule gauche.&lt;br /&gt;
{{HoverImage|Bépo-A.png|Azerty-A.png|center|800px|link=Fichier:Bépo-A.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante en V inversé ===&lt;br /&gt;
Proche de la méthode en A, cette méthode est proche de la forme du clavier Truly Ergonomic. Elle place 7 touches sous l&#039;auriculaire droit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a  │ a  │ a  │ A  │ M  │ I  │  I │  M │  A │  a │  a │  a ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ a  │ a  │ A  │ M  │ I  │  I │  I │  M │  A │  a │  a │  a ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║*a* │*A* │*M* │*I* │ I  │  I │ *I*│ *M*│ *A*│ *a*│  a │  a ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║ a  │ A  │ M  │ I  │ I  │ I  │  I │  I │  M │  A │  a ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notons une autre variante, entre le V inversé et le A:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a  │ a  │ A  │ M  │ I  │ I  │  I │  M │  A │  a │  a │  a ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ a  │ A  │ M  │ I  │ I  │  I │  I │  M │  A │  a │  a │  a ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║*a* │*A* │*M* │*I* │ I  │  I │ *I*│ *M*│ *A*│ *a*│  a │  a ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║ a  │ A  │ M  │ I  │ I  │ I  │  I │  I │  M │  A │  a ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variante « japonaise » === &lt;br /&gt;
Variante très différente des précédentes qui utilise plus les pouces et qui semble plus ergonomique pour les claviers 105 touches. Cette méthode relève tous les doigts d&#039;une rangée donne accès à davantage de touches (Majuscules, AltGr, …) sous le pouce. (Bien entendu, il faut adapter le bépo et l&#039;emplacement des modificateurs à cette disposition.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║*a* │*A* │*M* │*I* │    │    │ *I*│ *M*│ *A*│ *a*│    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │*P* │    │    │    │ *P*│    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À partir de ce placement de doigts, on peut utiliser toutes les méthodes décrites plus haut: méthode standard, en A, etc.&lt;br /&gt;
&lt;br /&gt;
Une variante intéressant est de décaler les doigts d&#039;un cran vers la droite, ce qui rend la méthode standard symmétrique:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a  │ a  │ A  │ M  │ I  │ I  │  I │  I │  M │  A │  a │  a ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ a  │*a* │*A* │*M* │*I* │ I  │  I │ *I*│ *M*│ *A*│ *a*│  a ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║ a  │ a  │ A  │ M  │ I  │ I  │  I │  I │  M │  A │  a │  a ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │*P* │    │    │    │*P* │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=M%C3%A9thode_de_saisie&amp;diff=23490</id>
		<title>Méthode de saisie</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=M%C3%A9thode_de_saisie&amp;diff=23490"/>
		<updated>2014-06-16T22:36:09Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : Description de la méthode « japonnaise »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation|Apprentissage}}&lt;br /&gt;
Une &#039;&#039;&#039;méthode de saisie&#039;&#039;&#039; est la façon d&#039;affecter ses doigts aux touches du clavier.&lt;br /&gt;
Plusieurs méthodes de dactylographie sont possibles pour les [[Claviers#Claviers à rangées décalées|claviers à rangées décalées]]. Elles sont équivalentes pour les trois rangées principales et ne diffèrent que pour la rangée des chiffres ainsi que quelques adaptations par certains pour la rangée inférieure gauche.&lt;br /&gt;
&lt;br /&gt;
Légende des touches :&lt;br /&gt;
* en gras : [[Apprentissage#Position_de_repos_des_doigts|position de repos des doigts]].&lt;br /&gt;
* le bleu : touches pour les auriculaires ;&lt;br /&gt;
* le vert : touches pour les annulaires ;&lt;br /&gt;
* le jaune pâle : touches pour les majeurs ;&lt;br /&gt;
* le orange : touches pour l’index main gauche ;&lt;br /&gt;
* le mauve : touches pour l’index main droite.&lt;br /&gt;
&lt;br /&gt;
=== Méthode « standard » ===&lt;br /&gt;
C&#039;est la méthode qui est enseignée dans tous les lycées aux États-Unis et très vraisemblablement la méthode la plus utilisée dans le monde ; c&#039;est la raison pour laquelle les [[Claviers#Claviers_en_colonnes.2Forthogonaux|claviers orthogonaux]] ([[TypeMatrix]], [[Kinesis]], [[Maltron]]) utilisent ce mapping.&lt;br /&gt;
&lt;br /&gt;
{{HoverImage|Bépo-standard.png|Azerty-standard.png|center|800px|link=Fichier:Bépo-standard.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « t6 » ({{tA|T}} et {{tA|6}} sous le même doigt) ===&lt;br /&gt;
Légère modification de la méthode standard, adaptée aux claviers [[Type_de_clavier#Clavier_ergonomiques.2C_coup.C3.A9_en_deux_blocs|coupés en deux]] qui placent le {{tA|6}} sous la main gauche.&lt;br /&gt;
{{HoverImage|Bépo-t6.png|Azerty-t6.png|center|800px|link=Fichier:Bépo-t6.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « o0 » ({{tA|O}} et {{tA|0}} sous le même doigt) ===&lt;br /&gt;
C&#039;est une variante très courante en Europe car elle est plus respectueuse de l&#039;ergonomie sur les claviers à rangées décalées : &lt;br /&gt;
* la plupart des dispositions qwerty ou qwertz européens placent les parenthèses () sous {{tA|8}} et {{tA|9}}, et non sous {{tA|9}} et {{tA|0}} comme c&#039;est le cas sur le Qwerty américain : cette variante permet ainsi d&#039;avoir les parenthèses sous les deux doigts forts (index et majeur) ;&lt;br /&gt;
* la rangée du haut est moins décalée qu&#039;en méthode standard, et l&#039;accès aux touches {{tA|)}} {{tA| 1==}} est plus facile.&lt;br /&gt;
Noter que cette méthode implique une dissymétrie pour l&#039;accès aux chiffres : l&#039;auriculaire gauche est utilisé pour deux chiffres, l&#039;auriculaire droit pour aucun. Cela peut néanmoins être un avantage dans la mesure où le {{tA|0}}, qui est le chiffre le plus fréquent, est utilisé par un doigt long plutôt que l&#039;auriculaire.&lt;br /&gt;
&lt;br /&gt;
Cette méthode est toutefois déconseillée en Azerty dans la mesure où elle place une touche très fréquente, le {{tA|é}}, sous l&#039;auriculaire gauche.&lt;br /&gt;
&lt;br /&gt;
{{HoverImage|Bépo-o0.png|Azerty-o0.png|center|800px|link=Fichier:Bépo-o0.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « A » ===&lt;br /&gt;
Ce n&#039;est pas une méthode standard de dactylographie, mais elle est adoptée par certains utilisateurs bépo pour avoir une meilleure symétrie des mains sur la rangée du bas. De plus elle évite de se croiser les doigts de la main gauche, par exemple avec les autres méthodes lorsqu&#039;on tape un {{tA|C}} ({{t|X}} bépo) il faut replier le majeur de la main gauche tout en le croisant avec l&#039;index, qui gêne alors la frappe. En variante A l&#039;index se replie naturellement sur le {{tA|C}} ({{t|X}} bépo) du moment que les mains et les bras sont aussi en forme de A face au clavier, position de repos naturelle. La seule contre partie est l&#039;affectation de {{tA|B}} qui augmente la charge d&#039;un index. Ce qui ne pose aucun problème en bépo puisque cette touche est affectée au {{t|K}}, très rare en français. Pour résumer la méthode A permet d&#039;améliorer l&#039;accès au touche de la rangée inférieur de la main gauche, tout en gardant la même accessibilité pour les autres touches.&lt;br /&gt;
&lt;br /&gt;
Avec un clavier 104 touches l&#039;auriculaire tombera sur la touche majuscule gauche.&lt;br /&gt;
{{HoverImage|Bépo-A.png|Azerty-A.png|center|800px|link=Fichier:Bépo-A.png}}&lt;br /&gt;
&lt;br /&gt;
=== Variante « japonaise » === &lt;br /&gt;
Variante très différente des précédentes qui utilise plus les pouces et qui semble plus ergonomique pour les claviers 105 touches. Cette méthode relève tous les doigts d&#039;une rangée donne accès à davantage de touches (Majuscules, AltGr, …) sous le pouce. (Bien entendu, il faut adapter le bépo et l&#039;emplacement des modificateurs à cette disposition.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║*a* │*A* │*M* │*I* │    │    │ *I*│ *M*│ *A*│ *a*│    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │*P* │    │    │    │ *P*│    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À partir de ce placement de doigts, on peut utiliser toutes les méthodes décrites plus haut: méthode standard, en A, etc.&lt;br /&gt;
&lt;br /&gt;
Une variante intéressant est de décaler les doigts d&#039;un cran vers la droite, ce qui rend la méthode standard symmétrique:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a  │ a  │ A  │ M  │ I  │ I  │  I │  I │  M │  A │  a │  a ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ a  │*a* │*A* │*M* │*I* │ I  │  I │ *I*│ *M*│ *A*│ *a*│  a ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║ a  │ a  │ A  │ M  │ I  │ I  │  I │  I │  M │  A │  a │  a ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │*P* │    │    │    │*P* │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23487</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23487"/>
		<updated>2014-06-16T14:24:20Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Évaluation d&amp;#039;une disposition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition. Rendons à César ce qui est à César, la méthode de saisie est inspirée de l&#039;adaptation de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito] sur un clavier standard et la méthodologie de développement est inspirée de la page de développement du layout [http://www.mtgap.bilfo.com/keyboard.html MTGAP] de Michael Dickens.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│   %║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Idée générale==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
==Corpus==&lt;br /&gt;
Créer un bon corpus est une tâche délicate et indispensable pour un bon clavier. Pour relever la cote du w et du digramme wh ô combien courants en anglais, mon corpus est composé à 10% d&#039;un roman en anglais anglais (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;). Les 90% restants sont répartis en 45% de textes personnels (e-mails et autres) et 45% d&#039;un roman francophone. Sur base de ce corpus mixte, voici à titre d&#039;information la fréquence des 50 caractères les plus fréquents:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  - 16.915 %&lt;br /&gt;
e - 10.992 %&lt;br /&gt;
a - 6.331 %&lt;br /&gt;
t - 6.012 %&lt;br /&gt;
s - 5.899 %&lt;br /&gt;
i - 5.805 %&lt;br /&gt;
n - 5.231 %&lt;br /&gt;
r - 5.068 %&lt;br /&gt;
o - 4.416 %&lt;br /&gt;
u - 4.159 %&lt;br /&gt;
l - 3.956 %&lt;br /&gt;
d - 2.669 %&lt;br /&gt;
m - 2.332 %&lt;br /&gt;
c - 2.327 %&lt;br /&gt;
p - 2.293 %&lt;br /&gt;
h - 1.543 %&lt;br /&gt;
. - 1.172 %&lt;br /&gt;
v - 1.155 %&lt;br /&gt;
é - 1.100 %&lt;br /&gt;
&#039; - 1.069 %&lt;br /&gt;
f - 0.988 %&lt;br /&gt;
, - 0.955 %&lt;br /&gt;
g - 0.890 %&lt;br /&gt;
q - 0.774 %&lt;br /&gt;
b - 0.751 %&lt;br /&gt;
&amp;lt;Enter&amp;gt; - 0.747 %&lt;br /&gt;
j - 0.561 %&lt;br /&gt;
y - 0.519 %&lt;br /&gt;
w - 0.471 %&lt;br /&gt;
à - 0.309 %&lt;br /&gt;
- - 0.298 %&lt;br /&gt;
x - 0.271 %&lt;br /&gt;
k - 0.220 %&lt;br /&gt;
è - 0.197 %&lt;br /&gt;
ê - 0.150 %&lt;br /&gt;
: - 0.109 %&lt;br /&gt;
ç - 0.102 %&lt;br /&gt;
? - 0.092 %&lt;br /&gt;
— - 0.085 %&lt;br /&gt;
1 - 0.084 %&lt;br /&gt;
0 - 0.082 %&lt;br /&gt;
z - 0.074 %&lt;br /&gt;
« - 0.070 %&lt;br /&gt;
» - 0.070 %&lt;br /&gt;
&amp;quot; - 0.054 %&lt;br /&gt;
2 - 0.054 %&lt;br /&gt;
) - 0.045 %&lt;br /&gt;
( - 0.042 %&lt;br /&gt;
! - 0.041 %&lt;br /&gt;
â - 0.040 %&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 36 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (5): éàêèç&lt;br /&gt;
* la ponctuation (4): .,&#039;- (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;br /&gt;
&lt;br /&gt;
En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║&lt;br /&gt;
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ &#039; &amp;quot;│ - —║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note que je ne place pas les œ ni les æ sur mon clavier.)&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:&lt;br /&gt;
* les majuscules sont transformées en minuscules&lt;br /&gt;
* tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,&#039;-äöùå:;?!—–ôâîûïë est transformé en espace &lt;br /&gt;
* ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, &amp;quot; et ! deviennent &#039;, ?, — et – deviennent -&lt;br /&gt;
* î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e&lt;br /&gt;
Il ne reste ensuite qu&#039;à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
==Clavier==&lt;br /&gt;
Cette section s&#039;attaque aux pénalités, autre point clef de l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
===Pénalité du clavier===&lt;br /&gt;
Pour ce faire, j&#039;utilise le [[Duels_d&#039;accessibilité|key_vote]] où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu&#039;il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier &amp;lt;code&amp;gt;key_vote_full.py&amp;lt;/code&amp;gt; (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).&lt;br /&gt;
&lt;br /&gt;
Note du lendemain: faire le keyvote complet c&#039;est super long, c&#039;est pourquoi j&#039;ai pensé à l&#039;idée suivante qui se base sur le même principe. Au lieu de faire tous les duels un à un, je les fais touche par touche et je les remplis dans une matrice. En clair: en utilisant cette carte de mon clavier (choisie pour que les touches gauches et droites soient faciles à décrire),&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 19 │ 20 │ 21 │ 22 │ 23 │ 24 ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ 7  │ 8  │ 9  │ 10 │ 11 │ 12 │ 25 │ 26 │ 27 │ 28 │ 29 │ 30 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 31 │ 32 │ 33 │ 34 │ 35 │ 36 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
la touche 1 fait match nul contre elle-même, perd son duel face aux touches 2,3,4,5 et gagne face à la touche 6; de même, la touche 2 gagne contre la touche 1, fait match nul contre elle-même, perd face aux touches 3,4,5 et gagne face à la touche 6. Je remplis donc une matrice 36x36&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
mat=&lt;br /&gt;
[0 -1 -1 -1 -1 1 ...&lt;br /&gt;
[1 0 -1 -1 -1 1 ...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Comme test de vérification que mes duels sont consistents entre eux (c&#039;est-à-dire, si 16 bat 17 alors 17 doit perdre face à 16), la matrice ainsi obtenue doit être [http://fr.wikipedia.org/wiki/Matrice_antisym%C3%A9trique anti-symmétrique] et les incohérences sont les duels entre i et j tels que mat(i,j) ≠ -mat(j,i). La pénalité associée à chaque touche est alors un score entre 0 et 100 calculé par la formule:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
score de la touche i = 100* [sum_j mat(i,j)] / 36  +  50&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(En pratique, par souci d&#039;indentation et de facilité de frappe, je cote mes duels à 1 en cas de défaite, 2 en cas de match nul et 3 en cas de victoire et à la fin je soustrais 2 partout.)&lt;br /&gt;
&lt;br /&gt;
===Pénalités des digrammes===&lt;br /&gt;
===Pénalités des trigrammes===&lt;br /&gt;
&lt;br /&gt;
==L&#039;algorithme==&lt;br /&gt;
(lisez [http://forum.bepo.fr/viewtopic.php?pid=9435 mon post] ou revenez plus tard quand je l&#039;aurai réécrit ici)&lt;br /&gt;
&lt;br /&gt;
Idée à ajouter à l&#039;algorithme évolutionnaire: à chaque génération, évaluer les 10 meilleures dispositions de la précédente + 10 dispositions créées à partir de la génération précédente + 10 dispositions entièrement aléatoires. Garder les 10 meilleures parmi ces 30.&lt;br /&gt;
&lt;br /&gt;
==Évaluation d&#039;une disposition==&lt;br /&gt;
Les premières dispositions renvoyées par l&#039;algorithme seront probablement mauvaises parce que les différentes pénalités ne seront pas pondérées correctement ou parce que certaines pénalités auront été négligées. Si une disposition &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; mauvaise se repère en un coup d&#039;oeil (par exemple, si le A est placé sur la ligne inférieure), il peut être plus difficile de détecter celles qui ne sont que moyennement mauvaises. Pour éviter de devoir réapprendre une disposition complète avant de se rendre compte qu&#039;elle est mauvaise, voici quelques caractéristiques à évaluer a posteriori qui permettent de se faire une idée sur la qualité de la disposition renvoyée par l&#039;algorithme:&lt;br /&gt;
* pénalité totale&lt;br /&gt;
* charge main gauche versus main droite&lt;br /&gt;
* charge individuelle de chaque doigt: en tenant compte de la force de chaque doigt et le fait que l&#039;auriculaire gère 6 touches, une bonne disposition devrait avoir une répartition a-A-M-I proche de 20%-20%-30%-30% (valeurs tirées à pouf)&lt;br /&gt;
* % de roulements vers l&#039;intérieur et l&#039;extérieur&lt;br /&gt;
* % de digrammes avec une et deux lignes d&#039;écart sur la même main&lt;br /&gt;
* % de digrammes utilisant le même doigt&lt;br /&gt;
* la liste des 10 mauvais digrammes/trigrammes les plus fréquents&lt;br /&gt;
Pour avoir un ordre de grandeur d&#039;où ces paramètres devraient se situer, une bonne idée serait de les évaluer sur l&#039;azerty et le bépo (en adaptant ces dispositions à ma méthode de frappe).&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23484</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23484"/>
		<updated>2014-06-15T19:59:31Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition. Rendons à César ce qui est à César, la méthode de saisie est inspirée de l&#039;adaptation de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito] sur un clavier standard et la méthodologie de développement est inspirée de la page de développement du layout [http://www.mtgap.bilfo.com/keyboard.html MTGAP] de Michael Dickens.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│   %║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Idée générale==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
==Corpus==&lt;br /&gt;
Créer un bon corpus est une tâche délicate et indispensable pour un bon clavier. Pour relever la cote du w et du digramme wh ô combien courants en anglais, mon corpus est composé à 10% d&#039;un roman en anglais anglais (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;). Les 90% restants sont répartis en 45% de textes personnels (e-mails et autres) et 45% d&#039;un roman francophone. Sur base de ce corpus mixte, voici à titre d&#039;information la fréquence des 50 caractères les plus fréquents:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  - 16.915 %&lt;br /&gt;
e - 10.992 %&lt;br /&gt;
a - 6.331 %&lt;br /&gt;
t - 6.012 %&lt;br /&gt;
s - 5.899 %&lt;br /&gt;
i - 5.805 %&lt;br /&gt;
n - 5.231 %&lt;br /&gt;
r - 5.068 %&lt;br /&gt;
o - 4.416 %&lt;br /&gt;
u - 4.159 %&lt;br /&gt;
l - 3.956 %&lt;br /&gt;
d - 2.669 %&lt;br /&gt;
m - 2.332 %&lt;br /&gt;
c - 2.327 %&lt;br /&gt;
p - 2.293 %&lt;br /&gt;
h - 1.543 %&lt;br /&gt;
. - 1.172 %&lt;br /&gt;
v - 1.155 %&lt;br /&gt;
é - 1.100 %&lt;br /&gt;
&#039; - 1.069 %&lt;br /&gt;
f - 0.988 %&lt;br /&gt;
, - 0.955 %&lt;br /&gt;
g - 0.890 %&lt;br /&gt;
q - 0.774 %&lt;br /&gt;
b - 0.751 %&lt;br /&gt;
&amp;lt;Enter&amp;gt; - 0.747 %&lt;br /&gt;
j - 0.561 %&lt;br /&gt;
y - 0.519 %&lt;br /&gt;
w - 0.471 %&lt;br /&gt;
à - 0.309 %&lt;br /&gt;
- - 0.298 %&lt;br /&gt;
x - 0.271 %&lt;br /&gt;
k - 0.220 %&lt;br /&gt;
è - 0.197 %&lt;br /&gt;
ê - 0.150 %&lt;br /&gt;
: - 0.109 %&lt;br /&gt;
ç - 0.102 %&lt;br /&gt;
? - 0.092 %&lt;br /&gt;
— - 0.085 %&lt;br /&gt;
1 - 0.084 %&lt;br /&gt;
0 - 0.082 %&lt;br /&gt;
z - 0.074 %&lt;br /&gt;
« - 0.070 %&lt;br /&gt;
» - 0.070 %&lt;br /&gt;
&amp;quot; - 0.054 %&lt;br /&gt;
2 - 0.054 %&lt;br /&gt;
) - 0.045 %&lt;br /&gt;
( - 0.042 %&lt;br /&gt;
! - 0.041 %&lt;br /&gt;
â - 0.040 %&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 36 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (5): éàêèç&lt;br /&gt;
* la ponctuation (4): .,&#039;- (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;br /&gt;
&lt;br /&gt;
En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║&lt;br /&gt;
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ &#039; &amp;quot;│ - —║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note que je ne place pas les œ ni les æ sur mon clavier.)&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:&lt;br /&gt;
* les majuscules sont transformées en minuscules&lt;br /&gt;
* tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,&#039;-äöùå:;?!—–ôâîûïë est transformé en espace &lt;br /&gt;
* ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, &amp;quot; et ! deviennent &#039;, ?, — et – deviennent -&lt;br /&gt;
* î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e&lt;br /&gt;
Il ne reste ensuite qu&#039;à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
==Clavier==&lt;br /&gt;
Cette section s&#039;attaque aux pénalités, autre point clef de l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
===Pénalité du clavier===&lt;br /&gt;
Pour ce faire, j&#039;utilise le [[Duels_d&#039;accessibilité|key_vote]] où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu&#039;il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier &amp;lt;code&amp;gt;key_vote_full.py&amp;lt;/code&amp;gt; (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).&lt;br /&gt;
&lt;br /&gt;
Note du lendemain: faire le keyvote complet c&#039;est super long, c&#039;est pourquoi j&#039;ai pensé à l&#039;idée suivante qui se base sur le même principe. Au lieu de faire tous les duels un à un, je les fais touche par touche et je les remplis dans une matrice. En clair: en utilisant cette carte de mon clavier (choisie pour que les touches gauches et droites soient faciles à décrire),&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 19 │ 20 │ 21 │ 22 │ 23 │ 24 ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ 7  │ 8  │ 9  │ 10 │ 11 │ 12 │ 25 │ 26 │ 27 │ 28 │ 29 │ 30 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 31 │ 32 │ 33 │ 34 │ 35 │ 36 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
la touche 1 fait match nul contre elle-même, perd son duel face aux touches 2,3,4,5 et gagne face à la touche 6; de même, la touche 2 gagne contre la touche 1, fait match nul contre elle-même, perd face aux touches 3,4,5 et gagne face à la touche 6. Je remplis donc une matrice 36x36&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
mat=&lt;br /&gt;
[0 -1 -1 -1 -1 1 ...&lt;br /&gt;
[1 0 -1 -1 -1 1 ...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Comme test de vérification que mes duels sont consistents entre eux (c&#039;est-à-dire, si 16 bat 17 alors 17 doit perdre face à 16), la matrice ainsi obtenue doit être [http://fr.wikipedia.org/wiki/Matrice_antisym%C3%A9trique anti-symmétrique] et les incohérences sont les duels entre i et j tels que mat(i,j) ≠ -mat(j,i). La pénalité associée à chaque touche est alors un score entre 0 et 100 calculé par la formule:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
score de la touche i = 100* [sum_j mat(i,j)] / 36  +  50&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(En pratique, par souci d&#039;indentation et de facilité de frappe, je cote mes duels à 1 en cas de défaite, 2 en cas de match nul et 3 en cas de victoire et à la fin je soustrais 2 partout.)&lt;br /&gt;
&lt;br /&gt;
===Pénalités des digrammes===&lt;br /&gt;
===Pénalités des trigrammes===&lt;br /&gt;
&lt;br /&gt;
==L&#039;algorithme==&lt;br /&gt;
(lisez [http://forum.bepo.fr/viewtopic.php?pid=9435 mon post] ou revenez plus tard quand je l&#039;aurai réécrit ici)&lt;br /&gt;
&lt;br /&gt;
Idée à ajouter à l&#039;algorithme évolutionnaire: à chaque génération, évaluer les 10 meilleures dispositions de la précédente + 10 dispositions créées à partir de la génération précédente + 10 dispositions entièrement aléatoires. Garder les 10 meilleures parmi ces 30.&lt;br /&gt;
&lt;br /&gt;
==Évaluation d&#039;une disposition==&lt;br /&gt;
Les premières dispositions renvoyées par l&#039;algorithme seront probablement mauvaises parce que les différentes pénalités ne seront pas pondérées correctement ou parce que certaines pénalités auront été négligées. Si une disposition &amp;lt;i&amp;gt;très&amp;lt;/i&amp;gt; mauvaise se repère en un coup d&#039;oeil (par exemple, si le A est placé sur la ligne inférieure), il peut être plus difficile de détecter celles qui ne sont que moyennement mauvaises. Pour éviter de devoir réapprendre une disposition complète avant de se rendre compte qu&#039;elle est mauvaise, voici quelques caractéristiques à évaluer a posteriori qui permettent de se faire une idée sur la qualité de la disposition renvoyée par l&#039;algorithme:&lt;br /&gt;
* pénalité totale&lt;br /&gt;
* charge main gauche versus main droite&lt;br /&gt;
* charge individuelle de chaque doigt: en tenant compte de la force de chaque doigt et le fait que l&#039;auriculaire gère 6 touches, une bonne disposition devrait avoir une répartition a-A-M-I proche de 20%-20%-30%-30% (valeurs tirées à pouf)&lt;br /&gt;
* % de roulements vers l&#039;intérieur et l&#039;extérieur&lt;br /&gt;
* % de digrammes avec une et deux lignes d&#039;écart sur la même main&lt;br /&gt;
* % de digrammes utilisant le même doigt&lt;br /&gt;
Pour avoir un ordre de grandeur d&#039;où ces paramètres devraient se situer, une bonne idée serait de les évaluer sur l&#039;azerty et le bépo (en adaptant ces dispositions à ma méthode de frappe).&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23483</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23483"/>
		<updated>2014-06-15T16:04:52Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Pénalité du clavier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│   %║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Disposition==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
===Corpus===&lt;br /&gt;
Corpus: 45% de textes perso (e-mails et autres), 45% d&#039;un roman francophone; 10% d&#039;un roman anglophone (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;), dont voici les statistiques des 50 caractères les plus courants:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  - 16.915 %&lt;br /&gt;
e - 10.992 %&lt;br /&gt;
a - 6.331 %&lt;br /&gt;
t - 6.012 %&lt;br /&gt;
s - 5.899 %&lt;br /&gt;
i - 5.805 %&lt;br /&gt;
n - 5.231 %&lt;br /&gt;
r - 5.068 %&lt;br /&gt;
o - 4.416 %&lt;br /&gt;
u - 4.159 %&lt;br /&gt;
l - 3.956 %&lt;br /&gt;
d - 2.669 %&lt;br /&gt;
m - 2.332 %&lt;br /&gt;
c - 2.327 %&lt;br /&gt;
p - 2.293 %&lt;br /&gt;
h - 1.543 %&lt;br /&gt;
. - 1.172 %&lt;br /&gt;
v - 1.155 %&lt;br /&gt;
é - 1.100 %&lt;br /&gt;
&#039; - 1.069 %&lt;br /&gt;
f - 0.988 %&lt;br /&gt;
, - 0.955 %&lt;br /&gt;
g - 0.890 %&lt;br /&gt;
q - 0.774 %&lt;br /&gt;
b - 0.751 %&lt;br /&gt;
&amp;lt;Enter&amp;gt; - 0.747 %&lt;br /&gt;
j - 0.561 %&lt;br /&gt;
y - 0.519 %&lt;br /&gt;
w - 0.471 %&lt;br /&gt;
à - 0.309 %&lt;br /&gt;
- - 0.298 %&lt;br /&gt;
x - 0.271 %&lt;br /&gt;
k - 0.220 %&lt;br /&gt;
è - 0.197 %&lt;br /&gt;
ê - 0.150 %&lt;br /&gt;
: - 0.109 %&lt;br /&gt;
ç - 0.102 %&lt;br /&gt;
? - 0.092 %&lt;br /&gt;
— - 0.085 %&lt;br /&gt;
1 - 0.084 %&lt;br /&gt;
0 - 0.082 %&lt;br /&gt;
z - 0.074 %&lt;br /&gt;
« - 0.070 %&lt;br /&gt;
» - 0.070 %&lt;br /&gt;
&amp;quot; - 0.054 %&lt;br /&gt;
2 - 0.054 %&lt;br /&gt;
) - 0.045 %&lt;br /&gt;
( - 0.042 %&lt;br /&gt;
! - 0.041 %&lt;br /&gt;
â - 0.040 %&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 36 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (5): éàêèç&lt;br /&gt;
* la ponctuation (4): .,&#039;- (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;br /&gt;
&lt;br /&gt;
En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║&lt;br /&gt;
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ &#039; &amp;quot;│ - —║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note que je ne place pas les œ ni les æ sur mon clavier.)&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:&lt;br /&gt;
* les majuscules sont transformées en minuscules&lt;br /&gt;
* tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,&#039;-äöùå:;?!—–ôâîûïë est transformé en espace &lt;br /&gt;
* ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, &amp;quot; et ! deviennent &#039;, ?, — et – deviennent -&lt;br /&gt;
* î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e&lt;br /&gt;
Il ne reste ensuite qu&#039;à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
===Clavier===&lt;br /&gt;
Cette section s&#039;attaque aux pénalités, autre point clef de l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
====Pénalité du clavier====&lt;br /&gt;
Pour ce faire, j&#039;utilise le [[Duels_d&#039;accessibilité|key_vote]] où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu&#039;il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier &amp;lt;code&amp;gt;key_vote_full.py&amp;lt;/code&amp;gt; (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).&lt;br /&gt;
&lt;br /&gt;
Note du lendemain: faire le keyvote complet c&#039;est super long, c&#039;est pourquoi j&#039;ai pensé à l&#039;idée suivante qui se base sur le même principe. Au lieu de faire tous les duels un à un, je les fais touche par touche et je les remplis dans une matrice. En clair: en utilisant cette carte de mon clavier (choisie pour que les touches gauches et droites soient faciles à décrire),&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 19 │ 20 │ 21 │ 22 │ 23 │ 24 ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ 7  │ 8  │ 9  │ 10 │ 11 │ 12 │ 25 │ 26 │ 27 │ 28 │ 29 │ 30 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║ 13 │ 14 │ 15 │ 16 │ 17 │ 18 │ 31 │ 32 │ 33 │ 34 │ 35 │ 36 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
la touche 1 fait match nul contre elle-même, perd son duel face aux touches 2,3,4,5 et gagne face à la touche 6; de même, la touche 2 gagne contre la touche 1, fait match nul contre elle-même, perd face aux touches 3,4,5 et gagne face à la touche 6. Je remplis donc une matrice 36x36&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
mat=&lt;br /&gt;
[0 -1 -1 -1 -1 1 ...&lt;br /&gt;
[1 0 -1 -1 -1 1 ...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Comme test de vérification que mes duels sont consistents entre eux (c&#039;est-à-dire, si 16 bat 17 alors 17 doit perdre face à 16), la matrice ainsi obtenue doit être [http://fr.wikipedia.org/wiki/Matrice_antisym%C3%A9trique anti-symmétrique]. La pénalité associée à chaque touche est alors un score entre 0 et 100 calculé par la formule:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
score de la touche i = 100* [sum_j mat(i,j)] / 36  +  50&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(En pratique, par souci d&#039;indentation et de facilité de frappe, je cote mes duels à 1 en cas de défaite, 2 en cas de match nul et 3 en cas de victoire.)&lt;br /&gt;
&lt;br /&gt;
====Pénalités des digrammes====&lt;br /&gt;
====Pénalités des trigrammes====&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23481</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23481"/>
		<updated>2014-06-14T22:54:50Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Disposition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│   %║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Disposition==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
===Corpus===&lt;br /&gt;
Corpus: 45% de textes perso (e-mails et autres), 45% d&#039;un roman francophone; 10% d&#039;un roman anglophone (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;), dont voici les statistiques des 50 caractères les plus courants:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  - 16.915 %&lt;br /&gt;
e - 10.992 %&lt;br /&gt;
a - 6.331 %&lt;br /&gt;
t - 6.012 %&lt;br /&gt;
s - 5.899 %&lt;br /&gt;
i - 5.805 %&lt;br /&gt;
n - 5.231 %&lt;br /&gt;
r - 5.068 %&lt;br /&gt;
o - 4.416 %&lt;br /&gt;
u - 4.159 %&lt;br /&gt;
l - 3.956 %&lt;br /&gt;
d - 2.669 %&lt;br /&gt;
m - 2.332 %&lt;br /&gt;
c - 2.327 %&lt;br /&gt;
p - 2.293 %&lt;br /&gt;
h - 1.543 %&lt;br /&gt;
. - 1.172 %&lt;br /&gt;
v - 1.155 %&lt;br /&gt;
é - 1.100 %&lt;br /&gt;
&#039; - 1.069 %&lt;br /&gt;
f - 0.988 %&lt;br /&gt;
, - 0.955 %&lt;br /&gt;
g - 0.890 %&lt;br /&gt;
q - 0.774 %&lt;br /&gt;
b - 0.751 %&lt;br /&gt;
&amp;lt;Enter&amp;gt; - 0.747 %&lt;br /&gt;
j - 0.561 %&lt;br /&gt;
y - 0.519 %&lt;br /&gt;
w - 0.471 %&lt;br /&gt;
à - 0.309 %&lt;br /&gt;
- - 0.298 %&lt;br /&gt;
x - 0.271 %&lt;br /&gt;
k - 0.220 %&lt;br /&gt;
è - 0.197 %&lt;br /&gt;
ê - 0.150 %&lt;br /&gt;
: - 0.109 %&lt;br /&gt;
ç - 0.102 %&lt;br /&gt;
? - 0.092 %&lt;br /&gt;
— - 0.085 %&lt;br /&gt;
1 - 0.084 %&lt;br /&gt;
0 - 0.082 %&lt;br /&gt;
z - 0.074 %&lt;br /&gt;
« - 0.070 %&lt;br /&gt;
» - 0.070 %&lt;br /&gt;
&amp;quot; - 0.054 %&lt;br /&gt;
2 - 0.054 %&lt;br /&gt;
) - 0.045 %&lt;br /&gt;
( - 0.042 %&lt;br /&gt;
! - 0.041 %&lt;br /&gt;
â - 0.040 %&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 36 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (5): éàêèç&lt;br /&gt;
* la ponctuation (4): .,&#039;- (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;br /&gt;
&lt;br /&gt;
En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║&lt;br /&gt;
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ &#039; &amp;quot;│ - —║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note que je ne place pas les œ ni les æ sur mon clavier.)&lt;br /&gt;
&lt;br /&gt;
L&#039;étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:&lt;br /&gt;
* les majuscules sont transformées en minuscules&lt;br /&gt;
* tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,&#039;-äöùå:;?!—–ôâîûïë est transformé en espace &lt;br /&gt;
* ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, &amp;quot; et ! deviennent &#039;, ?, — et – deviennent -&lt;br /&gt;
* î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e&lt;br /&gt;
Il ne reste ensuite qu&#039;à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
===Clavier===&lt;br /&gt;
Cette section s&#039;attaque aux pénalités, autre point clef de l&#039;algorithme.&lt;br /&gt;
&lt;br /&gt;
====Pénalité du clavier====&lt;br /&gt;
Pour ce faire, j&#039;utilise le [[Duels_d&#039;accessibilité|key_vote]] où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu&#039;il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier &amp;lt;code&amp;gt;key_vote_full.py&amp;lt;/code&amp;gt; (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).&lt;br /&gt;
&lt;br /&gt;
====Pénalités des digrammes====&lt;br /&gt;
====Pénalités des trigrammes====&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Duels_d%27accessibilit%C3%A9&amp;diff=23480</id>
		<title>Duels d&#039;accessibilité</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Duels_d%27accessibilit%C3%A9&amp;diff=23480"/>
		<updated>2014-06-14T22:16:07Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : ajout d&amp;#039;infos pratique&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation|icone=Méthodologie.png|Méthodologie|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
Les &#039;&#039;&#039;duels d’accessibilité&#039;&#039;&#039; permettent d’estimer l’accessibilité des touches afin de pouvoir y placer les [[fréquence des caractères|caractères les plus courants]]. Cette tâche s&#039;avère difficile pour plusieurs raisons :&lt;br /&gt;
* il est difficile de classer les touches par accessibilité sans aucune aide ;&lt;br /&gt;
* l&#039;accessibilité est quelque chose de subjectif ;&lt;br /&gt;
* l&#039;accessibilité est très dépendante de l&#039;utilisateur (on peut avoir une grande variabilité sur certaines touches) ;&lt;br /&gt;
* …&lt;br /&gt;
Plusieurs [[carte d&#039;accessibilité des touches]] ont été proposées.&lt;br /&gt;
&lt;br /&gt;
==Principe==&lt;br /&gt;
{{…}}&lt;br /&gt;
&lt;br /&gt;
==Participer==&lt;br /&gt;
&lt;br /&gt;
Il faut installer [http://www.python.org Python] sur votre ordinateur puis télécharger et décompresser {{dl|outils/key_vote.zip|cette archive}}. Ensuite il faut executer le programme {{c|key_vote_full.py}} (version 1128 duels) ou {{c|key_vote_fast.py}} (version rapide où chaque main est évaluée individuellement). Sous windows, il suffit de double cliquer dessus. Sous Linux et Mac OS X, il faut exécuter la commande :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python key_vote_full.py&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python2 key_vote_full.py&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: le logiciel ne fonctionne pas avec Python 3.&lt;br /&gt;
&lt;br /&gt;
Le programme vous demande alors de choisir votre type de clavier :&lt;br /&gt;
&lt;br /&gt;
  0 : bépo 0.6.5.1&lt;br /&gt;
  1 : bépo 0.6.2.3&lt;br /&gt;
  2 : azerty mac&lt;br /&gt;
  3 : bépo 0.6.2.2.4&lt;br /&gt;
  4 : azerty pc&lt;br /&gt;
  votre clavier: &lt;br /&gt;
&lt;br /&gt;
Saisissez le numéro du clavier de votre choix, puis {{T|Entrée}}. Le vote peut commencer !&lt;br /&gt;
&lt;br /&gt;
Le programme va vous proposer de comparer des touches deux à deux. Par exemple {{T|)}} et {{T|È}} :&lt;br /&gt;
&lt;br /&gt;
    ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
    │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
    │  $ │  &amp;quot; │  « │  » │  ( │  &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt; │  _ │  + │  - │  / │  * │  = │  % ║ &amp;lt;--    ║&lt;br /&gt;
    ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
    ║  |&amp;lt;-  ║    │    │    │    │    │    │    │    │    │    │    │    ║   | ║&lt;br /&gt;
    ║  -&amp;gt;|  ║  B │  É │  P │  O │  &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;È&amp;lt;/span&amp;gt; │  ^ │  V │  D │  L │  J │  Z │  W ║ &amp;lt;-&#039; ║&lt;br /&gt;
    ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
    ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
    ║  CAPS  ║  A │  U │  I │  E │  , │  C │  T │  S │  R │  N │  M │  Ç ║    ║&lt;br /&gt;
    ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣&lt;br /&gt;
    ║   ^  ║    │    │    │    │    │    │    │    │    │    │    ║     ^     ║&lt;br /&gt;
    ║   |  ║  Ê │  À │  Y │  H │  . │  K │  &#039; │  Q │  G │  X │  F ║     |     ║&lt;br /&gt;
    ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦═════╣&lt;br /&gt;
    ║       ║      ║     ║ NBSPACE      FINE-NBSPACE ║     ║      ║     ║     ║&lt;br /&gt;
    ║ Ctrl  ║ WinG ║ Alt ║ SPACE                     ║AltGr║ WinD ║WinM ║ Ctrl║&lt;br /&gt;
    ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩═════╝&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
          Duel :            &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;    contre    &amp;lt;span style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;È&amp;lt;/span&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  ) ou 1-&amp;gt;  )     è ou 2-&amp;gt;  è     0-&amp;gt;  égalité     Q-&amp;gt;  quitter     A-&amp;gt;  annuler un duel     T-&amp;gt;  annuler des duels d&#039;une touche&lt;br /&gt;
         0 duels réalisés / 1128 possibles&lt;br /&gt;
  vote: &lt;br /&gt;
&lt;br /&gt;
Saisissez la touche le caractère de la touche que vous préférez, ici très certainement {{T|È}}, puis {{T|Entrée}} :&lt;br /&gt;
&lt;br /&gt;
  vote: è&lt;br /&gt;
&lt;br /&gt;
Le programme vous propose ensuite deux nouvelles touches à comparer. Vous pouvez à tout moment saisir « Q » pour quitter le programme — les comparaisons déjà effectuées ne seront pas perdues.&lt;br /&gt;
&lt;br /&gt;
Remarque: les touches de repos {auie} et {tsrn} gagnent automatiquement tous leurs duels.&lt;br /&gt;
&lt;br /&gt;
Il n&#039;est pas nécessaire de faire tous les duels possibles — même partiels, vos résultats sont intéressants ! Quand vous aurez effectué suffisamment de comparaisons, envoyez le fichier {{C|result}} sur la liste de diffusion, ou venez sur [[Moyens de communication#IRC]]. Vos résultats seront utilisés pour améliorer la carte ci-dessous.&lt;br /&gt;
&lt;br /&gt;
==Résultats==&lt;br /&gt;
&lt;br /&gt;
Les résultats sont représentés sur une carte. Chaque touche contient un nombre qui indique son accessibilité — plus le nombre est élevé, meilleur est l&#039;accessibilité. {{c|00}} signifie 100.&lt;br /&gt;
&lt;br /&gt;
  [glehmann@gbook trunk]$ python map.py *.duels -c&lt;br /&gt;
  9 participants, 6008 votes.&lt;br /&gt;
&lt;br /&gt;
{{CATDuels}}&lt;br /&gt;
&lt;br /&gt;
On peut représenter de la même façon la variabilité entre les participants. Plus la valeur est haute, plus la variabilité est élevée :&lt;br /&gt;
&lt;br /&gt;
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
  │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
  │  3 │  1 │  4 │  2 │  5 │  1 │  0 │  4 │  4 │  6 │  2 │  2 │  1 ║ &amp;lt;--    ║&lt;br /&gt;
  ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
  ║  |&amp;lt;-  ║    │    │    │    │    │    │    │    │    │    │    │    ║   | ║&lt;br /&gt;
  ║  -&amp;gt;|  ║  8 │  4 │  3 │  3 │  2 │  3 │  3 │  4 │  2 │  1 │  1 │  3 ║ &amp;lt;-&#039; ║&lt;br /&gt;
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
  ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
  ║  CAPS  ║  0 │  0 │  0 │  0 │  3 │  4 │  0 │  0 │  0 │  0 │ 12 │ 10 ║    ║&lt;br /&gt;
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣&lt;br /&gt;
  ║   ^  ║    │    │    │    │    │    │    │    │    │    │    ║     ^     ║&lt;br /&gt;
  ║   |  ║ 10 │  2 │  6 │  5 │  4 │  6 │  7 │  6 │  3 │  2 │  5 ║     |     ║&lt;br /&gt;
  ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦═════╣&lt;br /&gt;
  ║       ║      ║     ║                           ║     ║      ║     ║     ║&lt;br /&gt;
  ║ Ctrl  ║ WinG ║ Alt ║      ESPACE               ║AltGr║ WinD ║WinM ║ Ctrl║&lt;br /&gt;
  ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩═════╝&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Bépo]]&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23478</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23478"/>
		<updated>2014-06-13T21:36:37Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│   %║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Disposition==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
Corpus: 40% de textes perso (e-mails et autres), 40% d&#039;un roman francophone; 20% d&#039;un roman anglophone (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;), dont voici les statistiques des 50 caractères les plus courants:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  - 16.890 %&lt;br /&gt;
e - 10.974 %&lt;br /&gt;
a - 6.327 %&lt;br /&gt;
t - 6.002 %&lt;br /&gt;
s - 5.887 %&lt;br /&gt;
i - 5.799 %&lt;br /&gt;
n - 5.225 %&lt;br /&gt;
r - 5.062 %&lt;br /&gt;
o - 4.410 %&lt;br /&gt;
u - 4.151 %&lt;br /&gt;
l - 3.953 %&lt;br /&gt;
d - 2.666 %&lt;br /&gt;
m - 2.329 %&lt;br /&gt;
c - 2.325 %&lt;br /&gt;
p - 2.288 %&lt;br /&gt;
h - 1.544 %&lt;br /&gt;
. - 1.170 %&lt;br /&gt;
v - 1.154 %&lt;br /&gt;
é - 1.084 %&lt;br /&gt;
&#039; - 1.040 %&lt;br /&gt;
f - 0.986 %&lt;br /&gt;
, - 0.952 %&lt;br /&gt;
g - 0.890 %&lt;br /&gt;
q - 0.771 %&lt;br /&gt;
&amp;lt;Enter&amp;gt; - 0.769 %&lt;br /&gt;
b - 0.752 %&lt;br /&gt;
j - 0.559 %&lt;br /&gt;
y - 0.519 %&lt;br /&gt;
w - 0.471 %&lt;br /&gt;
à - 0.305 %&lt;br /&gt;
- - 0.297 %&lt;br /&gt;
x - 0.271 %&lt;br /&gt;
k - 0.221 %&lt;br /&gt;
è - 0.194 %&lt;br /&gt;
ê - 0.149 %&lt;br /&gt;
: - 0.108 %&lt;br /&gt;
ç - 0.101 %&lt;br /&gt;
0 - 0.093 %&lt;br /&gt;
? - 0.091 %&lt;br /&gt;
1 - 0.089 %&lt;br /&gt;
— - 0.084 %&lt;br /&gt;
z - 0.075 %&lt;br /&gt;
« - 0.070 %&lt;br /&gt;
» - 0.070 %&lt;br /&gt;
2 - 0.060 %&lt;br /&gt;
&amp;quot; - 0.052 %&lt;br /&gt;
) - 0.045 %&lt;br /&gt;
4 - 0.043 %&lt;br /&gt;
( - 0.042 %&lt;br /&gt;
! - 0.041 %&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 36 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (5): éàêèç&lt;br /&gt;
* la ponctuation (4): .,&#039;- (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23477</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23477"/>
		<updated>2014-06-13T17:47:23Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant c&#039;est encore le bordel ici, mais c&#039;est pas grave. :-)&lt;br /&gt;
&lt;br /&gt;
==Placement des touches Maj, Ctrl, etc.==&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj x2&lt;br /&gt;
* space x2&lt;br /&gt;
* alt x1&lt;br /&gt;
* altgr x2&lt;br /&gt;
* tab x1&lt;br /&gt;
* meta x1&lt;br /&gt;
* overlay x1&lt;br /&gt;
* level5 x1/x2 ?&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter x1&lt;br /&gt;
* backspace x1&lt;br /&gt;
* delete x1&lt;br /&gt;
* insert x1&lt;br /&gt;
* capslock x1?&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║&lt;br /&gt;
│        │        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)&lt;br /&gt;
&lt;br /&gt;
Quelques idées pour le placement:&lt;br /&gt;
* Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d&#039;un enter quand il est utilisé pour l&#039;auto-complétion d&#039;un mot)&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idées en vrac===&lt;br /&gt;
* utiliser le pavé numérique&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et ne pas duppliquer + et * sur la couche AltGr.&lt;br /&gt;
* mettre à sur a+altgr et å sur a+level5&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;accord&amp;quot; (celles qui sont pressées en même temps qu&#039;une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces&lt;br /&gt;
* mettre les touches &amp;quot;d&#039;arpège&amp;quot; (celles qui ne sont pas pressées en même temps qu&#039;une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l&#039;extérieur du clavier&lt;br /&gt;
* mettre un &amp;lt;code&amp;gt;actions = [ SetControls(controls=Overlay3) ]&amp;lt;/code&amp;gt; sur le maj de gauche (par exemple) et &amp;lt;code&amp;gt;overlay3=&amp;lt;CAPS&amp;gt;&amp;lt;/code&amp;gt; (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.&lt;br /&gt;
* puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c&#039;est pourquoi aucun caractère ne sera situé sur le level8.&lt;br /&gt;
&lt;br /&gt;
==Disposition==&lt;br /&gt;
Dans l&#039;ordre:&lt;br /&gt;
* décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)&lt;br /&gt;
* laisser [http://forum.bepo.fr/viewtopic.php?pid=9435 l&#039;algorithme] trouver une disposition optimale avec tout ça&lt;br /&gt;
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place&lt;br /&gt;
&lt;br /&gt;
Corpus: 1/3 de textes perso (e-mails et autres), 1/3 d&#039;un roman francophone; 1/3 d&#039;un roman anglophone (&amp;lt;s&amp;gt;Harry Potter&amp;lt;/s&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Avec ma méthode de saisie j&#039;ai accès à 35 touches sur lesquelles placer des caractères:&lt;br /&gt;
* l&#039;alphabet (26): abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
* d&#039;autres caractères du français (3-4 à décider sur base des statistiques du corpus): éàêèç&lt;br /&gt;
* la ponctuation (4-5): .,;-&#039; (placer le ;?)&lt;br /&gt;
* une touche accent (1): ^¨´`&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23476</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23476"/>
		<updated>2014-06-13T15:57:04Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Changements à essayer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d&#039;ici quelques temps :-) .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Cette page n&#039;est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disposition complète, encore en cours de changements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;utilisation de l&#039;overlay, attention: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &amp;quot;│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │   &#039;│    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* (changement majeur) À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;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. Pour l&#039;instant à l&#039;état de brouillon [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques principales==&lt;br /&gt;
* 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.&lt;br /&gt;
* &amp;lt;b&amp;gt;ne pas&amp;lt;/b&amp;gt; utiliser la ligne des chiffres que je juge trop inaccessible.&lt;br /&gt;
* déplacer les modificateurs (l&#039;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&#039;en voit facilitée des deux côtés.&lt;br /&gt;
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l&#039;index et de l&#039;auriculaire.&lt;br /&gt;
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.&lt;br /&gt;
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation&lt;br /&gt;
* les touches spéciales placées sur l&#039;overlay sont fréquemment utilisées sur Linux Mint pour passer d&#039;un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte&lt;br /&gt;
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d&#039;autres vimités&lt;br /&gt;
&lt;br /&gt;
J&#039;ai également modifié l&#039;emplacement initial de certaines touches:&lt;br /&gt;
* Le B: [[Utilisateur:Robin|Robin]] recommande d&#039;intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s&#039;en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.&lt;br /&gt;
* Le H : je n&#039;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&amp;lt;-&amp;gt;J me semble adéquat.&lt;br /&gt;
* Le O : ma méthode de saisie (voir plus bas) encourage l&#039;utilisation des pouces comme pivots vers l&#039;extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H&amp;lt;-&amp;gt;O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l&#039;intérieur). Dans l&#039;ensemble, ça compense le digramme he concentré sur un seul doigt.&lt;br /&gt;
* déplacement du ! : c&#039;est une exception de mettre un signe de ponctuation en altgr, mais le &#039;^&#039; est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu&#039;avec les accents morts.&lt;br /&gt;
* Le S et le N : pour faciliter les trigrammes des et men.&lt;br /&gt;
* swap à&amp;lt;-&amp;gt;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&#039;annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:&lt;br /&gt;
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *&lt;br /&gt;
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n&#039;aime vraiment pas les touches au-dessus des index&lt;br /&gt;
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d&#039;après la [[fréquence des digrammes]]).&lt;br /&gt;
&lt;br /&gt;
==Justification de mes changements par rapport au bépo original==&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;expliquer pourquoi j&#039;ai changé quelle touche de place, il faut que je vous donne ma propre carte d&#039;accessibilité (= la préférence que j&#039;accorde personnellement à chaque touche).&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │  3 │  3 │    │    │    │  3 │  3 │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║  2 │  1 │  1 │  4 │  5 │  6 │  4 │  1 │  1 │  2 │  3 │  3 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║  0 │  0 │  0 │  0 │  1 │  1 │  0 │  0 │  0 │  0 │  1 │  3 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║  1 │  4 │  2 │  2 │  1 │  5 │  1 │  2 │  2 │  4 │  1 ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Plus une touche a une valeur élevée, moins je la trouve accessible.)&lt;br /&gt;
&lt;br /&gt;
(à finir…)&lt;br /&gt;
&lt;br /&gt;
==Utilisation recommandée==&lt;br /&gt;
* saisie des caractères proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apprentissage==&lt;br /&gt;
(à réécrire)&lt;br /&gt;
&lt;br /&gt;
==Installation (Linux)==&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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&#039;Ubuntu/Linux Mint avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* 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&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;J&#039;ai remis le N et le S à leurs positions originales, cette section n&#039;est donc pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d&#039;apprentissage/d&#039;adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.&lt;br /&gt;
&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m&#039;a recommandé récemment [http://i3wm.org/ i3] que j&#039;essayerais bien. D&#039;autres gestionnaires de fenêtre qui ont l&#039;air intéressant: wmii, scrotwm.&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23475</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23475"/>
		<updated>2014-06-13T15:16:44Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
La principale caractéristique de la bepo3 est qu&#039;elle lève toutes les touches d&#039;une ligne vers le haut, laissant la ligne inférieure libre pour y placer d&#039;autres modificateurs sous les pouces.&lt;br /&gt;
&lt;br /&gt;
Tout d&#039;abord il faut adapter ma [[Utilisateur:Lawrent#Utilisation_recommand.C3.A9e | méthode de saisie]] à ce nouveau placement de mains. Je suis toujours en faveur d&#039;une saisie en V inversé utilisant les index comme pivots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│  4 │  4 │  4 │  3 │  2 │  1 │    │  1 │  2 │  3 │  4 │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║     4 ║  4 │  3 │  2 │  1 │    │    │  1 │  2 │  3 │  4 │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬─══┴┬───┴┬───┴┬─══┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║     4  ║  3 │  2 │  1 │    │    │    │  1 │  2 │  3 │  4 │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence avec ma dispo précédente, c&#039;est que les auriculaires ont une touche de plus à portée et que les index n&#039;ont qu&#039;une touche à se partager au centre de la rangée du supérieure et que le {K} n&#039;existe plus. Il faut donc réorganiser certaines touches…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│    DEL │  BCKSP │     o  │     é  │     p  │     à  │     k  │     b  │     d  │     l  │     v  │     h  │     ç  ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║        ALTGR ║      a │     u  │     i  │     e  │      , │     c  │     t  │     s  │     r  │     n  │     m  │  ALTGR ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬─════─┴─┬──────┴─┬──────┴─┬─════─┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │     ¨  ║        ║&lt;br /&gt;
║           ESC  ║     è  │     z  │     y  │     x  │     .  │     &#039;  │     q  │     g  │     j  │     f  │     w  │     ^  ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant le Ê a disparu du clavier. Est-ce que je le replace sous l&#039;auriculaire gauche? Est-ce que je l&#039;abandonne? (Je doute fort que ça m&#039;amusera longtemps de taper ^e…)&lt;br /&gt;
&lt;br /&gt;
Il me reste à décider où placer quels modificateurs. À première vue:&lt;br /&gt;
* Enter serait sous le pouce&lt;br /&gt;
* Space resterait inchangé (ou alors [Space] deviendrait une touche vide pour éviter les frappes accidentelles)&lt;br /&gt;
* Maj reste duppliqué sous les pouces à côté de Space&lt;br /&gt;
* Level5 passe sous le pouce gauche, le pavé numérique étant à droite&lt;br /&gt;
* L&#039;overlay1 reste sous le pouce gauche.&lt;br /&gt;
* Ctrl reste duppliqué gauche-droite sur la ligne supérieure et remplace certaines touches Fn. Peut-être F5 et F9? À tester selon la forme de mon clavier.&lt;br /&gt;
* Les touches Fn sont effacées et placées sur une couche overlay à part à l&#039;emplacement du pavé numérique. La couche contiendrait en plus ctrl et alt. Placer l&#039;overlay2 sous le pouce gauche sur une touche peu courante?&lt;br /&gt;
* Placer Tab sous un pouce? Lequel? (Probablement le droit; le gauche s&#039;annonce déjà chargé.) Ou le placer sur l&#039;actuel {DEL} et mettre Del sous un pouce?&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;br /&gt;
&lt;br /&gt;
===Placement des touches Maj, Ctrl, etc.===&lt;br /&gt;
(à finir)&lt;br /&gt;
&lt;br /&gt;
À placer:&lt;br /&gt;
* maj&lt;br /&gt;
* space&lt;br /&gt;
* alt&lt;br /&gt;
* altgr&lt;br /&gt;
* tab&lt;br /&gt;
* meta&lt;br /&gt;
* overlay&lt;br /&gt;
* level5&lt;br /&gt;
* level5Lock ?&lt;br /&gt;
* enter&lt;br /&gt;
* backspace&lt;br /&gt;
* delete&lt;br /&gt;
* insert&lt;br /&gt;
* capslock&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
X = emplacement pour un caractère&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║&lt;br /&gt;
║           ║        │        │ Maj    │ Space  │        │        │        │        │ Space  │ Maj    │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║              AltGr                         ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23296</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23296"/>
		<updated>2014-05-14T14:47:01Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : /* Liens utiles et tout ce qui n&amp;#039;a pas sa place ailleurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d&#039;ici quelques temps :-) .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Cette page n&#039;est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disposition complète, encore en cours de changements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;utilisation de l&#039;overlay, attention: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   =│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │    │   ±│    │   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* (changement majeur) À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;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. Pour l&#039;instant à l&#039;état de brouillon [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques principales==&lt;br /&gt;
* 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.&lt;br /&gt;
* &amp;lt;b&amp;gt;ne pas&amp;lt;/b&amp;gt; utiliser la ligne des chiffres que je juge trop inaccessible.&lt;br /&gt;
* déplacer les modificateurs (l&#039;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&#039;en voit facilitée des deux côtés.&lt;br /&gt;
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l&#039;index et de l&#039;auriculaire.&lt;br /&gt;
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.&lt;br /&gt;
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation&lt;br /&gt;
* les touches spéciales placées sur l&#039;overlay sont fréquemment utilisées sur Linux Mint pour passer d&#039;un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte&lt;br /&gt;
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d&#039;autres vimités&lt;br /&gt;
&lt;br /&gt;
J&#039;ai également modifié l&#039;emplacement initial de certaines touches:&lt;br /&gt;
* Le B: [[Utilisateur:Robin|Robin]] recommande d&#039;intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s&#039;en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.&lt;br /&gt;
* Le H : je n&#039;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&amp;lt;-&amp;gt;J me semble adéquat.&lt;br /&gt;
* Le O : ma méthode de saisie (voir plus bas) encourage l&#039;utilisation des pouces comme pivots vers l&#039;extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H&amp;lt;-&amp;gt;O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l&#039;intérieur). Dans l&#039;ensemble, ça compense le digramme he concentré sur un seul doigt.&lt;br /&gt;
* déplacement du ! : c&#039;est une exception de mettre un signe de ponctuation en altgr, mais le &#039;^&#039; est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu&#039;avec les accents morts.&lt;br /&gt;
* Le S et le N : pour faciliter les trigrammes des et men.&lt;br /&gt;
* swap à&amp;lt;-&amp;gt;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&#039;annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:&lt;br /&gt;
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *&lt;br /&gt;
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n&#039;aime vraiment pas les touches au-dessus des index&lt;br /&gt;
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d&#039;après la [[fréquence des digrammes]]).&lt;br /&gt;
&lt;br /&gt;
==Justification de mes changements par rapport au bépo original==&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;expliquer pourquoi j&#039;ai changé quelle touche de place, il faut que je vous donne ma propre carte d&#039;accessibilité (= la préférence que j&#039;accorde personnellement à chaque touche).&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │  3 │  3 │    │    │    │  3 │  3 │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║  2 │  1 │  1 │  4 │  5 │  6 │  4 │  1 │  1 │  2 │  3 │  3 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║  0 │  0 │  0 │  0 │  1 │  1 │  0 │  0 │  0 │  0 │  1 │  3 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║  1 │  4 │  2 │  2 │  1 │  5 │  1 │  2 │  2 │  4 │  1 ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Plus une touche a une valeur élevée, moins je la trouve accessible.)&lt;br /&gt;
&lt;br /&gt;
(à finir…)&lt;br /&gt;
&lt;br /&gt;
==Utilisation recommandée==&lt;br /&gt;
* saisie des caractères proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apprentissage==&lt;br /&gt;
(à réécrire)&lt;br /&gt;
&lt;br /&gt;
==Installation (Linux)==&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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&#039;Ubuntu/Linux Mint avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* 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&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;J&#039;ai remis le N et le S à leurs positions originales, cette section n&#039;est donc pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d&#039;apprentissage/d&#039;adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.&lt;br /&gt;
&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m&#039;a recommandé récemment [http://i3wm.org/ i3] que j&#039;essayerais bien. D&#039;autres gestionnaires de fenêtre qui ont l&#039;air intéressant: wmii, scrotwm.&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
Un article que je lirai un jour: http://mtgap.bilfo.com/keyboard.html&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23288</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23288"/>
		<updated>2014-05-12T23:07:01Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
La principale caractéristique de la bepo3 est qu&#039;elle lève toutes les touches d&#039;une ligne vers le haut, laissant la ligne inférieure libre pour y placer d&#039;autres modificateurs sous les pouces.&lt;br /&gt;
&lt;br /&gt;
Tout d&#039;abord il faut adapter ma [[Utilisateur:Lawrent#Utilisation_recommand.C3.A9e | méthode de saisie]] à ce nouveau placement de mains. Je suis toujours en faveur d&#039;une saisie en V inversé utilisant les index comme pivots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│  4 │  4 │  4 │  3 │  2 │  1 │    │  1 │  2 │  3 │  4 │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║     4 ║  4 │  3 │  2 │  1 │    │    │  1 │  2 │  3 │  4 │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬─══┴┬───┴┬───┴┬─══┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║     4  ║  3 │  2 │  1 │    │    │    │  1 │  2 │  3 │  4 │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence avec ma dispo précédente, c&#039;est que les auriculaires ont une touche de plus à portée et que les index n&#039;ont qu&#039;une touche à se partager au centre de la rangée du supérieure et que le {K} n&#039;existe plus. Il faut donc réorganiser certaines touches…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│    DEL │  BCKSP │     o  │     é  │     p  │     à  │     k  │     b  │     d  │     l  │     v  │     h  │     ç  ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║        ALTGR ║      a │     u  │     i  │     e  │      , │     c  │     t  │     s  │     r  │     n  │     m  │  ALTGR ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬─════─┴─┬──────┴─┬──────┴─┬─════─┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │     ¨  ║        ║&lt;br /&gt;
║           ESC  ║     è  │     z  │     y  │     x  │     .  │     &#039;  │     q  │     g  │     j  │     f  │     w  │     ^  ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant le Ê a disparu du clavier. Est-ce que je le replace sous l&#039;auriculaire gauche? Est-ce que je l&#039;abandonne? (Je doute fort que ça m&#039;amusera longtemps de taper ^e…)&lt;br /&gt;
&lt;br /&gt;
Il me reste à décider où placer quels modificateurs. À première vue:&lt;br /&gt;
* Enter serait sous le pouce&lt;br /&gt;
* Space resterait inchangé (ou alors [Space] deviendrait une touche vide pour éviter les frappes accidentelles)&lt;br /&gt;
* Maj reste duppliqué sous les pouces à côté de Space&lt;br /&gt;
* Level5 passe sous le pouce gauche, le pavé numérique étant à droite&lt;br /&gt;
* L&#039;overlay1 reste sous le pouce gauche.&lt;br /&gt;
* Ctrl reste duppliqué gauche-droite sur la ligne supérieure et remplace certaines touches Fn. Peut-être F5 et F9? À tester selon la forme de mon clavier.&lt;br /&gt;
* Les touches Fn sont effacées et placées sur une couche overlay à part à l&#039;emplacement du pavé numérique. La couche contiendrait en plus ctrl et alt. Placer l&#039;overlay2 sous le pouce gauche sur une touche peu courante?&lt;br /&gt;
* Placer Tab sous un pouce? Lequel? (Probablement le droit; le gauche s&#039;annonce déjà chargé.) Ou le placer sur l&#039;actuel {DEL} et mettre Del sous un pouce?&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23287</id>
		<title>Utilisateur:Lawrent/bepo3</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent/bepo3&amp;diff=23287"/>
		<updated>2014-05-12T22:49:39Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dans mes fichiers ma disposition bidouillée s&#039;appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j&#039;appelle tout naturellement et à titre personnel bepo3.&lt;br /&gt;
&lt;br /&gt;
La principale caractéristique de la bepo3 est qu&#039;elle lève toutes les touches d&#039;une ligne vers le haut, laissant la ligne inférieure libre pour y placer d&#039;autres modificateurs sous les pouces.&lt;br /&gt;
&lt;br /&gt;
Tout d&#039;abord il faut adapter ma [[Utilisateur:Lawrent#Utilisation_recommand.C3.A9e | méthode de saisie]] à ce nouveau placement de mains. Je suis toujours en faveur d&#039;une saisie en V inversé utilisant les index comme pivots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│  4 │  4 │  4 │  3 │  2 │  1 │    │  1 │  2 │  3 │  4 │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║     4 ║  4 │  3 │  2 │  1 │    │    │  1 │  2 │  3 │  4 │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬─══┴┬───┴┬───┴┬─══┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║     4  ║  3 │  2 │  1 │    │    │    │  1 │  2 │  3 │  4 │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La différence avec ma dispo précédente, c&#039;est que les auriculaires ont plus de touches à portée et que les index n&#039;ont qu&#039;une touche à se partager au centre de la rangée du milieu. Il faut donc réorganiser certaines touches…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│    DEL │  BCKSP │     o  │     é  │     p  │     à  │     k  │     b  │     d  │     l  │     v  │     h  │     ç  ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║        ALTGR ║      a │     u  │     i  │     e  │      , │     c  │     t  │     s  │     r  │     n  │     m  │  ALTGR ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬─════─┴─┬──────┴─┬──────┴─┬─════─┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │     ¨  ║        ║&lt;br /&gt;
║           ESC  ║     è  │     z  │     y  │     x  │     ê  │     &#039;  │     q  │     g  │     j  │     f  │     w  │     ^  ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
J&#039;ai interverti le K et le Ê par rapport au bepo2 parce que les touches correspondantes ne sont pas exactement à la même distance en fonction de la ligne qu&#039;on choisit comme ligne de repos.&lt;br /&gt;
&lt;br /&gt;
Il me reste maintenant à décider où placer quels modificateurs. À première vue:&lt;br /&gt;
* Enter serait sous le pouce&lt;br /&gt;
* Space resterait inchangé (ou alors [Space] deviendrait une touche vide pour éviter les frappes accidentelles)&lt;br /&gt;
* Maj reste duppliqué sous les pouces à côté de Space&lt;br /&gt;
* Level5 passe sous le pouce gauche, le pavé numérique étant à droite&lt;br /&gt;
* L&#039;overlay1 reste sous le pouce gauche.&lt;br /&gt;
* Ctrl reste duppliqué gauche-droite sur la ligne supérieure et remplace certaines touches Fn. Peut-être F5 et F9? À tester selon la forme de mon clavier.&lt;br /&gt;
* Les touches Fn sont effacées et placées sur une couche overlay à part à l&#039;emplacement du pavé numérique. La couche contiendrait en plus ctrl et alt. Placer l&#039;overlay2 sous le pouce gauche sur une touche peu courante?&lt;br /&gt;
* Placer Tab sous un pouce? Lequel? (Probablement le droit; le gauche s&#039;annonce déjà chargé.) Ou le placer sur l&#039;actuel {DEL} et mettre Del sous un pouce?&lt;br /&gt;
* CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23286</id>
		<title>Utilisateur:Lawrent</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Utilisateur:Lawrent&amp;diff=23286"/>
		<updated>2014-05-12T22:36:29Z</updated>

		<summary type="html">&lt;p&gt;Lawrent : mise à jour d&amp;#039;un lien&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma disposition subit encore quelques modifications. Si vous souhaitez une version stable, revenez d&#039;ici quelques temps :-) .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Cette page n&#039;est pas à jour, je ferai un tri la prochaine fois que je ferai des essais sur ma modification&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disposition complète, encore en cours de changements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
level 1-2 : lettre et majuscule&lt;br /&gt;
level 3-4 (altgr, altgr+maj) : autres lettres et/ou symboles&lt;br /&gt;
level 5  (level5, seulement à droite): pavé numérique&lt;br /&gt;
level 5 + maj : chiffres en exposant&lt;br /&gt;
level 5 + altgr: chiffres en indice (plus difficiles à saisir)&lt;br /&gt;
&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│ CAPS   │        │        │        │        │        │ SHUT   │        │        │        │        │        │        ║                ║&lt;br /&gt;
│ LOCK   │ ALTGR  │ META   │ TAB    │ CTRL   │        │ DOWN   │        │ CTRL   │ ALT    │ INSERT │        │        ║ DELETE         ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Œ │ É      │ P      │ À      │ È      │ ¨ `  ≠ │ V      │ D      │ L ≤    │ B ≥    │ Z      │ Ç      ║       |  ║&lt;br /&gt;
║ ←——          ║  o   œ │ é    &amp;amp; │ p    | │ à      │ è    ` │ ^ ´  = │ v ^  5 │ d $  6 │ l &amp;lt;  7 │ b &amp;gt;  8 │ z #  9 │ ç @  % ║     ←—&#039;  ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬────────┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║ A    Æ │ U    Ù │ I    « │ E    » │ ;      │ C      │ T ~    │ N –    │ R      │ S      │ M      │        ║        ║&lt;br /&gt;
║ ALTGR          ║ a    æ │ u    ù │ i    ( │ e    ) │ ,    — │ c \  0 │ t /  1 │ n -  2 │ r {  3 │ s }  4 │ m %  . │ ALTGR  ║        ║&lt;br /&gt;
╠═══════════╦════╝──════──┴──════──┴──════──┴──════──┴───┬────┴───┬────┴──════──┴──════──┴──════──┴──════──┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║ Ê    £ │ H    ≠ │ Y      │ X    ± │ :    · │ K      │ ? ≈    │ Q    ± │ G      │ J      │ F      ║ W                    ║&lt;br /&gt;
║ Level5    ║ ê    € │ h    = │ y    * │ x    + │ .    … │ k    ° │ &#039; !  , │ q &amp;quot;  + │ g _  - │ j [  * │ f ]  / ║ w                    ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝ &lt;br /&gt;
║           ║        ║        ║        ║   [esp insecable]         [esp insecable]  ║        ║        ║        ║&lt;br /&gt;
║ ALT       ║        ║ OVERLAY║   MAJ  ║   [space]                  ~               ║ MAJ    ║ ESC    ║ META   ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
carte overlay&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative pour le suédois (bien que si on veut vraiment taper du suédois il faut repenser toute la carte).&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║  O   Ö │        │        │  À   Å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║  o   ö │        │        │  à   å │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║  A   Ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║  a   ä │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: à partir de 3 touches simultanées, certaines combinaisons de touche n&#039;envoient pas de signal du clavier vers le pc (par exemple sur mon clavier la combinaison maj+altgr (gauche) + n) à cause d&#039;un phénomène appelé ghosting (http://www.microsoft.com/appliedsciences/antighostingexplained.mspx). Lorsqu&#039;on déplace les modificateurs, il arrive que certaines combinaisons de touche s&#039;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.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;utilisation de l&#039;overlay, attention: toujours relacher la touche pressée &amp;lt;b&amp;gt;avant&amp;lt;/b&amp;gt; la touche overlay. Sinon elle reste enfoncée et ça fait des surprises.&lt;br /&gt;
&lt;br /&gt;
===Changements à essayer===&lt;br /&gt;
* mettre Space+AltGr comme espace insécable.&lt;br /&gt;
* placer ~ (tilde) sur w+altgr et ~ (accent) sur w+altgr+maj&lt;br /&gt;
* ajouter µ sur m+maj+altgr&lt;br /&gt;
* swap t&amp;lt;-&amp;gt;n ? le N est la consonne la plus fréquente du français, pourquoi ne pas la mettre sur l&#039;index… (+ l&#039;auriculaire droit a énormément de travail puisqu&#039;il a 8 touches à gérer)&lt;br /&gt;
* swap è&amp;lt;-&amp;gt;ê: c&#039;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.)&lt;br /&gt;
* déplacer META sur le [CTRL] gauche et INSERT sur le [CTRL] droit. J&#039;utilise ces touches une fois toutes les 3 lunes (et je n&#039;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&#039;alternance entre AltGr gauche et Level5 (fréquents quand on écrit du code):&lt;br /&gt;
** êÊ€£ sur [2]&lt;br /&gt;
** Level5 sur [T]&lt;br /&gt;
** Esc sur [Maj] gauche&lt;br /&gt;
* Swap PgDw &amp;lt;-&amp;gt; Home&lt;br /&gt;
* Pavé numérique à tester:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ &lt;br /&gt;
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ &lt;br /&gt;
 ║       ║    │    │    │    │    │    │   =│   6│   7│   8│   9│    ║     ║&lt;br /&gt;
 ║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║ &lt;br /&gt;
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ &lt;br /&gt;
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║&lt;br /&gt;
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ &lt;br /&gt;
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ &lt;br /&gt;
 ║      ║    │    │    │    │    │    │    │   ±│    │   (│   )║  :        ║&lt;br /&gt;
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ &lt;br /&gt;
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ &lt;br /&gt;
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Carte overlay enrichie pour les combinaisons ctrl-F4, alt-F2, alt-F4, ctrl-tab, ctrl-maj-tab, alt-tab:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │PgDw│PgUp│    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║CTRL│ALT │META│MAJ │    │  ← │  ↓ │  ↑ │  → │ F2 │ F4 │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │End │Home│    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║OVRL║    ║                   TAB  ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* (changement majeur) À l&#039;instar de l&#039;[http://www.pvv.org/~hakonhal/main.cgi/keyboard Arensito], monter toutes les touches d&#039;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. Pour l&#039;instant à l&#039;état de brouillon [[Utilisateur:Lawrent/bepo3|ici]].&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques principales==&lt;br /&gt;
* 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.&lt;br /&gt;
* &amp;lt;b&amp;gt;ne pas&amp;lt;/b&amp;gt; utiliser la ligne des chiffres que je juge trop inaccessible.&lt;br /&gt;
* déplacer les modificateurs (l&#039;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&#039;en voit facilitée des deux côtés.&lt;br /&gt;
* placer un pavé numérique sur deux lignes sous la main droite. Ses lignes sont décalées pour équilibrer la charge de l&#039;index et de l&#039;auriculaire.&lt;br /&gt;
* un accès très facile aux flèches directionnelles. Vraiment, ça change la vie.&lt;br /&gt;
* les ^ et ~ sont ajoutés comme touches non-mortes pour la programmation&lt;br /&gt;
* les touches spéciales placées sur l&#039;overlay sont fréquemment utilisées sur Linux Mint pour passer d&#039;un écran virtuel à un autre, etc. En plus, MAJ+flèche permet de sélectionnel du texte&lt;br /&gt;
* altgr est duppliqué sur la ligne des chiffres pour faciliter les raccourcis ctrl-], ctrl-^ et d&#039;autres vimités&lt;br /&gt;
&lt;br /&gt;
J&#039;ai également modifié l&#039;emplacement initial de certaines touches:&lt;br /&gt;
* Le B: [[Utilisateur:Robin|Robin]] recommande d&#039;intervertir le J et le B à cause de la fréquence des digrammes ja, aj, bn, nb. Le digramme mb s&#039;en retrouve plus difficile mais on y gagne à faciliter les digrammes bl et br car ils sont effectués par des doigts voisins.&lt;br /&gt;
* Le H : je n&#039;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&amp;lt;-&amp;gt;J me semble adéquat.&lt;br /&gt;
* Le O : ma méthode de saisie (voir plus bas) encourage l&#039;utilisation des pouces comme pivots vers l&#039;extérieur. Je trouve donc les touches O, È, ^ et V particulièrement inaccessibles. Un swap H&amp;lt;-&amp;gt;O rend le O plus accessible et facilite les digrammes ou et oi (il ne faut plus «casser» les poignets vers l&#039;intérieur). Dans l&#039;ensemble, ça compense le digramme he concentré sur un seul doigt.&lt;br /&gt;
* déplacement du ! : c&#039;est une exception de mettre un signe de ponctuation en altgr, mais le &#039;^&#039; est trop inaccessible à mon goût, et puis ça me permet de faire une touche rien qu&#039;avec les accents morts.&lt;br /&gt;
* Le S et le N : pour faciliter les trigrammes des et men.&lt;br /&gt;
* swap à&amp;lt;-&amp;gt;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&#039;annulaire gauche fait un saut entre la rangée supérieure et la rangée inférieure. Autres justifications:&lt;br /&gt;
** le = se trouve sur mon h (parce que H, = et ≠ ça se ressemble je trouve) serait placé à côté de ses amis + et *&lt;br /&gt;
** le h est plus fréquent que le à (11298 versus 7449 sur la page des [[Fréquence_des_caractères]]) et je n&#039;aime vraiment pas les touches au-dessus des index&lt;br /&gt;
** au niveau des digrammes, « he » est largement plus fréquent que les « hu », « hé » et « ph » (1632 versus 347+173+356 d&#039;après la [[fréquence des digrammes]]).&lt;br /&gt;
&lt;br /&gt;
==Justification de mes changements par rapport au bépo original==&lt;br /&gt;
Avertissement: ne modifiez pas votre disposition bépo :D&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot; ([http://ploum.net/183-conserver-la-tradition-du-changement-mais-pas-trop/ Ploum])&lt;br /&gt;
&lt;br /&gt;
Avant d&#039;expliquer pourquoi j&#039;ai changé quelle touche de place, il faut que je vous donne ma propre carte d&#039;accessibilité (= la préférence que j&#039;accorde personnellement à chaque touche).&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │  3 │  3 │    │    │    │  3 │  3 │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║  2 │  1 │  1 │  4 │  5 │  6 │  4 │  1 │  1 │  2 │  3 │  3 ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║  0 │  0 │  0 │  0 │  1 │  1 │  0 │  0 │  0 │  0 │  1 │  3 ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║  1 │  4 │  2 │  2 │  1 │  5 │  1 │  2 │  2 │  4 │  1 ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Plus une touche a une valeur élevée, moins je la trouve accessible.)&lt;br /&gt;
&lt;br /&gt;
(à finir…)&lt;br /&gt;
&lt;br /&gt;
==Utilisation recommandée==&lt;br /&gt;
* saisie des caractères proche de la [[Méthode_de_saisie#Variante_.C2.AB_A_.C2.BB|variante A]] (idée: utiliser les index comme pivots pour les lignes supérieures et &amp;quot;tirer les mains vers l&#039;extérieur&amp;quot; pour la ligne inférieure)&lt;br /&gt;
&amp;lt;source&amp;gt;┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│ 1  │ 1  │ 1  │    │ 1  │    │ 1  │ 1  │    │ 1  │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║ 1  │    │ 1  │    │    │ 1  │ 1  │    │ 1  │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║ 1  │    │ 1  │    │    │    │ 1  │ 1  │    │ 1  │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Apprentissage==&lt;br /&gt;
(à réécrire)&lt;br /&gt;
&lt;br /&gt;
==Installation (Linux)==&lt;br /&gt;
* Copier le code suivant à la fin du fichier {{c|/usr/share/X11/xkb/symbols/fr}} (les touches non-affectées sont toutes affectées à §).&lt;br /&gt;
* Remplacer le fichier {{c|xkb/types/level5}} par celui proposé ici (dans mes souvenirs avec le type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, &amp;quot;CAPS_LOCK + Level5&amp;quot; agit comme &amp;quot;Shift + Level5&amp;quot; alors que &amp;quot;CAPS_LOCK&amp;quot; ne devrait pas avoir d&#039;influence sur le pavé numérique)&lt;br /&gt;
* (Note personnelle: ajouter également le fichier dans xkb/types/ dans lequel j&#039;ai modifié la définition du tye EIGHT_LEVEL_SEMIALPHABETIC)&lt;br /&gt;
* Pour activer la disposition, lancer la commande {{c|setxkbmap fr bepo2}}&lt;br /&gt;
* 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&#039;Ubuntu/Linux Mint avec les lignes&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo2&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
* 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&#039;il n&#039;y a pas de sortie, c&#039;est que c&#039;est bon).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// a ajouter dans xkb/symbols/french&lt;br /&gt;
&lt;br /&gt;
partial alphanumeric_keys&lt;br /&gt;
xkb_symbols &amp;quot;bepo2&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
    include &amp;quot;keypad(oss)&amp;quot; // touches standard&lt;br /&gt;
 &lt;br /&gt;
    name[Group1]= &amp;quot;French (Bepo2, ergonomic, derived from the Bepo by Laurent Van Eesbeeck)&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    key &amp;lt;TLDE&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Caps_Lock          ]};&lt;br /&gt;
    key &amp;lt;AE01&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ ISO_Level3_Shift   ]};&lt;br /&gt;
    key &amp;lt;AE02&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Super_L            ]};&lt;br /&gt;
    key &amp;lt;AE03&amp;gt; { type[group1] = &amp;quot;TWO_LEVEL&amp;quot;, [ Tab , ISO_Left_Tab ]};&lt;br /&gt;
    key &amp;lt;AE04&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_L          ]};&lt;br /&gt;
    key &amp;lt;AE05&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE06&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Terminate_Server   ]};&lt;br /&gt;
    key &amp;lt;AE07&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE08&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Control_R          ]};&lt;br /&gt;
    key &amp;lt;AE09&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Alt_L              ]};&lt;br /&gt;
    key &amp;lt;AE10&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Insert             ]};&lt;br /&gt;
    key &amp;lt;AE11&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ section            ]};&lt;br /&gt;
    key &amp;lt;AE12&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Backspace          ]};&lt;br /&gt;
    key &amp;lt;BKSP&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;, [ Delete             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;TAB&amp;gt;  { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ BackSpace      ]};&lt;br /&gt;
//    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , oe         , OE                      ]};&lt;br /&gt;
    key &amp;lt;AD01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ o              , O             , odiaeresis , Odiaeresis              ]};&lt;br /&gt;
    key &amp;lt;AD02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ eacute         , Eacute        , ampersand  , section                 ]};&lt;br /&gt;
    key &amp;lt;AD03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ p              , P             , bar        , section                 ]};&lt;br /&gt;
    key &amp;lt;AD04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ agrave      , Agrave      , aring          , Aring          ]};&lt;br /&gt;
    key &amp;lt;AD05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ egrave         , Egrave        , grave      , section                 ]};&lt;br /&gt;
    key &amp;lt;AD06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ dead_circumflex, dead_diaeresis, dead_acute , dead_grave      , equal, notequal   ]};&lt;br /&gt;
    key &amp;lt;AD07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ v              , V             , asciicircum, section         , 5, fivesuperior , fivesubscript  ], overlay1=&amp;lt;PGDN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ d              , D             , dollar     , section         , 6, sixsuperior  , sixsubscript   ], overlay1=&amp;lt;PGUP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AD09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ l              , L             , less       , lessthanequal   , 7, sevensuperior, sevensubscript ]};&lt;br /&gt;
    key &amp;lt;AD10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ b              , B             , greater    , greaterthanequal, 8, eightsuperior, eightsubscript ]};&lt;br /&gt;
    key &amp;lt;AD11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ z              , Z             , numbersign , section         , 9, ninesuperior , ninesubscript  ]};&lt;br /&gt;
    key &amp;lt;AD12&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ ccedilla       , Ccedilla      , at         , section         , percent, percent                 ]};&lt;br /&gt;
    key &amp;lt;RTRN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ Return                                                                ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;CAPS&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                           ]};&lt;br /&gt;
//    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , ae         , AE             ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ a                , A         , adiaeresis , Adiaeresis     ],  overlay1=&amp;lt;AE04&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_ALPHABETIC&amp;quot;     , [ u                , U         , ugrave     , Ugrave         ],  overlay1=&amp;lt;LCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC03&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ i                , I         , parenleft  , guillemotleft  , parenleft , parenleft , parenleft     ],  overlay1=&amp;lt;RCTL&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC04&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ e                , E         , parenright , guillemotright , parenright, parenright, parenright    ],  overlay1=&amp;lt;LALT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ comma            , semicolon , emdash     , section        ]};&lt;br /&gt;
    key &amp;lt;AC06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot;    , [ c                , C         , backslash  , section        , 0      , zerosuperior , zerosubscript ],  overlay1=&amp;lt;LEFT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ t                , T         , slash      , dead_tilde     , 1      , onesuperior  , onesubscript  ],  overlay1=&amp;lt;DOWN&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ n                , N         , minus      , endash         , 2      , twosuperior  , twosubscript  ],  overlay1=&amp;lt;UP&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ r                , R         , braceleft  , section        , 3      , threesuperior, threesubscript],  overlay1=&amp;lt;RGHT&amp;gt;};&lt;br /&gt;
    key &amp;lt;AC10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ s                , S         , braceright , section        , 4      , foursuperior , foursubscript ]};&lt;br /&gt;
    key &amp;lt;AC11&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ m                , M         , percent    , section        , period , period ]};&lt;br /&gt;
    key &amp;lt;BKSL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level3_Shift                                    ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LFSH&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                 , [ ISO_Level5_Shift                                            ]};&lt;br /&gt;
    key &amp;lt;LSGT&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ ecircumflex , Ecircumflex , EuroSign       , sterling       ]};&lt;br /&gt;
    key &amp;lt;AB01&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ h              , H             , equal      , notequal                ]};&lt;br /&gt;
    key &amp;lt;AB02&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ y           , Y           , asterisk       , section        ]};&lt;br /&gt;
    key &amp;lt;AB03&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ x           , X           , plus           , plusminus      ]};&lt;br /&gt;
    key &amp;lt;AB04&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;                , [ period      , colon       , ellipsis       , periodcentered ]};&lt;br /&gt;
    key &amp;lt;AB05&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL_SEMIALPHABETIC&amp;quot; , [ k           , K           , degree         , section        ]};&lt;br /&gt;
    key &amp;lt;AB06&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL&amp;quot;               , [ apostrophe  , question    , exclam         , approxeq       , comma    ]};&lt;br /&gt;
    key &amp;lt;AB07&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ q           , Q           , quotedbl       , section        , plus     , plusminus], overlay1=&amp;lt;END&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB08&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ g           , G           , underscore     , section        , minus    , minus    ], overlay1=&amp;lt;HOME&amp;gt;};&lt;br /&gt;
    key &amp;lt;AB09&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ j           , J           , bracketleft    , section        , asterisk , asterisk ]};&lt;br /&gt;
    key &amp;lt;AB10&amp;gt; { type[group1] = &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot;, [ f           , F           , bracketright   , section        , slash    , slash    ]};&lt;br /&gt;
    key &amp;lt;RTSH&amp;gt; { type[group1] = &amp;quot;ALPHABETIC&amp;quot;                , [ w           , W                                             ]};&lt;br /&gt;
&lt;br /&gt;
    key &amp;lt;LCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Alt_L                                                        ]};&lt;br /&gt;
    key &amp;lt;LWIN&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ VoidSymbol ]   , actions = [ SetControls(controls=Overlay1)  ]};&lt;br /&gt;
    key &amp;lt;LALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_L                                                      ]};&lt;br /&gt;
    key &amp;lt;SPCE&amp;gt; { type[group1] = &amp;quot;FOUR_LEVEL&amp;quot;               , [ space          , nobreakspace  , asciitilde , nobreakspace   ]};&lt;br /&gt;
    key &amp;lt;RALT&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Shift_R                                                      ]};&lt;br /&gt;
    key &amp;lt;MENU&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Escape                                                       ]};&lt;br /&gt;
    key &amp;lt;RCTL&amp;gt; { type[group1] = &amp;quot;ONE_LEVEL&amp;quot;                , [ Super_R                                                      ]};&lt;br /&gt;
    &lt;br /&gt;
    modifier_map Shift   { Shift_L, Shift_R };&lt;br /&gt;
    modifier_map Lock    { Caps_Lock }; // caps lock&lt;br /&gt;
    modifier_map Control { Control_L, Control_R };&lt;br /&gt;
    modifier_map Mod5    { ISO_Level3_Shift }; // altgr&lt;br /&gt;
    modifier_map Mod3    { ISO_Level5_Shift }; // Level5&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
partial default xkb_types &amp;quot;default&amp;quot; {&lt;br /&gt;
    // Definition for a key type used for the czech keymap, for instance.&lt;br /&gt;
    // Defines style a with four level shift. It is similar to three_level&lt;br /&gt;
    // type used for iso9995 but it lets the shift key behave &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    virtual_modifiers LevelThree,ScrollLock,LevelFive;&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL&amp;quot; {&lt;br /&gt;
        modifiers = Shift+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;  &lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;  &lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_ALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level4;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level3;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level8;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level7;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//&lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock has no effect&lt;br /&gt;
//        map[Lock]                                    = Level1;&lt;br /&gt;
//        map[Lock+Shift]                              = Level2;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level3;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[Lock+NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
//&lt;br /&gt;
//    type &amp;quot;EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK&amp;quot; {&lt;br /&gt;
//    	// Level5-Lock is implemented by using NumLock, because a real modifier&lt;br /&gt;
//    	// is required.&lt;br /&gt;
//    	&lt;br /&gt;
//        modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;&lt;br /&gt;
//    &lt;br /&gt;
//        map[None]                                    = Level1;&lt;br /&gt;
//        map[Shift]                                   = Level2;&lt;br /&gt;
//        map[LevelThree]                              = Level3;&lt;br /&gt;
//        map[LevelThree+Shift]                        = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[LevelFive]                               = Level5;&lt;br /&gt;
//        map[LevelFive+Shift]                         = Level6;&lt;br /&gt;
//        map[LevelFive+LevelThree]                    = Level7;&lt;br /&gt;
//        map[LevelFive+LevelThree+Shift]              = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock]                                 = Level5;&lt;br /&gt;
//        map[NumLock+Shift]                           = Level6;&lt;br /&gt;
//        map[NumLock+LevelThree]                      = Level7;&lt;br /&gt;
//        map[NumLock+LevelThree+Shift]                = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[NumLock+LevelFive]                       = Level1;&lt;br /&gt;
//        map[NumLock+LevelFive+Shift]                 = Level2;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree]            = Level3;&lt;br /&gt;
//        map[NumLock+LevelFive+LevelThree+Shift]      = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        // Lock interchanges Level1 and Level2&lt;br /&gt;
//        map[Lock]                                    = Level2;&lt;br /&gt;
//        map[Lock+Shift]                              = Level1;&lt;br /&gt;
//        map[Lock+LevelThree]                         = Level3;&lt;br /&gt;
//        map[Lock+LevelThree+Shift]                   = Level4;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+LevelFive]                          = Level5;&lt;br /&gt;
//        map[Lock+LevelFive+Shift]                    = Level6;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree]               = Level7;&lt;br /&gt;
//        map[Lock+LevelFive+LevelThree+Shift]         = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock]                            = Level5;&lt;br /&gt;
//        map[Lock+NumLock+Shift]                      = Level6;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree]                 = Level7;&lt;br /&gt;
//        map[Lock+NumLock+LevelThree+Shift]           = Level8;&lt;br /&gt;
//&lt;br /&gt;
//        map[Lock+NumLock+LevelFive]                  = Level2;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+Shift]            = Level1;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree]       = Level4;&lt;br /&gt;
//        map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;&lt;br /&gt;
//&lt;br /&gt;
//        preserve[LevelFive+Shift] = Shift;&lt;br /&gt;
//        preserve[NumLock+Shift] = Shift;&lt;br /&gt;
//&lt;br /&gt;
//        level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
//        level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
//        level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
//        level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
//        level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
//        level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
//    };&lt;br /&gt;
&lt;br /&gt;
    type &amp;quot;EIGHT_LEVEL_SEMIALPHABETIC&amp;quot; {&lt;br /&gt;
	modifiers = Shift+Lock+LevelThree+LevelFive;&lt;br /&gt;
	map[None] = Level1;&lt;br /&gt;
	map[Shift] = Level2;&lt;br /&gt;
	map[Lock]  = Level2;&lt;br /&gt;
	map[LevelThree] = Level3;&lt;br /&gt;
	map[Shift+LevelThree] = Level4;&lt;br /&gt;
	map[Lock+LevelThree] =  Level3;&lt;br /&gt;
        map[Lock+Shift+LevelThree] = Level4;&lt;br /&gt;
&lt;br /&gt;
	map[LevelFive] = Level5;&lt;br /&gt;
	map[Shift+LevelFive] = Level6;&lt;br /&gt;
	map[Lock+LevelFive]  = Level5;&lt;br /&gt;
		map[Lock+Shift+LevelFive]  = Level6;&lt;br /&gt;
	map[LevelThree+LevelFive] = Level7;&lt;br /&gt;
	map[Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
	map[Lock+LevelThree+LevelFive] =  Level7;&lt;br /&gt;
        map[Lock+Shift+LevelThree+LevelFive] = Level8;&lt;br /&gt;
&lt;br /&gt;
	preserve[Lock+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree] = Lock;&lt;br /&gt;
	preserve[Lock+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+LevelThree+LevelFive] = Lock;&lt;br /&gt;
	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;&lt;br /&gt;
&lt;br /&gt;
	level_name[Level1] = &amp;quot;Base&amp;quot;;&lt;br /&gt;
	level_name[Level2] = &amp;quot;Shift&amp;quot;;&lt;br /&gt;
	level_name[Level3] = &amp;quot;Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level4] = &amp;quot;Shift Alt&amp;quot;;&lt;br /&gt;
	level_name[Level5] = &amp;quot;X&amp;quot;;&lt;br /&gt;
	level_name[Level6] = &amp;quot;X Shift&amp;quot;;&lt;br /&gt;
	level_name[Level7] = &amp;quot;X Alt Base&amp;quot;;&lt;br /&gt;
	level_name[Level8] = &amp;quot;X Shift Alt&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VIM (en cours de changements)==&lt;br /&gt;
&amp;lt;b&amp;gt;J&#039;ai remis le N et le S à leurs positions originales, cette section n&#039;est donc pas à jour&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme j&#039;ai interverti le N et le S, le [[Vim#.7E.2F.vimrc|fichier de configuration]] de VIM doit être modifié en conséquence:&lt;br /&gt;
* flèches directionnelles:&lt;br /&gt;
** c = ←, C = haut de l&#039;écran&lt;br /&gt;
** t = ↓, T = joindre&lt;br /&gt;
** n = ↑, N = aide&lt;br /&gt;
** r = →, R = bas de l&#039;écran&lt;br /&gt;
* remplacement des touches ctnr:&lt;br /&gt;
** j&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au prochain caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, J&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = aller au caractère &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; précédent&lt;br /&gt;
** l&amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; = supprime le mouvement &amp;lt;i&amp;gt;mov&amp;lt;/i&amp;gt; et bascule en mode insertion, L = supprime la fin de ligne et bascule en mode insertion (tester si ll supprime toute la ligne)&lt;br /&gt;
** h&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; = remplace le caractère sous le curseur par &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt;, H = entre en mode remplacement&lt;br /&gt;
** k = cherche la prochaine occurrence de &amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt; (après /&amp;lt;i&amp;gt;pattern&amp;lt;/i&amp;gt;), K = cherche l&#039;occurrence précédente&lt;br /&gt;
&lt;br /&gt;
Au passage j&#039;ai aussi modifié la gestion des fenêtres, avec deux modificateurs (presque) symétriques: à et w. Il y a aussi d&#039;autres modifications au passage que je ne sais pas si je garderai (remapper ê sur 0).&lt;br /&gt;
&lt;br /&gt;
Mon fichier ~/.vimrc.bepo est alors le suivant:&lt;br /&gt;
&amp;lt;source&amp;gt;&amp;quot; I. Les commandes de base&lt;br /&gt;
&amp;quot; azerty   bépo   signification (minuscule)                signification (majuscule)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;    H      C     flèche gauche                            début d&#039;écran&lt;br /&gt;
&amp;quot;    J      T     flèche bas                               fusionne deux lignes&lt;br /&gt;
&amp;quot;    K      N     flèche haut                              lance :!man sur le mot courant&lt;br /&gt;
&amp;quot;    L      R     flèche droite                            fin d&#039;écran&lt;br /&gt;
&amp;quot;    C      L     supprime &amp;lt;mvt&amp;gt; puis insert               supprime la fin de ligne puis insert&lt;br /&gt;
&amp;quot;    T      J     va à l&#039;emplacement avant le &amp;lt;x&amp;gt; suivant  va après le &amp;lt;x&amp;gt; précédent&lt;br /&gt;
&amp;quot;    N      K     relance / et ?                           relance / et ? dans l&#039;autre sens&lt;br /&gt;
&amp;quot;    R      H     remplace le caractère sous le curseur    mode remplacement&lt;br /&gt;
&amp;quot;    W      É     mouvement jusqu&#039;au prochain mot          jusqu&#039;au prochain MOT&lt;br /&gt;
&lt;br /&gt;
&amp;quot; II. La gestion des fenêtres&lt;br /&gt;
&amp;quot;	azerty		bépo	signification (minuscule)		signification (majuscule)				mnémo (bépo)&lt;br /&gt;
&amp;quot; ----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		à		préfixe pour la gestion des fenêtres, à gauche sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;		w		préfixe pour la gestion des fenêtres, à droite sur le clavier&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;&amp;lt;C-W&amp;gt;	À		bascule vers la fenêtre précédente (cycle sur toutes les fenêtres)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;p		W		bascule vers la fenêtre précédente (alterne entre 2)&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;h		àc		va à la fenêtre à gauche		déplace la fenêtre à l&#039;extrême gauche&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;j		àt		va à la fenêtre en bas			déplace la fenêtre à l&#039;extrême bas&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;k		àn		va à la fenêtre en haut			déplace la fenêtre à l&#039;extrême haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;l		àr		va à la fenêtre à droite		déplace la fenêtre à l&#039;extrême droite&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;c		we		ferme la fenêtre courante 		(rien)									exit&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;t		wh		va à la fenêtre supérieure		déplace la fenêtre vers un nouveau tab  haut&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;n		ww		ouvre une nouvelle fenêtre		(rien)									window&lt;br /&gt;
&amp;quot;	&amp;lt;C-W&amp;gt;r		wt/wn	déplace la fenêtre un cran vers le bas/vers le haut						t/n (flèches)&lt;br /&gt;
&amp;quot;	:vsplit&amp;lt;CR&amp;gt;	à&amp;lt;CR&amp;gt;	divise la fenêtre verticalement&lt;br /&gt;
&amp;quot;	:split&amp;lt;CR&amp;gt;	à&amp;lt;SPACE&amp;gt;divise la fenêtre horizontalement&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage d&#039;une touche en azerty: noremap bépo azerty&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de h, H&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap C H&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de j, gj, zj, J, gJ&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap gt gj&lt;br /&gt;
noremap zn zj&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap gT gJ&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de k, gk, zk, K&lt;br /&gt;
noremap n k&lt;br /&gt;
noremap gn gk&lt;br /&gt;
noremap zt zk&lt;br /&gt;
noremap N K&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de l, L&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap R L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de c, C&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de t, T&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de n, N&lt;br /&gt;
noremap k n&lt;br /&gt;
noremap K N&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de r, R&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&lt;br /&gt;
&amp;quot; remappage de w, W, aw, aW, iw, iW (les text objects du mot courant)&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
onoremap aé aw&lt;br /&gt;
onoremap aÉ aW&lt;br /&gt;
onoremap ié iw&lt;br /&gt;
onoremap iÉ iW&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;quot; Navigation des onglets&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Le gestionnaire des fenêtres&lt;br /&gt;
&amp;quot; définition des préfixes et commandes fréquentes&lt;br /&gt;
noremap à &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap À &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;p&lt;br /&gt;
noremap à&amp;lt;SPACE&amp;gt; :vsplit&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap à&amp;lt;CR&amp;gt; :split&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; pour utiliser ctnr comme hjkl&lt;br /&gt;
&amp;quot; même si j est mappé sur t et à est mappé sur &amp;lt;C-w&amp;gt;,&lt;br /&gt;
&amp;quot; il faut quand même remapper àt sur &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àc &amp;lt;C-w&amp;gt;h&lt;br /&gt;
noremap àC &amp;lt;C-w&amp;gt;H&lt;br /&gt;
noremap àt &amp;lt;C-w&amp;gt;j&lt;br /&gt;
noremap àT &amp;lt;C-w&amp;gt;J&lt;br /&gt;
noremap àn &amp;lt;C-w&amp;gt;k&lt;br /&gt;
noremap àN &amp;lt;C-w&amp;gt;K&lt;br /&gt;
noremap àr &amp;lt;C-w&amp;gt;l&lt;br /&gt;
noremap àR &amp;lt;C-w&amp;gt;L&lt;br /&gt;
&lt;br /&gt;
&amp;quot; réattribue ce qui était attribué à ctnr&lt;br /&gt;
noremap we &amp;lt;C-w&amp;gt;c&lt;br /&gt;
noremap wh &amp;lt;C-w&amp;gt;t&lt;br /&gt;
noremap wH &amp;lt;C-w&amp;gt;T&lt;br /&gt;
noremap ww &amp;lt;C-w&amp;gt;n&lt;br /&gt;
noremap wt &amp;lt;C-w&amp;gt;r&lt;br /&gt;
noremap wn &amp;lt;C-w&amp;gt;R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Remappage personnel:&lt;br /&gt;
&amp;quot; ê va au début de ligne, Ê va au premier caractère non-blanc de la ligne&lt;br /&gt;
&amp;quot; (plus accessibles que 0 et ^ sur mon clavier)&lt;br /&gt;
&amp;quot; mémo: ^ est l&#039;accent de Ê&lt;br /&gt;
noremap ê 0&lt;br /&gt;
noremap Ê ^&lt;br /&gt;
&amp;quot; idem pour le début de la ligne sur l&#039;écran&lt;br /&gt;
noremap gê g0&lt;br /&gt;
noremap gÊ g^&lt;br /&gt;
&amp;quot; ç est remappé sur ` (utilisé pour atteindre un mark)&lt;br /&gt;
&amp;quot; mnémo: ç est sur la même touche que @ (lance une macro)&lt;br /&gt;
noremap ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gmail==&lt;br /&gt;
Gmail possède une option pour parcourir ses mails avec des raccourcis claviers. Cette option est encore expérimentale, c&#039;est pourquoi il faut l&#039;activer manuellement dans &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; labos&amp;quot;. Le mieux, c&#039;est qu&#039;on peut redéfinir ses raccourcis claviers dans le menu &amp;quot;roue crantée &amp;gt; paramètres &amp;gt; raccourcis claviers&amp;quot;. Personnellement j&#039;ai désactivé les raccourcis correspondant aux actions que je n&#039;utilise jamais et j&#039;ai associé les raccourcis suivants (l&#039;idéal est de choisir des moyens mnémotechniques pour les retenir):&lt;br /&gt;
&amp;lt;source&amp;gt;c	va au message précédent dans une discussion&lt;br /&gt;
t	va à la conversation suivante dans un dossier&lt;br /&gt;
n	va à la conversation précédente dans un dossier&lt;br /&gt;
r	va au message suivant dans une discussion&lt;br /&gt;
&lt;br /&gt;
x	sélectionne la discussion (coche la case)&lt;br /&gt;
d	supprime (Delete)&lt;br /&gt;
o	Ouvrir le message sélectionné&lt;br /&gt;
m/M	écrire un nouveau Message&lt;br /&gt;
u/U	annuler la dernière action (Undo)/mettre à jour la conversation (Update)&lt;br /&gt;
g	retour à la liste des conversations (unGo ou Gmail)&lt;br /&gt;
,/;	marquer comme lu/non lu&lt;br /&gt;
p/P	réPondre/réPondre dans une nouvelle fenêtre&lt;br /&gt;
a/A	répondre à tous (All)/répondre à tous dans une nouvelle fenêtre&lt;br /&gt;
f/F	transférer (Forward)/transférer dans une nouvelle fenêtre&lt;br /&gt;
l	ouvre le menu « appliquer le libellé »&lt;br /&gt;
e	archiver&lt;br /&gt;
&lt;br /&gt;
i	accède à la boite de réception (Inbox)&lt;br /&gt;
É	accède aux messages envoyÉs&lt;br /&gt;
B	accède aux Brouillons&lt;br /&gt;
C	accède aux Contacts&lt;br /&gt;
T	accède à Tous les messages&lt;br /&gt;
&lt;br /&gt;
/	sélectionne la barre de recherche&lt;br /&gt;
L	cherche pour un label&lt;br /&gt;
&lt;br /&gt;
?	afficher les raccourcis clavier&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autour du clavier==&lt;br /&gt;
Je suis passé à VIM comme éditeur de texte par défaut. Comme pour bépo, il a une courbe d&#039;apprentissage/d&#039;adaptation assez raide, mais il surpasse de loin les éditeurs de texte standards.&lt;br /&gt;
&lt;br /&gt;
Pour plus tard:&lt;br /&gt;
* changer mon gestionnaire de fenêtres vers quelque chose optimisé pour une utilisation au clavier. On m&#039;a recommandé récemment [http://i3wm.org/ i3] que j&#039;essayerais bien. D&#039;autres gestionnaires de fenêtre qui ont l&#039;air intéressant: wmii, scrotwm.&lt;br /&gt;
* 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. :-)&lt;br /&gt;
* Les claviers [http://ergodox.org/Default.aspx Ergodox] ont l&#039;air cool à bidouiller aussi&lt;br /&gt;
&lt;br /&gt;
==Liens utiles et tout ce qui n&#039;a pas sa place ailleurs==&lt;br /&gt;
Pour en savoir plus sur la syntaxe utilisée dans le wiki: http://meta.wikimedia.org/wiki/Help:Wikitext_examples/fr&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Je suis en dualboot Windows 7/Linux et pour l&#039;instant Windows est resté sagement en azerty. Un jour il faudrait que j&#039;explore [[Portable_Keyboard_Layout|PKL]] pour voir si je peux également bidouiller ma disposition sur Windows.&lt;br /&gt;
&lt;br /&gt;
Un lien vers les symboles ascii, utiles pour dessiner un clavier: http://www.toutimages.com/codes_caracteres.htm&lt;br /&gt;
&amp;lt;source&amp;gt;╔ ╗ ╚ ╝ ╩ ╦ ╠ ╣ ═ ║ ╬&lt;br /&gt;
┌ ┐ └ ┘ ┴ ┬ ├ ┤ ─ │ ┼&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour s&#039;habituer au pavé numérique, on peut s&#039;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&lt;br /&gt;
&amp;lt;source&amp;gt;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 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deux claviers vierges: un large et un étroit&lt;br /&gt;
&amp;lt;source&amp;gt;┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
│        │        │        │        │        │        │        │        │        │        │        │        │        ║                ║&lt;br /&gt;
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
║              ║        │        │        │        │        │        │        │        │        │        │        │        ║          ║&lt;br /&gt;
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
║                ║        │        │        │        │        │        │        │        │        │        │        │        ║        ║&lt;br /&gt;
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
║           ║        │        │        │        │        │        │        │        │        │        │        ║                      ║&lt;br /&gt;
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
║           ║        ║        ║        ║                                            ║        ║        ║        ║&lt;br /&gt;
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝&lt;br /&gt;
&lt;br /&gt;
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║&lt;br /&gt;
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║&lt;br /&gt;
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║&lt;br /&gt;
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║&lt;br /&gt;
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
║      ║    ║    ║    ║                        ║    ║    ║    ║&lt;br /&gt;
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrent</name></author>
	</entry>
</feed>