summaryrefslogtreecommitdiff
path: root/linux/xmodmap
diff options
context:
space:
mode:
Diffstat (limited to 'linux/xmodmap')
-rw-r--r--linux/xmodmap/neo_de_alternative.xmodmap397
-rw-r--r--linux/xmodmap/neo_de_evdev.xmodmap348
-rw-r--r--linux/xmodmap/neo_de_x-prog.xmodmap396
3 files changed, 628 insertions, 513 deletions
diff --git a/linux/xmodmap/neo_de_alternative.xmodmap b/linux/xmodmap/neo_de_alternative.xmodmap
index 42881d5..4b05425 100644
--- a/linux/xmodmap/neo_de_alternative.xmodmap
+++ b/linux/xmodmap/neo_de_alternative.xmodmap
@@ -1,4 +1,4 @@
-!! ~/.xmodmap
+!! ~/.xmodmap
!!
!! German NEO-Layout
!! adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
@@ -10,13 +10,31 @@
!! Other Questions:
!! <mailinglist at neo-layout dot org>
!!
-!! $Revision: 858 $, $Date: 2008-09-11 02:19:33 +0200 (Do, 11 Sep 2008) $
+!! $Revision: 943 $, $Date: 2008-10-07 11:39:29 +0200 (Di, 07 Okt 2008) $
!! http://pebbles.schattenlauf.de/layout.php
!!
!! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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!)
+! 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
+
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Modifier definition
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -26,22 +44,31 @@ clear Mod2
clear Mod3
clear Mod5
-! Shift 50=left 62=right
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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 (which is the 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 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
-! Mod4 94=left 113=right
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
@@ -49,167 +76,170 @@ keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
keycode 113 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
keycode 94 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
-! add Mod3 = ISO_Group_Shift
-! add Mod5 = ISO_Level3_Shift
-
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! window keys
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 115 = Super_L
! keycode 116 = Super_R
keycode 116 = Multi_key Multi_key
-
-add Mod4 = Super_L Super_R
-
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! 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!)
-! Compose (keine eigene Ebene): Mod3+Tab
-! Feststellen/Capslock: Shift+Shift
-! Mod4-Lock: Mod4(rechts)+Mod4(links)
-
+add Mod4 = Super_L
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! general Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers
-! ShiftLock und Mo5Lock funktionieren, Mod3Lock lässt sich aber nicht mehr lösen!!!!
+! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!!
! keycode 115 = ISO_Lock
! add Lock = ISO_Lock
+! add Mod3 = ISO_Group_Shift
+! add Mod5 = ISO_Level3_Shift
+
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Tab as Multi_key (Compose)
+! main keyboard
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Tab key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Space key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 65 = space space space nobreakspace 0 0 NoSymbol
+keycode 65 = space space space nobreakspace KP_0 KP_0 NoSymbol
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! dead keys
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 49 = dead_circumflex dead_caron dead_breve NoSymbol NoSymbol NoSymbol NoSymbol
+! called T1 ^ ˇ ˘
+keycode 21 = dead_acute dead_grave dead_cedilla NoSymbol dead_abovedot NoSymbol dead_abovering
+! called T2 ´ ` ¸ ˙ °
+keycode 35 = dead_tilde dead_macron dead_diaeresis NoSymbol dead_doubleacute NoSymbol NoSymbol
+! called T3 ~ ¯ " ˝
+
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The first row (number Row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
-keycode 49 = dead_circumflex dead_caron dead_breve NoSymbol NoSymbol NoSymbol NoSymbol
-! ^ ˇ ˘
-
-keycode 10 = 1 degree onesuperior U2081 enfilledcircbullet NoSymbol notsign
-! ° ¹ subscript-1 • ¬
-keycode 11 = 2 numerosign twosuperior U2082 U2023 NoSymbol logicalor
-! № ² subscript-2 ‣ ∨
-keycode 12 = 3 section threesuperior U2083 NoSymbol NoSymbol logicaland
-! § ³ subscript-3 ∧
-keycode 13 = 4 guillemotright U203A U2113 Prior Prior U22A5
-! » › ℓ liter ⊥ perpendicular
-keycode 14 = 5 guillemotleft U2039 femalesymbol NoSymbol NoSymbol U2221
-! « ‹ ♀ ∡ angle sign
-keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225
-! € ¢ ♂ £ ∥ parallel
-
-keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol notelementof
-! $ ¥ κ ¤ ∉
-keycode 17 = 8 doublelowquotemark singlelowquotemark U27E8 slash slash U2204
-! „ ‚ ⟨ (bra) / ∄ not exist
-keycode 18 = 9 leftdoublequotemark leftsinglequotemark U27E9 asterisk asterisk U2226
-! “ ‘ ⟩ (ket) * ∦ not parallel
-keycode 19 = 0 rightdoublequotemark rightsinglequotemark U2080 minus NoSymbol emptyset
-! ” ’ subscript-0 - ∅
-
-keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
-! - – — ‑ non-breaking ­
-keycode 21 = dead_acute dead_grave dead_cedilla dead_ogonek dead_abovedot NoSymbol dead_abovering
-! ´ ` ¸ ˛ ˙ °
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 10 = 1 degree onesuperior onesubscript enfilledcircbullet NoSymbol notsign
+! ° ¹ ₁ • ¬
+keycode 11 = 2 numerosign twosuperior twosubscript U2023 NoSymbol logicalor
+! № ² ₂ ‣ ∨
+keycode 12 = 3 section threesuperior threesubscript NoSymbol NoSymbol logicaland
+! § ³ ₃ ∧
+keycode 13 = 4 guillemotright U203A U2113 Prior Prior downtack
+! » › ℓ liter ⊥ perpendicular
+keycode 14 = 5 guillemotleft U2039 femalesymbol NoSymbol NoSymbol U2221
+! « ‹ ♀ ∡ angle sign
+keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225
+! € ¢ ♂ £ ∥ parallel
+
+keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol U21C8
+! $ ¥ κ ¤ ⇈
+keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket KP_Divide KP_Divide U21C5
+! „ ‚ ⟨ (bra) / / ⇅
+keycode 18 = 9 leftdoublequotemark leftsinglequotemark rightanglebracket KP_Multiply KP_Multiply containsas
+! “ ‘ ⟩ (ket) * * ∋
+keycode 19 = 0 rightdoublequotemark rightsinglequotemark zerosubscript KP_Subtract KP_Subtract emptyset
+! ” ’ ₀ - - ∅
+keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
+! - – — ‑ non-breaking ­ soft hyphen
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol U039E
-! … ξ ⋮ vert. ell Ξ Greek_XI
-keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
-! ≙
-keycode 26 = l L bracketleft Greek_lambda Up Up U039B
-! λ Λ Greek_LAMBDA
-keycode 27 = c C bracketright Greek_chi Delete Delete U2102
-! χ ℂ komplex
-keycode 28 = w W asciicircum Greek_omega Insert Insert U03A9
-! ω Ω Greek_OMEGA
-
-keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical
-! ! ϰ Greek_kappa ¡ √
-keycode 30 = h H less Greek_psi 7 7 U03A8
-! < ψ Ψ Greek_PSI
-keycode 31 = g G greater Greek_gamma 8 8 U0393
-! > γ Γ Greek_GAMMA
-keycode 32 = f F equal Greek_phi 9 9 U03A6
-! = φ Φ Greek_PHI
-keycode 33 = q Q ampersand U03D5 plus NoSymbol U211A
-! & ϕ Greek_phi + ℚ rational
-
-keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma NoSymbol NoSymbol U2218
-! ß ẞ Capital ß ſ long s ς ∘ ring operator
-
-keycode 35 = dead_tilde dead_macron dead_diaeresis NoSymbol dead_doubleacute NoSymbol U02CC
-! ~ ¯ " ˝ ,
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol U039E
+! … ξ ⋮ vert. ell Ξ Greek_XI
+keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
+! ≙
+keycode 26 = l L bracketleft Greek_lambda Up Up U039B
+! λ Λ Greek_LAMBDA
+keycode 27 = c C bracketright Greek_chi Delete Delete U2102
+! χ ℂ komplex
+keycode 28 = w W asciicircum Greek_omega Insert Insert U03A9
+! ω Ω Greek_OMEGA
+
+keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical
+! ! ϰ Greek_kappa ¡ √
+keycode 30 = h H less Greek_psi KP_7 KP_7 U03A8
+! < ψ Ψ Greek_PSI
+keycode 31 = g G greater Greek_gamma KP_8 KP_8 U0393
+! > γ Γ Greek_GAMMA
+keycode 32 = f F equal Greek_phi KP_9 KP_9 U03A6
+! = φ Φ Greek_PHI
+keycode 33 = q Q ampersand U03D5 KP_Add KP_Add U211A
+! & ϕ Greek_phi + + ℚ rational
+keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma Pointer_EnableKeys NoSymbol jot
+! ß ẞ Capital ß ſ long s ς (keypad-mouse mode) ∘ ring operator
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The home row (middle row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 38 = u U backslash NoSymbol Home Home U222E
-! \ ∮ contour integral
-keycode 39 = i I slash Greek_iota Left Left integral
-! / ι ∫
-keycode 40 = a A braceleft Greek_alpha Down Down U2200
-! { α ∀ for all
-keycode 41 = e E braceright Greek_epsilon Right Right U2203
-! } ε ∃ there exists
-keycode 42 = o O asterisk Greek_omicron End End elementof
-! * ο ∈
-
-keycode 43 = s S question Greek_sigma questiondown NoSymbol U03A3
-! ? σ ¿ Σ Greek_SIGMA
-keycode 44 = n N parenleft Greek_nu 4 4 U2115
-! ( ν ℕ natural
-keycode 45 = r R parenright U03F1 5 5 U211D
-! ) ϱ Greek_rho ℝ real
-keycode 46 = t T minus Greek_tau 6 6 partialderivative
-! - τ ∂
-keycode 47 = d D colon Greek_delta comma NoSymbol U0394
-! : δ , Δ Greek_DELTA
-keycode 48 = y Y at Greek_upsilon period NoSymbol nabla
-! @ υ . ∇
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 38 = u U backslash NoSymbol Home Home U222E
+! \ ∮ contour integral
+keycode 39 = i I slash Greek_iota Left Left integral
+! / ι ∫
+keycode 40 = a A braceleft Greek_alpha Down Down U2200
+! { α ∀ for all
+keycode 41 = e E braceright Greek_epsilon Right Right U2203
+! } ε ∃ there exists
+keycode 42 = o O asterisk Greek_omicron End End elementof
+! * ο ∈
+
+keycode 43 = s S question Greek_sigma questiondown NoSymbol U03A3
+! ? σ ¿ Σ Greek_SIGMA
+keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115
+! ( ν ℕ natural
+keycode 45 = r R parenright U03F1 KP_5 KP_5 U211D
+! ) ϱ Greek_rho ℝ real
+keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative
+! - τ ∂
+keycode 47 = d D colon Greek_delta comma NoSymbol U0394
+! : δ , Δ Greek_DELTA
+keycode 48 = y Y at Greek_upsilon period NoSymbol nabla
+! @ υ . ∇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape variation
-! ü Ü # ∝ proportional to
-keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab Tab U2111
-! ö Ö $ ℑ imaginary part
-keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U211C
-! ä Ä | η ℜ real part
-keycode 55 = p P asciitilde Greek_pi Return Return U03A0
-! ~ π Π Greek_PI
-keycode 56 = z Z grave Greek_zeta Undo Redo U2124
-! ` ζ ℤ integers
-
-keycode 57 = b B plus Greek_beta colon NoSymbol U21D0
-! + β : ⇐
-keycode 58 = m M percent Greek_mu 1 1 ifonlyif
-! % μ ⇔
-keycode 59 = comma NoSymbol quotedbl Greek_rho 2 2 U21D2
-! , . " ρ ⇒ implies
-keycode 60 = period NoSymbol apostrophe U03D1 3 3 U0398
-! . ' ϑ Greek_theta Θ Greek_THETA
-keycode 61 = j J semicolon Greek_theta semicolon NoSymbol identical
-! ; θ ; ≡
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape U211C
+! ü Ü # ℜ real part
+keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab ISO_Left_Tab U2111
+! ö Ö $ ℑ imaginary part
+keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U2135
+! ä Ä | η ℵ alef symbol
+keycode 55 = p P asciitilde Greek_pi Return Return U03A0
+! ~ π Π Greek_PI
+keycode 56 = z Z grave Greek_zeta Undo Redo U2124
+! ` ζ ℤ integers
+
+keycode 57 = b B plus Greek_beta colon NoSymbol U21D0
+! + β : ⇐
+keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif
+! % μ ⇔
+keycode 59 = comma NoSymbol quotedbl Greek_rho KP_2 KP_2 U21D2
+! , . " ρ ⇒ implies
+keycode 60 = period NoSymbol apostrophe U03D1 KP_3 KP_3 U0398
+! . ' ϑ Greek_theta Θ Greek_THETA
+keycode 61 = j J semicolon Greek_theta semicolon NoSymbol variation
+! ; θ ; ∝ proportional to
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -218,96 +248,81 @@ keycode 61 = j J semicolon Greek_theta semicolon NoSymbol
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The uppest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
-keycode 77 = equal notequal U2248 Pointer_EnableKeys NoSymbol NoSymbol NoSymbol
-! = ≠ ≈ almost equal (keypad-mouse mode)
-keycode 112 = KP_Divide KP_Divide division U2044 NoSymbol NoSymbol NoSymbol
-! / / ÷ (für ⁶⁄₅₉)
-keycode 63 = KP_Multiply KP_Multiply U22C5 multiply NoSymbol NoSymbol NoSymbol
-! * * ⋅ ×
-keycode 82 = KP_Subtract KP_Subtract minus U2212 NoSymbol NoSymbol NoSymbol
-! - - - − real minus
+keycode 77 = Tab ISO_Left_Tab equal approxeq identical
+! = ≈ almost equal ≡ identical to
+keycode 112 = KP_Divide KP_Divide division U2223 U2044
+! / / ÷ ∣ divides (for ⁶⁄₅₉)
+keycode 63 = KP_Multiply KP_Multiply U22C5 multiply U2297
+! * * ⋅ dot × times ⊗ circled times
+keycode 82 = KP_Subtract KP_Subtract U2212 U2216 U2238
+! - - − real minus ∖ set minus ∸ dot minus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 79 = KP_7 KP_Home U2195 dagger NoSymbol NoSymbol NoSymbol
-! ↕ arrow †
-keycode 80 = KP_8 KP_Up uparrow intersection NoSymbol NoSymbol NoSymbol
-! ↑ ∩
-keycode 81 = KP_9 KP_Prior containsas U2297 NoSymbol NoSymbol NoSymbol
-! ∋ ⊗
-keycode 86 = KP_Add KP_Add plusminus U2213 NoSymbol NoSymbol NoSymbol
-! + +2 ± ∓ minus-plus
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 79 = KP_7 U2714 U2195 downstile upstile
+! ✔ check mark ↕ arrow ⌊ ⌈
+keycode 80 = KP_8 U2718 uparrow intersection U22C2
+! ✘ ballot x ↑ ∩ ⋂ n-ary intersection
+keycode 81 = KP_9 dagger U20D7 U230B U2309
+! † vector ⌋ ⌉
+keycode 86 = KP_Add KP_Add plusminus U2213 U2214
+! + + ± ∓ minus-plus dot plus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The middle row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 83 = KP_4 KP_Left leftarrow includedin NoSymbol NoSymbol NoSymbol
-! ← ⊂
-keycode 84 = KP_5 KP_Begin infinity EuroSign NoSymbol NoSymbol NoSymbol
-! ∞ €
-keycode 85 = KP_6 KP_Right rightarrow includes NoSymbol NoSymbol NoSymbol
-! → ⊃
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 83 = KP_4 club leftarrow includedin U2286
+! ♣ ← ⊂ ⊆
+keycode 84 = KP_5 EuroSign infinity U22B6 U22B7
+! € ∞ ⊶ original of ⊷ image of
+keycode 85 = KP_6 brokenbar rightarrow includes U2287
+! ¦ broken bar → ⊃ ⊇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 87 = KP_1 KP_End U2194 U2714 NoSymbol NoSymbol NoSymbol
-! ↔ arrow ✔ check mark
-keycode 88 = KP_2 KP_Down downarrow union NoSymbol NoSymbol NoSymbol
-! ↓ ∪
-keycode 89 = KP_3 KP_Next U21CC U2717 NoSymbol NoSymbol NoSymbol
-! ⇌ arro ✗ battol X
-keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter NoSymbol NoSymbol NoSymbol
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 87 = KP_1 diamond U2194 U226A lessthanequal
+! ♦ ↔ arrow ≪ much less ≤
+keycode 88 = KP_2 heart downarrow union U22C3
+! ♥ ↓ ∪ ⋃ n-ary union
+keycode 89 = KP_3 U2660 U21CC U226B greaterthanequal
+! ♠ ⇌ arro ≫ much greater ≥
+keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lowest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 90 = KP_0 KP_Insert percent U2030 NoSymbol NoSymbol NoSymbol
-! % ‰ per mille
-keycode 91 = comma KP_Delete period KP_Separator NoSymbol NoSymbol NoSymbol
-! , . ,/.
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+keycode 90 = KP_0 U2423 percent U2030 U25A1
+! ␣ space sign % ‰ per mille □ white square
+keycode 91 = comma period KP_Separator minutes seconds
+! , . ,/. ′ min,feets ″ sec,inches
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Anpassungen (mögliche Verbesserungen)
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Es gibt naheliegende Möglichkeiten, NEO anzupassen und damit zu verbessern.
-! Da sie jedoch nicht zwingend notwendige Redundanzen erzeugen und sich nicht in die
-! thematischen Ordnung der Ebenen eingliedern, sind folgende Anpassungen nicht in der offiziellen
-! Version von NEO berücksichtigt und müssen bewusst ermöglicht werden, indem das Ausrufezeichen zu
-! Beginn der folgenden keycode-Zeile entfernt wird.
-!
-! Zusätzliches @-Zeichen auf Mod4+x (gleicher Handgriff wie AltGr+q auf QWERTZ)
-! Dies ist insbesondere auf ergonomischen Tastaturen mit größerer Mod4 auf der linken Seite sinnvoll
-! keycode 24 = x X at Greek_xi at at U039E
-
-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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
+! (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 Mod4+z dieser Betriebsmodus ein- und später wieder ausgeschaltet.
-! Die Steuerung des Cursors kann über den Ziffernblock auf Ebene 4 (sinnvollerweise
-! mit eingerastetem Mod4) erfolgen.
-!
-! 3.) Die KP_-Einträge auf der linken Seite der Ebene 4 müssen vorhanden sein, da anderenfalls Probleme
-! mit (älteren) Programmen wie xterm oder xedit auftreten. Da es keinen mir bekannten Ersatz für
-! Backspace gibt, funktioniert im xterm das v nicht. Wird dies benötigt, muss das Backspace (Mod4+v)
-! entfernt (und z.B. durch v ersetzt) werden.
-!
-! 4.) Auf 0 und q (Ebene 4) muss minus und plus stehen (nicht KP_Substract und KP_Add)!
-! Anderenfalls funktionieren diese Tasten unter xterm mit shift+q als Vergrößerung (Shift+KP_Add)
-! und shift+0 als Verkleinerung (Shift+KP_Substract).
+! Hierzu wird mittels Mod4+ß dieser Betriebsmodus ein- und später wieder ausgeschaltet.
+! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit
+! eingerastetem Mod4) erfolgen.
diff --git a/linux/xmodmap/neo_de_evdev.xmodmap b/linux/xmodmap/neo_de_evdev.xmodmap
index f91f941..b14b024 100644
--- a/linux/xmodmap/neo_de_evdev.xmodmap
+++ b/linux/xmodmap/neo_de_evdev.xmodmap
@@ -1,4 +1,4 @@
-!! ~/.xmodmap
+!! ~/.xmodmap
!!
!! German NEO-Layout
!! adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
@@ -10,149 +10,236 @@
!! Other Questions:
!! <mailinglist at neo-layout dot org>
!!
-!! $Revision: 497 $, $Date: 2008-05-05 15:22:14 +0200 (Mo, 05 Mai 2008) $
+!! $Revision: 943 $, $Date: 2008-10-07 11:39:29 +0200 (Di, 07 Okt 2008) $
!! http://pebbles.schattenlauf.de/layout.php
!!
!! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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!)
+! 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
+
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Modifier definition
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-remove Lock = Caps_Lock
-remove Mod3 = ISO_Level3_Shift
+clear Lock
+clear Mod2
+! Mod2 war NumLock !
clear Mod3
-clear Mod4
+clear Mod5
-! Shift 50=left 62=right
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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. Der funktioniert aber über Shift+Shift.
+! 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
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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 (which is the 3rd and 4th level)
+! Make former CapsLock and qwertz-# to Mode_switch or ISO_Group_Shift
! Mod3(links) (=Qwertz-Caps) erlaubt nur 4 Ebenen
-! ISO_Lock funktioniert nicht! Weder das Einrasten, noch das Lösen
! 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 51 = ISO_Group_Shift ISO_Group_Shift ISO_Lock
-keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_Lock
+keycode 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
+keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
-! Mod4 94=left 113=right
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Mod4
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 94=left 108=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.
keycode 108 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
keycode 94 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
-!add Mod3 = ISO_Group_Shift
-!add Mod4 = ISO_Level3_Shift
-
-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Ebenen
+! window keys
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! 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!)
-! Compose (keine eigene Ebene): Mod3+Tab
-! Feststellen/Capslock: Shift+Shift
+keycode 115 = Super_L
+! keycode 116 = Super_R
+keycode 116 = Multi_key Multi_key
+add Mod4 = Super_L
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! general Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers
-! ShiftLock und Mo5Lock funktionieren, Mod3Lock lässt sich aber nicht mehr lösen!!!!
+! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!!
! keycode 115 = ISO_Lock
+! add Lock = ISO_Lock
+
+
+! add Mod3 = ISO_Group_Shift
+! add Mod5 = ISO_Level3_Shift
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Tab as Multi_key (Compose)
+! main keyboard
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 23 = Tab ISO_Left_Tab Multi_key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Tab key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Space key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 65 = space space space nobreakspace KP_0 NoSymbol U202F
-
+keycode 65 = space space space nobreakspace KP_0 KP_0 U202F
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! The first row (number Row)
+! dead keys
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
-keycode 49 = dead_circumflex dead_caron dead_breve dead_stroke dead_belowdot NoSymbol dead_belowdot
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
-keycode 10 = 1 degree onesuperior femalesymbol enfilledcircbullet NoSymbol notsign
-keycode 11 = 2 numerosign twosuperior U26A5 U2023 NoSymbol logicalor
-keycode 12 = 3 section threesuperior malesymbol NoSymbol NoSymbol logicaland
-keycode 13 = 4 guillemotright U203A U2113 KP_Prior KP_Prior uptack
-keycode 14 = 5 guillemotleft U2039 dagger NoSymbol NoSymbol U2221
-keycode 15 = 6 EuroSign cent NoSymbol sterling NoSymbol U2225
+keycode 49 = dead_circumflex dead_caron dead_breve NoSymbol NoSymbol NoSymbol NoSymbol
+! called T1 ^ ˇ ˘
+keycode 21 = dead_acute dead_grave dead_cedilla NoSymbol dead_abovedot NoSymbol dead_abovering
+! called T2 ´ ` ¸ ˙ °
+keycode 35 = dead_tilde dead_macron dead_diaeresis dead_stroke dead_doubleacute NoSymbol NoSymbol
+! called T3 ~ ¯ " / ˝
-keycode 16 = 7 dollar yen U03F0 currency NoSymbol notelementof
-keycode 17 = 8 doublelowquotemark singlelowquotemark NoSymbol KP_Divide NoSymbol U2204
-keycode 18 = 9 leftdoublequotemark leftsinglequotemark NoSymbol KP_Multiply NoSymbol U2226
-keycode 19 = 0 rightdoublequotemark rightsinglequotemark NoSymbol minus NoSymbol emptyset
-keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
-keycode 21 = dead_acute dead_grave dead_cedilla dead_ogonek dead_abovedot NoSymbol dead_abovering
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! The upper row
+! The first row (number Row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 24 = x X NoSymbol Greek_xi NoSymbol NoSymbol Greek_XI
-keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
-keycode 26 = l L bracketleft Greek_lambda KP_Up KP_Up Greek_LAMBDA
-keycode 27 = c C bracketright Greek_chi KP_Delete KP_Delete U2102
-keycode 28 = w W asciicircum Greek_omega KP_Insert KP_Insert Greek_OMEGA
-
-keycode 29 = k K exclam Greek_kappa exclamdown NoSymbol radical
-keycode 30 = h H less Greek_psi KP_7 NoSymbol Greek_PSI
-keycode 31 = g G greater Greek_gamma KP_8 NoSymbol Greek_GAMMA
-keycode 32 = f F equal U03D5 KP_9 NoSymbol Greek_PHI
-keycode 33 = q Q ampersand Greek_phi plus NoSymbol U211A
-keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma NoSymbol NoSymbol jot
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 10 = 1 degree onesuperior onesubscript enfilledcircbullet NoSymbol notsign
+! ° ¹ ₁ • ¬
+keycode 11 = 2 numerosign twosuperior twosubscript U2023 NoSymbol logicalor
+! № ² ₂ ‣ ∨
+keycode 12 = 3 section threesuperior threesubscript NoSymbol NoSymbol logicaland
+! § ³ ₃ ∧
+keycode 13 = 4 guillemotright U203A U2113 Prior Prior downtack
+! » › ℓ liter ⊥ perpendicular
+keycode 14 = 5 guillemotleft U2039 femalesymbol NoSymbol NoSymbol U2221
+! « ‹ ♀ ∡ angle sign
+keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225
+! € ¢ ♂ £ ∥ parallel
+
+keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol U21C8
+! $ ¥ κ ¤ ⇈
+keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket KP_Divide KP_Divide U21C5
+! „ ‚ ⟨ (bra) / / ⇅
+keycode 18 = 9 leftdoublequotemark leftsinglequotemark rightanglebracket KP_Multiply KP_Multiply containsas
+! “ ‘ ⟩ (ket) * * ∋
+keycode 19 = 0 rightdoublequotemark rightsinglequotemark zerosubscript KP_Subtract KP_Subtract emptyset
+! ” ’ ₀ - - ∅
+keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
+! - – — ‑ non-breaking ­ soft hyphen
-keycode 35 = dead_tilde dead_macron dead_diaeresis dead_doubleacute
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The upper row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol U039E
+! … ξ ⋮ vert. ell Ξ Greek_XI
+keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
+! ≙
+keycode 26 = l L bracketleft Greek_lambda Up Up U039B
+! λ Λ Greek_LAMBDA
+keycode 27 = c C bracketright Greek_chi Delete Delete U2102
+! χ ℂ komplex
+keycode 28 = w W asciicircum Greek_omega Insert Insert U03A9
+! ω Ω Greek_OMEGA
+
+keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical
+! ! ϰ Greek_kappa ¡ √
+keycode 30 = h H less Greek_psi KP_7 KP_7 U03A8
+! < ψ Ψ Greek_PSI
+keycode 31 = g G greater Greek_gamma KP_8 KP_8 U0393
+! > γ Γ Greek_GAMMA
+keycode 32 = f F equal Greek_phi KP_9 KP_9 U03A6
+! = φ Φ Greek_PHI
+keycode 33 = q Q ampersand U03D5 KP_Add KP_Add U211A
+! & ϕ Greek_phi + + ℚ rational
+keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma Pointer_EnableKeys NoSymbol jot
+! ß ẞ Capital ß ſ long s ς (keypad-mouse mode) ∘ ring operator
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The home row (middle row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 38 = u U backslash NoSymbol KP_Home KP_Home U222E
-keycode 39 = i I slash Greek_iota KP_Left KP_Left integral
-keycode 40 = a A braceleft Greek_alpha KP_Down KP_Down U2200
-keycode 41 = e E braceright Greek_epsilon KP_Right KP_Right U2203
-keycode 42 = o O asterisk Greek_omicron KP_End KP_End elementof
-
-keycode 43 = s S question Greek_sigma questiondown NoSymbol Greek_SIGMA
-keycode 44 = n N parenleft Greek_nu KP_4 NoSymbol U2115
-keycode 45 = r R parenright Greek_rho KP_5 NoSymbol U211D
-keycode 46 = t T minus Greek_tau KP_6 NoSymbol partialderivative
-keycode 47 = d D colon Greek_delta NoSymbol NoSymbol Greek_DELTA
-keycode 48 = y Y at Greek_upsilon NoSymbol NoSymbol nabla
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 38 = u U backslash NoSymbol Home Home U222E
+! \ ∮ contour integral
+keycode 39 = i I slash Greek_iota Left Left integral
+! / ι ∫
+keycode 40 = a A braceleft Greek_alpha Down Down U2200
+! { α ∀ for all
+keycode 41 = e E braceright Greek_epsilon Right Right U2203
+! } ε ∃ there exists
+keycode 42 = o O asterisk Greek_omicron End End elementof
+! * ο ∈
+
+keycode 43 = s S question Greek_sigma questiondown NoSymbol U03A3
+! ? σ ¿ Σ Greek_SIGMA
+keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115
+! ( ν ℕ natural
+keycode 45 = r R parenright U03F1 KP_5 KP_5 U211D
+! ) ϱ Greek_rho ℝ real
+keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative
+! - τ ∂
+keycode 47 = d D colon Greek_delta comma NoSymbol U0394
+! : δ , Δ Greek_DELTA
+keycode 48 = y Y at Greek_upsilon period NoSymbol nabla
+! @ υ . ∇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape variation
-keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab Tab U2111
-keycode 54 = adiaeresis Adiaeresis bar Greek_eta KP_Next KP_Next U211C
-keycode 55 = p P asciitilde Greek_pi KP_Enter KP_Enter Greek_PI
-keycode 56 = z Z grave Greek_zeta NoSymbol NoSymbol U2124
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape U211C
+! ü Ü # ℜ real part
+keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab ISO_Left_Tab U2111
+! ö Ö $ ℑ imaginary part
+keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U2135
+! ä Ä | η ℵ alef symbol
+keycode 55 = p P asciitilde Greek_pi Return Return U03A0
+! ~ π Π Greek_PI
+keycode 56 = z Z grave Greek_zeta Undo Redo U2124
+! ` ζ ℤ integers
+
+keycode 57 = b B plus Greek_beta colon NoSymbol U21D0
+! + β : ⇐
+keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif
+! % μ ⇔
+keycode 59 = comma NoSymbol quotedbl Greek_rho KP_2 KP_2 U21D2
+! , . " ρ ⇒ implies
+keycode 60 = period NoSymbol apostrophe U03D1 KP_3 KP_3 U0398
+! . ' ϑ Greek_theta Θ Greek_THETA
+keycode 61 = j J semicolon Greek_theta semicolon NoSymbol variation
+! ; θ ; ∝ proportional to
-keycode 57 = b B plus Greek_beta KP_Decimal NoSymbol implies
-keycode 58 = m M percent Greek_mu KP_1 NoSymbol ifonlyif
-keycode 59 = comma U22EE quotedbl U03F1 KP_2 NoSymbol U21D0
-keycode 60 = period ellipsis apostrophe Greek_theta KP_3 NoSymbol Greek_THETA
-keycode 61 = j J semicolon U03D1 NoSymbol NoSymbol identical
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -161,82 +248,81 @@ keycode 61 = j J semicolon U03D1 NoSymbol NoSymbol iden
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The uppest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
-!keycode 77 = Num_Lock Pointer_EnableKeys
-keycode 106 = KP_Divide KP_Divide division U2215
-keycode 63 = KP_Multiply KP_Multiply multiply U2219
-keycode 82 = KP_Subtract KP_Subtract U2212 NoSymbol
+keycode 77 = Tab ISO_Left_Tab equal approxeq identical
+! = ≈ almost equal ≡ identical to
+keycode 106 = KP_Divide KP_Divide division U2223 U2044
+! / / ÷ ∣ divides (for ⁶⁄₅₉)
+keycode 63 = KP_Multiply KP_Multiply U22C5 multiply U2297
+! * * ⋅ dot × times ⊗ circled times
+keycode 82 = KP_Subtract KP_Subtract U2212 U2216 U2238
+! - - − real minus ∖ set minus ∸ dot minus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 79 = KP_Home KP_7 U2195 U226A
-keycode 80 = KP_Up KP_8 uparrow intersection
-keycode 81 = KP_Prior KP_9 U2297 U226B
-keycode 86 = KP_Add KP_Add plusminus U2213
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 79 = KP_7 U2714 U2195 downstile upstile
+! ✔ check mark ↕ arrow ⌊ ⌈
+keycode 80 = KP_8 U2718 uparrow intersection U22C2
+! ✘ ballot x ↑ ∩ ⋂ n-ary intersection
+keycode 81 = KP_9 dagger U20D7 U230B U2309
+! † vector ⌋ ⌉
+keycode 86 = KP_Add KP_Add plusminus U2213 U2214
+! + + ± ∓ minus-plus dot plus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The middle row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 83 = KP_Left KP_4 leftarrow includedin
-keycode 84 = EuroSign KP_5 infinity containsas
-keycode 85 = KP_Right KP_6 rightarrow includes
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 83 = KP_4 club leftarrow includedin U2286
+! ♣ ← ⊂ ⊆
+keycode 84 = KP_5 EuroSign infinity U22B6 U22B7
+! € ∞ ⊶ original of ⊷ image of
+keycode 85 = KP_6 brokenbar rightarrow includes U2287
+! ¦ broken bar → ⊃ ⊇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 87 = KP_End KP_1 U2194 lessthanequal
-keycode 88 = KP_Down KP_2 downarrow union
-keycode 89 = KP_Next KP_3 U21CC greaterthanequal
-keycode 104 = KP_Enter KP_Enter notequal U2248
-!keysym <KPEQ> KP_Equal
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 87 = KP_1 diamond U2194 U226A lessthanequal
+! ♦ ↔ arrow ≪ much less ≤
+keycode 88 = KP_2 heart downarrow union U22C3
+! ♥ ↓ ∪ ⋃ n-ary union
+keycode 89 = KP_3 U2660 U21CC U226B greaterthanequal
+! ♠ ⇌ arro ≫ much greater ≥
+keycode 104 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+!
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lowest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 90 = KP_Insert KP_0 percent U2030
-keycode 91 = KP_Delete KP_Decimal period comma
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+keycode 90 = KP_0 U2423 percent U2030 U25A1
+! ␣ space sign % ‰ per mille □ white square
+keycode 91 = comma period KP_Separator minutes seconds
+! , . ,/. ′ min,feets ″ sec,inches
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Anpassungen (mögliche Verbesserungen)
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Es gibt naheliegende Möglichkeiten, NEO anzupassen und damit zu verbessern.
-! Da sie jedoch nicht zwingend notwendige Redundanzen erzeugen und sich nicht in die
-! thematischen Ordnung der Ebenen eingliedern, sind folgende Anpassungen nicht in der offiziellen
-! Version von NEO berücksichtigt und müssen bewusst ermöglicht werden, indem das Ausrufezeichen zu
-! Beginn der folgenden keycode-Zeile entfernt wird.
-!
-! Zusätzliches @-Zeichen auf Mod4+x (gleicher Handgriff wie AltGr+q auf QWERTZ)
-! Dies ist insbesondere auf ergonomischen Tastaturen mit größerer Mod4 auf der linken Seite sinnvoll
-! keycode 24 = x X at Greek_xi at at Greek_XI
-!
-! Zusätzliches Gänsefüßchen unten („) neben dem Doppelpunkt
-! Dies ist für Wörtliche Rede sinnvoll, um bei :„ oder : „ den Modifer Mod3 liegen lassen zu können
-! keycode 48 = y Y doublelowquotemark Greek_upsilon y y nabla
-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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
+! (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 auf Ebene 4 ermöglichen die Steuerung des Mauscursors mit der Tastatur.
-! Hierzu wird mittels Shift+Num dieser Betriebsmodus ein- und später wieder ausgeschaltet.
-! Die Steuerung des Cursors kann über den echten Ziffernblock oder den auf Ebene 4 (sinnvollerweise
-! mit eingerastetem Mod4) erfolgen.
-!
-! 3.) Die KP_-Einträge auf der linken Seite der Ebene 4 müssen vorhanden sein, da anderenfalls Probleme
-! mit (älteren) Programmen wie xterm oder xedit auftreten. Da es keinen mir bekannten Ersatz für
-! Backspace gibt, funktioniert im xterm das v nicht. Wird dies benötigt, muss das Backspace (Mod4+v)
-! entfernt (und z.B. durch v ersetzt) werden.
-!
-! 4.) Auf 0 und q (Ebene 4) muss minus und plus stehen (nicht KP_Substract und KP_Add)!
-! Anderenfalls funktionieren diese Tasten unter xterm mit shift+q als Vergrößerung (Shift+KP_Add)
-! und shift+0 als Verkleinerung (Shift+KP_Substract).
+! 2.) Die KP_-Einträge ermöglichen die Steuerung des Mauscursors mit der Tastatur.
+! Hierzu wird mittels Mod4+ß dieser Betriebsmodus ein- und später wieder ausgeschaltet.
+! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit
+! eingerastetem Mod4) erfolgen.
diff --git a/linux/xmodmap/neo_de_x-prog.xmodmap b/linux/xmodmap/neo_de_x-prog.xmodmap
index 67f64f9..9c5792a 100644
--- a/linux/xmodmap/neo_de_x-prog.xmodmap
+++ b/linux/xmodmap/neo_de_x-prog.xmodmap
@@ -1,4 +1,4 @@
-!! ~/.xmodmap
+!! ~/.xmodmap
!!
!! German NEO-Layout
!! adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
@@ -10,13 +10,31 @@
!! Other Questions:
!! <mailinglist at neo-layout dot org>
!!
-!! $Revision: 858 $, $Date: 2008-09-11 02:19:33 +0200 (Do, 11 Sep 2008) $
+!! $Revision: 943 $, $Date: 2008-10-07 11:39:29 +0200 (Di, 07 Okt 2008) $
!! http://pebbles.schattenlauf.de/layout.php
!!
!! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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!)
+! 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
+
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Modifier definition
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -26,22 +44,31 @@ clear Mod2
clear Mod3
clear Mod5
-! Shift 50=left 62=right
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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 (which is the 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 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
-! Mod4 94=left 113=right
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
@@ -49,168 +76,170 @@ keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
keycode 113 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
keycode 94 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
-! add Mod3 = ISO_Group_Shift
-! add Mod5 = ISO_Level3_Shift
-
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! window keys
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 115 = Super_L
! keycode 116 = Super_R
keycode 116 = Multi_key Multi_key
-
-add Mod4 = Super_L Super_R
-
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! 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!)
-! Compose (keine eigene Ebene): Mod3+Tab
-! Feststellen/Capslock: Shift+Shift
-! Mod4-Lock: Mod4(rechts)+Mod4(links)
-
+add Mod4 = Super_L
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! general Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers
-! ShiftLock und Mo5Lock funktionieren, Mod3Lock lässt sich aber nicht mehr lösen!!!!
+! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!!
! keycode 115 = ISO_Lock
! add Lock = ISO_Lock
+! add Mod3 = ISO_Group_Shift
+! add Mod5 = ISO_Level3_Shift
+
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Tab as Multi_key (Compose)
+! main keyboard
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Tab key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Space key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 65 = space space space nobreakspace 0 0 U202F
+keycode 65 = space space space nobreakspace KP_0 KP_0 U202F
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! dead keys
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 49 = dead_circumflex dead_caron dead_breve NoSymbol NoSymbol NoSymbol NoSymbol
+! called T1 ^ ˇ ˘
+keycode 21 = dead_acute dead_grave dead_cedilla NoSymbol dead_abovedot NoSymbol dead_abovering
+! called T2 ´ ` ¸ ˙ °
+keycode 35 = dead_tilde dead_macron dead_diaeresis dead_stroke dead_doubleacute NoSymbol NoSymbol
+! called T3 ~ ¯ " / ˝
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The first row (number Row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
-keycode 49 = dead_circumflex dead_caron dead_breve NoSymbol NoSymbol NoSymbol NoSymbol
-! ^ ˇ ˘
-
-keycode 10 = 1 degree onesuperior U2081 enfilledcircbullet NoSymbol notsign
-! ° ¹ subscript-1 • ¬
-keycode 11 = 2 numerosign twosuperior U2082 U2023 NoSymbol logicalor
-! № ² subscript-2 ‣ ∨
-keycode 12 = 3 section threesuperior U2083 NoSymbol NoSymbol logicaland
-! § ³ subscript-3 ∧
-keycode 13 = 4 guillemotright U203A U2113 Prior Prior U22A5
-! » › ℓ liter ⊥ perpendicular
-keycode 14 = 5 guillemotleft U2039 femalesymbol NoSymbol NoSymbol U2221
-! « ‹ ♀ ∡ angle sign
-keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225
-! € ¢ ♂ £ ∥ parallel
-
-keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol notelementof
-! $ ¥ κ ¤ ∉
-keycode 17 = 8 doublelowquotemark singlelowquotemark U27E8 slash slash U2204
-! „ ‚ ⟨ (bra) / ∄ not exist
-keycode 18 = 9 leftdoublequotemark leftsinglequotemark U27E9 asterisk asterisk U2226
-! “ ‘ ⟩ (ket) * ∦ not parallel
-keycode 19 = 0 rightdoublequotemark rightsinglequotemark U2080 minus NoSymbol emptyset
-! ” ’ subscript-0 - ∅
-
-keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
-! - – — ‑ non-breaking ­
-keycode 21 = dead_acute dead_grave dead_cedilla dead_ogonek dead_abovedot NoSymbol dead_abovering
-! ´ ` ¸ ˛ ˙ °
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 10 = 1 degree onesuperior onesubscript enfilledcircbullet NoSymbol notsign
+! ° ¹ ₁ • ¬
+keycode 11 = 2 numerosign twosuperior twosubscript U2023 NoSymbol logicalor
+! № ² ₂ ‣ ∨
+keycode 12 = 3 section threesuperior threesubscript NoSymbol NoSymbol logicaland
+! § ³ ₃ ∧
+keycode 13 = 4 guillemotright U203A U2113 Prior Prior downtack
+! » › ℓ liter ⊥ perpendicular
+keycode 14 = 5 guillemotleft U2039 femalesymbol NoSymbol NoSymbol U2221
+! « ‹ ♀ ∡ angle sign
+keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225
+! € ¢ ♂ £ ∥ parallel
+
+keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol U21C8
+! $ ¥ κ ¤ ⇈
+keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket KP_Divide KP_Divide U21C5
+! „ ‚ ⟨ (bra) / / ⇅
+keycode 18 = 9 leftdoublequotemark leftsinglequotemark rightanglebracket KP_Multiply KP_Multiply containsas
+! “ ‘ ⟩ (ket) * * ∋
+keycode 19 = 0 rightdoublequotemark rightsinglequotemark zerosubscript KP_Subtract KP_Subtract emptyset
+! ” ’ ₀ - - ∅
+keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
+! - – — ‑ non-breaking ­ soft hyphen
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol U039E
-! … ξ ⋮ vert. ell Ξ Greek_XI
-keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
-! ≙
-keycode 26 = l L bracketleft Greek_lambda KP_Up KP_Up U039B
-! λ Λ Greek_LAMBDA
-keycode 27 = c C bracketright Greek_chi KP_Delete KP_Delete U2102
-! χ ℂ komplex
-keycode 28 = w W asciicircum Greek_omega KP_Insert KP_Insert U03A9
-! ω Ω Greek_OMEGA
-
-keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical
-! ! ϰ Greek_kappa ¡ √
-keycode 30 = h H less Greek_psi 7 7 U03A8
-! < ψ Ψ Greek_PSI
-keycode 31 = g G greater Greek_gamma 8 8 U0393
-! > γ Γ Greek_GAMMA
-keycode 32 = f F equal Greek_phi 9 9 U03A6
-! = φ Φ Greek_PHI
-keycode 33 = q Q ampersand U03D5 plus NoSymbol U211A
-! & ϕ Greek_phi + ℚ rational
-
-keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma NoSymbol NoSymbol U2218
-! ß ẞ Capital ß ſ long s ς ∘ ring operator
-
-keycode 35 = dead_tilde dead_macron dead_diaeresis dead_stroke dead_doubleacute NoSymbol U02CC
-! ~ ¯ " / ˝ ,
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol U039E
+! … ξ ⋮ vert. ell Ξ Greek_XI
+keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
+! ≙
+keycode 26 = l L bracketleft Greek_lambda KP_Up KP_Up U039B
+! λ Λ Greek_LAMBDA
+keycode 27 = c C bracketright Greek_chi KP_Delete KP_Delete U2102
+! χ ℂ komplex
+keycode 28 = w W asciicircum Greek_omega KP_Insert KP_Insert U03A9
+! ω Ω Greek_OMEGA
+
+keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical
+! ! ϰ Greek_kappa ¡ √
+keycode 30 = h H less Greek_psi KP_7 KP_7 U03A8
+! < ψ Ψ Greek_PSI
+keycode 31 = g G greater Greek_gamma KP_8 KP_8 U0393
+! > γ Γ Greek_GAMMA
+keycode 32 = f F equal Greek_phi KP_9 KP_9 U03A6
+! = φ Φ Greek_PHI
+keycode 33 = q Q ampersand U03D5 KP_Add KP_Add U211A
+! & ϕ Greek_phi + + ℚ rational
+keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma Pointer_EnableKeys NoSymbol jot
+! ß ẞ Capital ß ſ long s ς (keypad-mouse mode) ∘ ring operator
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The home row (middle row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 38 = u U backslash NoSymbol KP_Home KP_Home U222E
-! \ ∮ contour integral
-keycode 39 = i I slash Greek_iota KP_Left KP_Left integral
-! / ι ∫
-keycode 40 = a A braceleft Greek_alpha KP_Down KP_Down U2200
-! { α ∀ for all
-keycode 41 = e E braceright Greek_epsilon KP_Right KP_Right U2203
-! } ε ∃ there exists
-keycode 42 = o O asterisk Greek_omicron KP_End KP_End elementof
-! * ο ∈
-
-keycode 43 = s S question Greek_sigma questiondown NoSymbol U03A3
-! ? σ ¿ Σ Greek_SIGMA
-keycode 44 = n N parenleft Greek_nu 4 4 U2115
-! ( ν ℕ natural
-keycode 45 = r R parenright U03F1 5 5 U211D
-! ) ϱ Greek_rho ℝ real
-keycode 46 = t T minus Greek_tau 6 6 partialderivative
-! - τ ∂
-keycode 47 = d D colon Greek_delta comma NoSymbol U0394
-! : δ , Δ Greek_DELTA
-keycode 48 = y Y at Greek_upsilon period NoSymbol nabla
-! @ υ . ∇
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 38 = u U backslash NoSymbol KP_Home KP_Home U222E
+! \ ∮ contour integral
+keycode 39 = i I slash Greek_iota KP_Left KP_Left integral
+! / ι ∫
+keycode 40 = a A braceleft Greek_alpha KP_Down KP_Down U2200
+! { α ∀ for all
+keycode 41 = e E braceright Greek_epsilon KP_Right KP_Right U2203
+! } ε ∃ there exists
+keycode 42 = o O asterisk Greek_omicron KP_End KP_End elementof
+! * ο ∈
+
+keycode 43 = s S question Greek_sigma questiondown NoSymbol U03A3
+! ? σ ¿ Σ Greek_SIGMA
+keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115
+! ( ν ℕ natural
+keycode 45 = r R parenright U03F1 KP_5 KP_5 U211D
+! ) ϱ Greek_rho ℝ real
+keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative
+! - τ ∂
+keycode 47 = d D colon Greek_delta comma NoSymbol U0394
+! : δ , Δ Greek_DELTA
+keycode 48 = y Y at Greek_upsilon period NoSymbol nabla
+! @ υ . ∇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape variation
-! ü Ü # ∝ proportional to
-keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab Tab U2111
-! ö Ö $ ℑ imaginary part
-keycode 54 = adiaeresis Adiaeresis bar Greek_eta KP_Next KP_Next U211C
-! ä Ä | η ℜ real part
-keycode 55 = p P asciitilde Greek_pi KP_Enter KP_Enter U03A0
-! ~ π Π Greek_PI
-keycode 56 = z Z grave Greek_zeta Undo Redo U2124
-! ` ζ ℤ integers
-
-keycode 57 = b B plus Greek_beta colon NoSymbol U21D0
-! + β : ⇐
-keycode 58 = m M percent Greek_mu 1 1 ifonlyif
-! % μ ⇔
-keycode 59 = comma NoSymbol quotedbl Greek_rho 2 2 U21D2
-! , . " ρ ⇒ implies
-keycode 60 = period NoSymbol apostrophe U03D1 3 3 U0398
-! . ' ϑ Greek_theta Θ Greek_THETA
-keycode 61 = j J semicolon Greek_theta semicolon NoSymbol identical
-! ; θ ; ≡
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+
+keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape U211C
+! ü Ü # ℜ real part
+keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab ISO_Left_Tab U2111
+! ö Ö $ ℑ imaginary part
+keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U2135
+! ä Ä | η ℵ alef symbol
+keycode 55 = p P asciitilde Greek_pi KP_Enter KP_Enter U03A0
+! ~ π Π Greek_PI
+keycode 56 = z Z grave Greek_zeta Undo Redo U2124
+! ` ζ ℤ integers
+
+keycode 57 = b B plus Greek_beta colon NoSymbol U21D0
+! + β : ⇐
+keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif
+! % μ ⇔
+keycode 59 = comma NoSymbol quotedbl Greek_rho KP_2 KP_2 U21D2
+! , . " ρ ⇒ implies
+keycode 60 = period NoSymbol apostrophe U03D1 KP_3 KP_3 U0398
+! . ' ϑ Greek_theta Θ Greek_THETA
+keycode 61 = j J semicolon Greek_theta semicolon NoSymbol variation
+! ; θ ; ∝ proportional to
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -219,96 +248,81 @@ keycode 61 = j J semicolon Greek_theta semicolon NoSymbol
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The uppest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
-keycode 77 = equal notequal U2248 Pointer_EnableKeys NoSymbol NoSymbol NoSymbol
-! = ≠ ≈ almost equal (keypad-mouse mode)
-keycode 112 = KP_Divide KP_Divide division U2044 NoSymbol NoSymbol NoSymbol
-! / / ÷ (für ⁶⁄₅₉)
-keycode 63 = KP_Multiply KP_Multiply U22C5 multiply NoSymbol NoSymbol NoSymbol
-! * * ⋅ ×
-keycode 82 = KP_Subtract KP_Subtract minus U2212 NoSymbol NoSymbol NoSymbol
-! - - - − real minus
+keycode 77 = Tab ISO_Left_Tab equal approxeq identical
+! = ≈ almost equal ≡ identical to
+keycode 112 = KP_Divide KP_Divide division U2223 U2044
+! / / ÷ ∣ divides (for ⁶⁄₅₉)
+keycode 63 = KP_Multiply KP_Multiply U22C5 multiply U2297
+! * * ⋅ dot × times ⊗ circled times
+keycode 82 = KP_Subtract KP_Subtract U2212 U2216 U2238
+! - - − real minus ∖ set minus ∸ dot minus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 79 = KP_7 KP_Home U2195 dagger NoSymbol NoSymbol NoSymbol
-! ↕ arrow †
-keycode 80 = KP_8 KP_Up uparrow intersection NoSymbol NoSymbol NoSymbol
-! ↑ ∩
-keycode 81 = KP_9 KP_Prior containsas U2297 NoSymbol NoSymbol NoSymbol
-! ∋ ⊗
-keycode 86 = KP_Add KP_Add plusminus U2213 NoSymbol NoSymbol NoSymbol
-! + +2 ± ∓ minus-plus
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 79 = KP_7 U2714 U2195 downstile upstile
+! ✔ check mark ↕ arrow ⌊ ⌈
+keycode 80 = KP_8 U2718 uparrow intersection U22C2
+! ✘ ballot x ↑ ∩ ⋂ n-ary intersection
+keycode 81 = KP_9 dagger U20D7 U230B U2309
+! † vector ⌋ ⌉
+keycode 86 = KP_Add KP_Add plusminus U2213 U2214
+! + + ± ∓ minus-plus dot plus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The middle row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 83 = KP_4 KP_Left leftarrow includedin NoSymbol NoSymbol NoSymbol
-! ← ⊂
-keycode 84 = KP_5 KP_Begin infinity EuroSign NoSymbol NoSymbol NoSymbol
-! ∞ €
-keycode 85 = KP_6 KP_Right rightarrow includes NoSymbol NoSymbol NoSymbol
-! → ⊃
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 83 = KP_4 club leftarrow includedin U2286
+! ♣ ← ⊂ ⊆
+keycode 84 = KP_5 EuroSign infinity U22B6 U22B7
+! € ∞ ⊶ original of ⊷ image of
+keycode 85 = KP_6 brokenbar rightarrow includes U2287
+! ¦ broken bar → ⊃ ⊇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 87 = KP_1 KP_End U2194 U2714 NoSymbol NoSymbol NoSymbol
-! ↔ arrow ✔ check mark
-keycode 88 = KP_2 KP_Down downarrow union NoSymbol NoSymbol NoSymbol
-! ↓ ∪
-keycode 89 = KP_3 KP_Next U21CC U2717 NoSymbol NoSymbol NoSymbol
-! ⇌ arro ✗ battol X
-keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter NoSymbol NoSymbol NoSymbol
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+
+keycode 87 = KP_1 diamond U2194 U226A lessthanequal
+! ♦ ↔ arrow ≪ much less ≤
+keycode 88 = KP_2 heart downarrow union U22C3
+! ♥ ↓ ∪ ⋃ n-ary union
+keycode 89 = KP_3 U2660 U21CC U226B greaterthanequal
+! ♠ ⇌ arro ≫ much greater ≥
+keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lowest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-keycode 90 = KP_0 KP_Insert percent U2030 NoSymbol NoSymbol NoSymbol
-! % ‰ per mille
-keycode 91 = comma KP_Delete period KP_Separator NoSymbol NoSymbol NoSymbol
-! , . ,/.
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6
+keycode 90 = KP_0 U2423 percent U2030 U25A1
+! ␣ space sign % ‰ per mille □ white square
+keycode 91 = comma period KP_Separator minutes seconds
+! , . ,/. ′ min,feets ″ sec,inches
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Anpassungen (mögliche Verbesserungen)
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! Es gibt naheliegende Möglichkeiten, NEO anzupassen und damit zu verbessern.
-! Da sie jedoch nicht zwingend notwendige Redundanzen erzeugen und sich nicht in die
-! thematischen Ordnung der Ebenen eingliedern, sind folgende Anpassungen nicht in der offiziellen
-! Version von NEO berücksichtigt und müssen bewusst ermöglicht werden, indem das Ausrufezeichen zu
-! Beginn der folgenden keycode-Zeile entfernt wird.
-!
-! Zusätzliches @-Zeichen auf Mod4+x (gleicher Handgriff wie AltGr+q auf QWERTZ)
-! Dies ist insbesondere auf ergonomischen Tastaturen mit größerer Mod4 auf der linken Seite sinnvoll
-! keycode 24 = x X at Greek_xi at at U039E
-
-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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
+! (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 Mod4+z dieser Betriebsmodus ein- und später wieder ausgeschaltet.
-! Die Steuerung des Cursors kann über den Ziffernblock auf Ebene 4 (sinnvollerweise
-! mit eingerastetem Mod4) erfolgen.
-!
-! 3.) Die KP_-Einträge auf der linken Seite der Ebene 4 müssen vorhanden sein, da anderenfalls Probleme
-! mit (älteren) Programmen wie xterm oder xedit auftreten. Da es keinen mir bekannten Ersatz für
-! Backspace gibt, funktioniert im xterm das v nicht. Wird dies benötigt, muss das Backspace (Mod4+v)
-! entfernt (und z.B. durch v ersetzt) werden.
-!
-! 4.) Auf 0 und q (Ebene 4) muss minus und plus stehen (nicht KP_Substract und KP_Add)!
-! Anderenfalls funktionieren diese Tasten unter xterm mit shift+q als Vergrößerung (Shift+KP_Add)
-! und shift+0 als Verkleinerung (Shift+KP_Substract).
+! Hierzu wird mittels Mod4+ß dieser Betriebsmodus ein- und später wieder ausgeschaltet.
+! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit
+! eingerastetem Mod4) erfolgen.