summaryrefslogtreecommitdiffstats
path: root/linux/xmodmap/neo_de_alternative.xmodmap
diff options
context:
space:
mode:
Diffstat (limited to 'linux/xmodmap/neo_de_alternative.xmodmap')
-rw-r--r--linux/xmodmap/neo_de_alternative.xmodmap317
1 files changed, 317 insertions, 0 deletions
diff --git a/linux/xmodmap/neo_de_alternative.xmodmap b/linux/xmodmap/neo_de_alternative.xmodmap
new file mode 100644
index 0000000..ff94dd4
--- /dev/null
+++ b/linux/xmodmap/neo_de_alternative.xmodmap
@@ -0,0 +1,317 @@
+!! ~/.xmodmap
+!!
+!! 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>
+!!
+!! Other Questions:
+!! <mailinglist at neo-layout dot org>
+!!
+!! $Revision: 720 $, $Date: 2008-08-04 23:46:24 +0200 (Mo, 04 Aug 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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 (which is the 3rd and 4th level)
+! 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
+! 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 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
+
+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)
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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!!!!
+! keycode 115 = ISO_Lock
+! add Lock = ISO_Lock
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Tab as Multi_key (Compose)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+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 0 0 NoSymbol
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The first row (number Row)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
+!keycode 49 = dead_circumflex dead_caron dead_breve dead_stroke dead_belowdot NoSymbol dead_belowdot
+! ^ ˇ ˘
+keycode 49 = dead_circumflex dead_caron dead_breve NoSymbol dead_belowdot NoSymbol dead_belowdot
+! ^ ˇ ˘
+
+
+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
+! ' ` ¸ ˛ ˙ °
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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 dead_doubleacute
+! ~ ¯ " ˝
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+! @ υ . ∇
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+! ; θ ; ≡
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Keypad
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The uppest row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+keycode 77 = equal notequal U2248 Pointer_EnableKeys
+! = ≠ ≈ almost equal (keypad-mouse mode)
+keycode 112 = KP_Divide KP_Divide division U2044
+! / / ÷ (für ⁶⁄₅₉)
+keycode 63 = KP_Multiply KP_Multiply U22C5 multiply
+! * * ⋅ ×
+keycode 82 = KP_Subtract KP_Subtract minus U2212
+! - - - − real minus
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The upper row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 79 = 7 KP_Home U2195 dagger
+! ↕ arrow †
+keycode 80 = 8 KP_Up uparrow intersection
+! ↑ ∩
+keycode 81 = 9 KP_Prior containsas U2297
+! ∋ ⊗
+keycode 86 = KP_Add KP_Add plusminus U2213
+! + +2 ± ∓ minus-plus
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The middle row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 83 = 4 KP_Left leftarrow includedin
+! ← ⊂
+keycode 84 = 5 KP_Begin infinity EuroSign
+! ∞ €
+keycode 85 = 6 KP_Right rightarrow includes
+! → ⊃
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The lower row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 87 = 1 KP_End U2194 U2714
+! ↔ arrow ✔ check mark
+keycode 88 = 2 KP_Down downarrow union
+! ↓ ∪
+keycode 89 = 3 KP_Next U21CC U2717
+! ⇌ arro ✗ battol X
+keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter
+!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The lowest row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 90 = 0 KP_Insert percent U2030
+! % ‰ per mille
+keycode 91 = comma KP_Delete period KP_Separator
+! , . ,/.
+
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+! 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).