!! ~/.xmodmap
!! Neat Rechts
!!
!! 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 = q Q ellipsis U03D5 Prior Prior U211A NoSymbol
keycode 25 = adiaeresis Adiaeresis underscore Greek_eta BackSpace BackSpace U2135 NoSymbol
keycode 26 = odiaeresis Odiaeresis bracketleft U03F5 Up Up intersection NoSymbol
keycode 27 = udiaeresis Udiaeresis bracketright NoSymbol Delete Delete union NoSymbol
keycode 28 = b B asciicircum Greek_beta Next Next U21D0 NoSymbol
keycode 29 = z Z exclam Greek_zeta exclamdown NoSymbol U2124 NoSymbol
keycode 30 = w W less Greek_omega KP_7 KP_7 Greek_OMEGA Greek_OMEGA
keycode 31 = o O greater Greek_omicron KP_8 KP_8 elementof NoSymbol
keycode 32 = i I equal Greek_iota KP_9 KP_9 integral NoSymbol
keycode 33 = d D ampersand Greek_delta KP_Add KP_Add Greek_DELTA Greek_DELTA
keycode 34 = k K U017F Greek_kappa U2212 NoSymbol multiply NoSymbol
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The home row (middle row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7
keycode 38 = p P backslash Greek_pi Home Home Greek_PI Greek_PI
keycode 39 = j J slash Greek_theta Left Left Greek_THETA Greek_THETA
keycode 40 = m M braceleft Greek_mu Down Down ifonlyif NoSymbol
keycode 41 = u U braceright NoSymbol Right Right includedin NoSymbol
keycode 42 = r R asterisk Greek_rho End End U211D NoSymbol
keycode 43 = s S question Greek_sigma questiondown NoSymbol Greek_SIGMA Greek_SIGMA
keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115 NoSymbol
keycode 45 = e E parenright Greek_epsilon KP_5 KP_5 U2203 NoSymbol
keycode 46 = a A minus Greek_alpha KP_6 KP_6 U2200 NoSymbol
keycode 47 = t T colon Greek_tau KP_Separator comma partialderivative NoSymbol
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 = y Y numbersign Greek_upsilon Escape Escape nabla NoSymbol
keycode 53 = x X dollar Greek_xi Tab ISO_Left_Tab Greek_XI Greek_XI
keycode 54 = c C bar Greek_chi Insert Insert U2102 NoSymbol
keycode 55 = h H asciitilde Greek_psi Return Return Greek_PSI Greek_PSI
keycode 56 = v V grave NoSymbol Undo Redo radical NoSymbol
keycode 57 = f F plus Greek_phi colon NoSymbol Greek_PHI Greek_PHI
keycode 58 = l L percent Greek_lambda KP_1 KP_1 Greek_LAMBDA Greek_LAMBDA
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 = g G semicolon Greek_gamma semicolon NoSymbol Greek_GAMMA Greek_GAMMA
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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.