!! ~/.xmodmap !! !! Bei der Benutzung des Befehls »rev« muss die Zeile mit der aktuellen !! Revisionsnummer stets die Zeilennummer 10 sein. Anderenfalls muss »rev« !! angepasst werden. !! !! created by Benjamin Kellermann !! and Erik Streb !! !! The german NEO Layout Revision 469 from Sa 5. Apr 22:28:05 CEST 2008 !! see http://pebbles.schattenlauf.de/layout.php for details !! !! 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 (named .xmodmap in your home directory) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! 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 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 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! 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 KP_0 U202F !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The first row (number Row) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 49 = dead_circumflex dead_caron dead_breve dead_stroke dead_belowdot dead_belowdot dead_belowdot keycode 10 = 1 degree onesuperior femalesymbol enfilledcircbullet enfilledcircbullet notsign keycode 11 = 2 numerosign twosuperior U26A5 U2023 U2023 logicalor keycode 12 = 3 section threesuperior malesymbol 3 U25E6 logicaland keycode 13 = 4 guillemotright U203A U2113 KP_Prior KP_Prior downtack keycode 14 = 5 guillemotleft U2039 5 5 5 U2221 keycode 15 = 6 EuroSign cent 6 sterling sterling U2225 keycode 16 = 7 dollar yen U03F0 currency currency notelementof keycode 17 = 8 doublelowquotemark singlelowquotemark 8 KP_Divide KP_Divide U2204 keycode 18 = 9 leftdoublequotemark leftsinglequotemark 9 KP_Multiply KP_Multiply U2226 keycode 19 = 0 rightdoublequotemark rightsinglequotemark 0 minus minus emptyset keycode 20 = minus endash emdash U2011 minus minus hyphen keycode 21 = dead_acute dead_grave dead_cedilla dead_ogonek dead_abovedot dead_abovering dead_abovering !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The upper row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 24 = x X x Greek_xi x x Greek_XI keycode 25 = v V underscore v BackSpace BackSpace U2259 keycode 26 = l L bracketleft Greek_lambda KP_Up KP_Up Greek_LAMDA 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 exclamdown radical keycode 30 = h H less Greek_psi KP_7 KP_7 Greek_PSI keycode 31 = g G greater Greek_gamma KP_8 KP_8 Greek_GAMMA keycode 32 = f F equal U03D5 KP_9 KP_9 Greek_PHI keycode 33 = q Q ampersand Greek_phi plus plus U211A keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma ssharp ssharp jot keycode 35 = dead_tilde dead_macron dead_diaeresis dead_doubleacute !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The home row (middle row) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 38 = u U backslash u 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 questiondown Greek_SIGMA keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115 keycode 45 = r R parenright Greek_rho KP_5 KP_5 U211D keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative keycode 47 = d D colon Greek_delta comma comma Greek_DELTA keycode 48 = y Y at Greek_upsilon y y nabla !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The lower row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 52 = udiaeresis Udiaeresis numbersign udiaeresis Escape Escape variation keycode 53 = odiaeresis Odiaeresis dollar odiaeresis 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 z z U2124 keycode 57 = b B plus Greek_beta KP_Decimal KP_Decimal implies keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif keycode 59 = comma U22EE quotedbl U03F1 KP_2 KP_2 U21D0 keycode 60 = period ellipsis apostrophe Greek_theta KP_3 KP_3 Greek_THETA keycode 61 = j J semicolon U03D1 period period identical !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Keypad !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The uppest row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !keycode 77 = Num_Lock Pointer_EnableKeys keycode 112 = KP_Divide KP_Divide division U2215 keycode 63 = KP_Multiply U2217 multiply U22C5 keycode 82 = KP_Subtract KP_Subtract U2212 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! The upper row !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keycode 79 = KP_Home KP_7 U20D7 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 U21CB lessthanequal keycode 88 = KP_Down KP_2 downarrow union keycode 89 = KP_Next KP_3 U21CC greaterthanequal keycode 108 = KP_Enter KP_Enter notequal U2248 !keysym 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).