M empirie/mine-bored-truly-109.xmodmap +1 -1
@@ 245,7 245,7 @@ keycode 58 = f F percent Greek_phi
keycode 59 = comma endash quotedbl U03F1 KP_2 KP_2 U21D2 NoSymbol
keycode 60 = period enfilledcircbullet apostrophe U03D1 KP_3 KP_3 U21A6 NoSymbol
keycode 48 = k K semicolon Greek_kappa semicolon NoSymbol multiply NoSymbol
-keycode 61 = q Q U017F U03D5 U2212 NoSymbol U211A NoSymbol
+keycode 61 = q Q semicolon U03D5 semicolon NoSymbol multiply NoSymbol
A => empirie/tir-links.txt +4 -0
@@ 0,0 1,4 @@
+Tir Links
+ödhkz vüfyäq
+etinr cpiajß
+ogbsm uw,.x
A => empirie/tir-links.xmodmap +304 -0
@@ 0,0 1,304 @@
+!! ~/.xmodmap
+!! Einr Links
+
+!!
+!! based upon the Modifiers and levels 3 – 7 of
+!!
+!! German Neo-Layout
+!! adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
+!! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/
+!! Authors:
+!! Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany>
+!! Erik Streb <mail at erikstreb dot de>
+!! Pascal Hauck <neo at pascalhauck dot de>
+!!
+!! Other Questions:
+!! <diskussion at neo-layout dot org>
+!!
+!! $Revision: 2332 $, $Date: 2010-08-06 08:42:35 +0200 (Fr, 06. Aug 2010) $
+!! http://neo-layout.org
+!!
+!! To try the layout in this file, simply do xmodmap <file>.
+!! To load the layout in this file at X startup, simply store it as
+!! ~/.xmodmap
+!!
+!!
+!! This file generated by generiere_xmodmap.py
+!! Ruthard Baudach <rthrd@web.de>
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebenen
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene 1: normal
+! Ebene 2: Shift
+! Ebene 3: Mod3
+! Ebene 4: Mod4 (zum Markieren Shift+Mod4)
+! Ebene 5: Shift+Mod3
+! Ebene 6: Mod3+Mod4 (in dieser Reihenfolge!)
+! Ebene 7: wird (bis auf technisch bedingte Ausnahmen) nicht belegt
+! Multi_key=Compose (keine eigene Ebene): Mod3+Tab or right window key
+! Feststellen/Shift_Lock: Shift+Shift
+! Mod4_Lock: Mod4(rechts)+Mod4(links)
+
+! Reihenfolge der Ebenen in der Xmodmap:
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Modifier definition
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+clear Lock
+clear Mod2
+! Mod2 war NumLock !
+clear Mod3
+clear Mod5
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Shift
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 50=left 62=right
+! Shift+Shift ergibt ein ShiftLock (wie Caps, wirkt aber auf alle Zeichen, nicht nur auf Großbuchstaben)
+! Der Lock lässt sich durch ein weiteres Shift lösen.
+! Eigentlich (siehe Referenz) sollte hier ein CapsLock stehen.
+keycode 50 = Shift_L Shift_Lock
+keycode 62 = Shift_R Shift_Lock
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Mod3
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 66=left 51=right
+! Make CapsLock an modifier called Mod3 (similar to AltGr) (Mode_switch or ISO_Group_Shift is for 3rd and 4th level)
+! Make former CapsLock and qwertz-# to Mode_switch or ISO_Group_Shift
+! Mod3(links) (=Qwertz-Caps) erlaubt nur 4 Ebenen
+! Ohne einen Eintrag in der zweiten Gruppe (=Ebene 3) ergäbe Mod3+Mod3=Group_Shift+Group_Shift=Gruppe 3=Ebene 6. Das ist nicht gewünscht.
+keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group NoSymbol
+keycode 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group NoSymbol
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Mod4
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 94=left 113=right
+! Make the former AltGr and qwertz-< to Mod4 (ISO_Level3_Shift)
+! Mod4(rechts)+Mod4(links) lässt Mod4 einrasten (Mod4Lock)
+! das funktioniert nur in dieser Reihenfolge, da Mod4(rechts) (=Qwertz-AltGr) nur 4 Ebenen hat
+! Der Lock lässt sich durch ein weiteres Mod4 lösen.
+keysym less = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock NoSymbol
+keysym ISO_Level3_Shift = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock NoSymbol
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! window keys
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! keysym Super_L = Super_L
+! keycode 116 = Super_R
+! keysym Super_R = Multi_key Multi_key
+! add Mod4 = Super_L
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! general Lock
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers
+! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!!
+! keycode 115 = ISO_Lock NoSymbol
+! add Lock = ISO_Lock
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! main keyboard
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Tab key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Space and Return key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 65 = space space space nobreakspace KP_0 KP_0 U202F NoSymbol
+keycode 36 = Return Return Return Return KP_Enter KP_Enter Return Return
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! dead keys
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
+
+keycode 49 = dead_circumflex dead_caron U21BB U02DE dead_abovedot Pointer_EnableKeys dead_belowdot NoSymbol
+! called T1 ˆ ˇ ↻ ˞ ˙ (keypad-mouse mode) .
+keycode 21 = dead_grave dead_cedilla dead_abovering dead_dasia dead_diaeresis NoSymbol dead_macron NoSymbol
+! called T2 ` ¸ ˚ ῾ dasia (asper) ¨ ¯
+keycode 35 = dead_acute dead_tilde dead_stroke dead_psili dead_doubleacute NoSymbol dead_breve NoSymbol
+! called T3 ´ ˜ / ᾿ psili (lenis) ˝ ˘
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The first row (number Row)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
+
+keycode 10 = 1 degree onesuperior onesubscript ordfeminine NoSymbol notsign NoSymbol
+! ° ¹ ₁ ª ¬
+keycode 11 = 2 section twosuperior twosubscript masculine NoSymbol logicalor NoSymbol
+! § ² ₂ º ∨
+keycode 12 = 3 U2113 threesuperior threesubscript numerosign NoSymbol logicaland NoSymbol
+! ℓ liter ³ ₃ № ∧
+keycode 13 = 4 guillemotright U203A femalesymbol NoSymbol NoSymbol U22A5 NoSymbol
+! » › ♀ ⊥ perpendicular
+keycode 14 = 5 guillemotleft U2039 malesymbol periodcentered NoSymbol U2221 NoSymbol
+! « ‹ ♂ · ∡ angle sign
+keycode 15 = 6 dollar cent U26A5 sterling NoSymbol U2225 NoSymbol
+! $ ¢ ⚥ £ ∥ parallel
+
+keycode 16 = 7 EuroSign yen U03F0 currency NoSymbol rightarrow NoSymbol
+! € ¥ ϰ Greek_kappa ¤ →
+keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket Tab ISO_Left_Tab infinity NoSymbol
+! „ ‚ ⟨ (bra) ∞
+keycode 18 = 9 leftdoublequotemark leftsinglequotemark rightanglebracket KP_Divide KP_Divide variation NoSymbol
+! “ ‘ ⟩ (ket) / / ∝ proportional to
+keycode 19 = 0 rightdoublequotemark rightsinglequotemark zerosubscript KP_Multiply KP_Multiply emptyset NoSymbol
+! ” ’ ₀ * * ∅
+keycode 20 = minus emdash NoSymbol U2011 KP_Subtract KP_Subtract hyphen NoSymbol
+! - — ‑ non-breaking - - soft hyphen
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The upper row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
+
+keycode 24 = odiaeresis Odiaeresis ellipsis U03F5 Prior Prior intersection NoSymbol
+keycode 25 = d D underscore Greek_delta BackSpace BackSpace Greek_DELTA Greek_DELTA
+keycode 26 = h H bracketleft Greek_psi Up Up Greek_PSI Greek_PSI
+keycode 27 = k K bracketright Greek_kappa Delete Delete multiply NoSymbol
+keycode 28 = z Z asciicircum Greek_zeta Next Next U2124 NoSymbol
+
+keycode 29 = v V exclam NoSymbol exclamdown NoSymbol radical NoSymbol
+keycode 30 = udiaeresis Udiaeresis less NoSymbol KP_7 KP_7 union NoSymbol
+keycode 31 = f F greater Greek_phi KP_8 KP_8 Greek_PHI Greek_PHI
+keycode 32 = y Y equal Greek_upsilon KP_9 KP_9 nabla NoSymbol
+keycode 33 = adiaeresis Adiaeresis ampersand Greek_eta KP_Add KP_Add U2135 NoSymbol
+keycode 34 = q Q U017F U03D5 U2212 NoSymbol U211A NoSymbol
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The home row (middle row)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
+
+keycode 38 = e E backslash Greek_epsilon Home Home U2203 NoSymbol
+keycode 39 = t T slash Greek_tau Left Left partialderivative NoSymbol
+keycode 40 = i I braceleft Greek_iota Down Down integral NoSymbol
+keycode 41 = n N braceright Greek_nu Right Right U2115 NoSymbol
+keycode 42 = r R asterisk Greek_rho End End U211D NoSymbol
+
+keycode 43 = c C question Greek_chi questiondown NoSymbol U2102 NoSymbol
+keycode 44 = p P parenleft Greek_pi KP_4 KP_4 Greek_PI Greek_PI
+keycode 45 = i I parenright Greek_iota KP_5 KP_5 integral NoSymbol
+keycode 46 = a A minus Greek_alpha KP_6 KP_6 U2200 NoSymbol
+keycode 47 = j J colon Greek_theta KP_Separator comma Greek_THETA Greek_THETA
+keycode 48 = ssharp U1E9E at Greek_finalsmallsigma period KP_Decimal jot NoSymbol
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The lower row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
+
+keycode 52 = o O numbersign Greek_omicron Escape Escape elementof NoSymbol
+keycode 53 = g G dollar Greek_gamma Tab ISO_Left_Tab Greek_GAMMA Greek_GAMMA
+keycode 54 = b B bar Greek_beta Insert Insert U21D0 NoSymbol
+keycode 55 = s S asciitilde Greek_sigma Return Return Greek_SIGMA Greek_SIGMA
+keycode 56 = m M grave Greek_mu Undo Redo ifonlyif NoSymbol
+
+keycode 57 = u U plus NoSymbol colon NoSymbol includedin NoSymbol
+keycode 58 = w W percent Greek_omega KP_1 KP_1 Greek_OMEGA Greek_OMEGA
+keycode 59 = comma endash quotedbl U03F1 KP_2 KP_2 U21D2 NoSymbol
+keycode 60 = period enfilledcircbullet apostrophe U03D1 KP_3 KP_3 U21A6 NoSymbol
+keycode 61 = x X semicolon Greek_xi semicolon NoSymbol Greek_XI Greek_XI
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Keypad
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The uppest row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 Ebene4 Ebene4+Sh
+
+keycode 77 = Tab ISO_Left_Tab equal approxeq identical NoSymbol notequal Pointer_EnableKeys
+! = ≈ almost equal ≡ identical to ≠ (keypad-mouse mode)
+keysym KP_Divide = KP_Divide KP_Divide division U2300 U2223 NoSymbol U2044 NoSymbol
+! / / ÷ ⌀ diameter ∣ divides (for ⁶⁄₅₉)
+keycode 63 = KP_Multiply KP_Multiply U22C5 U2299 U2297 NoSymbol multiply NoSymbol
+! * * ⋅ dot ⊙ cirled dot ⊗ circled times × times
+keycode 82 = KP_Subtract KP_Subtract U2212 U2296 U2238 NoSymbol U2216 NoSymbol
+! - - − real minus ⊖ cirled minus ∸ dot minus ∖ set minus
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The upper row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 Ebene4 Ebene4+Sh
+
+keycode 79 = KP_7 U2714 U2195 U226A upstile NoSymbol KP_Home KP_Home
+! ✔ check mark ↕ arrow ≪ much less ⌈
+keycode 80 = KP_8 U2718 uparrow intersection U22C2 NoSymbol KP_Up KP_Up
+! ✘ ballot x ↑ ∩ ⋂ n-ary intersection
+keycode 81 = KP_9 dagger U20D7 U226B U2309 NoSymbol KP_Prior KP_Prior
+! † vector ≫ much greater ⌉
+keycode 86 = KP_Add KP_Add plusminus U2295 U2214 NoSymbol U2213 NoSymbol
+! + + ± circled plus dot plus ∓ minus-plus
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The middle row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 Ebene4 Ebene4+Sh
+
+keycode 83 = KP_4 club leftarrow includedin U2286 NoSymbol KP_Left KP_Left
+! ♣ ← ⊂ ⊆
+keycode 84 = KP_5 EuroSign colon U22B6 U22B7 NoSymbol KP_Begin KP_Begin
+! € : ⊶ original of ⊷ image of
+keycode 85 = KP_6 U2023 rightarrow includes U2287 NoSymbol KP_Right KP_Right
+! ‣ → ⊃ ⊇
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The lower row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 Ebene4 Ebene4+Sh
+
+keycode 87 = KP_1 diamond U2194 lessthanequal downstile NoSymbol KP_End KP_End
+! ♦ ↔ arrow ≤ ⌊
+keycode 88 = KP_2 heart downarrow union U22C3 NoSymbol KP_Down KP_Down
+! ♥ ↓ ∪ ⋃ n-ary union
+keycode 89 = KP_3 U2660 U21CC greaterthanequal U230B NoSymbol KP_Next KP_Next
+! ♠ ⇌ ≥ ⌋
+! keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The lowest row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 Ebene4 Ebene4+Sh
+
+keycode 90 = KP_0 U2423 percent U2030 U25A1 NoSymbol KP_Insert KP_Insert
+! ␣ space sign % ‰ per mille □ white square
+keycode 91 = KP_Separator period comma minutes seconds NoSymbol KP_Delete KP_Delete
+! , . , ′ min,feets ″ sec,inches
+
+
+add Mod3 = ISO_First_Group
+add Mod5 = ISO_Level3_Shift
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Bemerkungen
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 1.) Ebene 6 (hier: der 7. Eintrag) erreicht man über ISO_Group_Shift+ISO_Group_Shift
+! (bzw. mode_switch+mode_switch) und über keine andere mir bekannte Kombination. Insbesondere legt
+! ISO_Level3_Shift Level3 (Ebene 4, hier: Eintrag 5) fest, verschiebt also nicht. Darum kann man
+! ISO_Level3_Shift nur mit Shift sinnvoll kombinieren. Daraus resultiert, dass Ebene 6 nur über
+! Mod3+Mod4 (in dieser Reihenfolge!) erreicht werden kann.
+!
+! 2.) Die KP_-Einträge ermöglichen die Steuerung des Mauscursors mit der Tastatur.
+! Hierzu wird mittels Shift+Mod4+T1 dieser Betriebsmodus ein- und später wieder ausgeschaltet.
+! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit
+! eingerastetem Mod4) erfolgen.
M regularity2020-mine-evolution/adaptions.txt +36 -0
@@ 103,3 103,39 @@ vxüäö pf,.k
# 0.843626 asymmetrc bigrams (weighted)
# 6.654881 inconsistent symmetries of similar keys (weighted)
# Finger load %: 9.3 8.3 8.3 18.7 - 14.0 9.4 8.0 8.4
+
+# Evolved Layout
+jluaq wbdgyzß
+crieo mntsh⇘
+vxüäö pf,.k
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
+│ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ` │ ← │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
+│ ⇥ │ j │ l │ u │ a │ q │ w │ b │ d │ g │ y │ z │ ß │ Ret│
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+│ ⇩ │ c │ r │ i │ e │ o │ m │ n │ t │ s │ h │ ⇘ │ ´ │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┤
+│ ⇧ │ ⇚ │ v │ x │ ü │ ä │ ö │ p │ f │ , │ . │ k │ ⇗ │
+├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴─┬─┴──┬┴───┼────┬────┤
+│Strg│ Fe │ Alt│ Leerzeichen │ M4 │ Fe │ Me │Strg│
+└────┴────┴────┴───────────────────────┴────┴────┴────┴────┘
+# 10.72001 x100 total penalty per letter
+# 39.23238 x10 billion total penalty compared to notime-noeffort
+# 7.384786 mean key position cost in file 1gramme.txt ( 54.05266154 )
+# 12.51223 % finger repeats in file 2gramme.txt ( 60.40163007388642 )
+# 11.27228 million keystrokes disbalance of the fingers ( 22.54457922223362 )
+# 0.292919 % finger repeats top to bottom or vice versa ( 7.07020833284121 )
+# 3.433577 % of trigrams have no handswitching (after direction change counted x 1 ) ( 15.187794686758446 )
+# 7.856102 billion (rows²/dist)² to cross ( 102.12933428238193 )
+# 0.022789 hand disbalance (4% shift is too much). Left: 0.5227890716545408 %, Right: 0.47721092834545914 % ( 0.6672149659004115 )
+# 0.365973 badly positioned shortcut keys (weighted).
+# 15.43280 no handswitching after unbalancing key (weighted).
+# 31.06422 movement pattern cost (weighted).
+# 0.843105 asymmetric bigram cost (weighted).
+# 50.49074 irregularity cost (weighted).
+# 14.97846 manually assigned bigram penalty (weighted)
+# 10.44025 unbalancing key after neighboring finger (weighted)
+# 0.843105 asymmetrc bigrams (weighted)
+# 6.654881 inconsistent symmetries of similar keys (weighted)
+# Finger load %: 8.9 8.3 8.3 18.5 - 14.0 9.4 8.0 8.9
+