summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
Diffstat (limited to 'linux')
-rw-r--r--linux/xmodmap/neo_de_evdev.xmodmap242
1 files changed, 242 insertions, 0 deletions
diff --git a/linux/xmodmap/neo_de_evdev.xmodmap b/linux/xmodmap/neo_de_evdev.xmodmap
new file mode 100644
index 0000000..f91f941
--- /dev/null
+++ b/linux/xmodmap/neo_de_evdev.xmodmap
@@ -0,0 +1,242 @@
+!! ~/.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: 497 $, $Date: 2008-05-05 15:22:14 +0200 (Mo, 05 Mai 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
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+remove Lock = Caps_Lock
+remove Mod3 = ISO_Level3_Shift
+clear Mod3
+clear Mod4
+
+! 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.
+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
+! 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
+
+! 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
+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
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Tab as Multi_key (Compose)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 23 = Tab ISO_Left_Tab Multi_key
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Space key
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 65 = space space space nobreakspace KP_0 NoSymbol U202F
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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 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 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
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+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
+
+keycode 35 = dead_tilde dead_macron dead_diaeresis dead_doubleacute
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+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
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Keypad
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The uppest row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The lowest row
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+keycode 90 = KP_Insert KP_0 percent U2030
+keycode 91 = KP_Delete KP_Decimal period comma
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! 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
+! 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).