!! ~/.xmodmap !! !! German NEO-Layout !! adopted 2004 by Hanno Behrens !! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ !! Authors: !! Benjamin Kellermann !! Erik Streb !! !! Other Questions: !! !! !! $Revision$, $Date$ !! http://pebbles.schattenlauf.de/layout.php !! !! To try the layout in this file, simply do xmodmap . !! 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 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. 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_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 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! 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 ! 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 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 Greek_kappa 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 U03F0 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 Greek_phi KP_9 NoSymbol Greek_PHI keycode 33 = q Q ampersand U03D5 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 U03F1 KP_5 NoSymbol U211D keycode 46 = t T minus Greek_tau KP_6 NoSymbol partialderivative keycode 47 = d D colon Greek_delta comma NoSymbol 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 Pointer_EnableKeys NoSymbol U2124 keycode 57 = b B plus Greek_beta colon NoSymbol implies keycode 58 = m M percent Greek_mu KP_1 NoSymbol ifonlyif keycode 59 = comma U22EE quotedbl Greek_rho KP_2 NoSymbol U21D0 keycode 60 = period ellipsis apostrophe U03D1 KP_3 NoSymbol Greek_THETA keycode 61 = j J semicolon Greek_theta semicolon NoSymbol identical !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Keypad !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The uppest row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 77 = Tab equal U2248 notequal keycode 112 = slash slash division U2215 keycode 63 = asterisk asterisk multiply U2219 keycode 82 = minus minus U2212 NoSymbol !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The upper row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 79 = 7 U2714 U2195 U226A keycode 80 = 8 asciicircum uparrow intersection keycode 81 = 9 U2717 U2297 U226B keycode 86 = plus NoSymbol plusminus U2213 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The middle row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 83 = 4 parenleft leftarrow includedin keycode 84 = 5 EuroSign infinity containsas keycode 85 = 6 parenright rightarrow includes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The lower row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 87 = 1 U2081 U2194 lessthanequal keycode 88 = 2 U2082 downarrow union keycode 89 = 3 U2083 U21CC greaterthanequal keycode 108 = Return Tab notequal U2248 !keysym KP_Equal !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The lowest row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 90 = 0 enfilledcircbullet percent U2030 keycode 91 = comma U2023 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).