diff options
Diffstat (limited to 'linux/bin/installiere_neo')
-rwxr-xr-x | linux/bin/installiere_neo | 1438 |
1 files changed, 1438 insertions, 0 deletions
diff --git a/linux/bin/installiere_neo b/linux/bin/installiere_neo new file mode 100755 index 0000000..6158630 --- /dev/null +++ b/linux/bin/installiere_neo @@ -0,0 +1,1438 @@ +#!/bin/bash +# Copyright 2008 Pascal Hauck <pascal.hauck@web.de> +# Distributed under the terms of the GNU General Public License v3 + +# ======= Installation ======= +# Um NEO auf Ihrem System zu (dauerhaft) zu installieren, genügt es, dieses Skript auszuführen +# z.B. in der Konsole die folgenden beiden Zeilen eingeben: +# chmod u+x installation +# ./installation +# Nun ist NEO auf Ihrem System dauerhaft installier +# Ein Wechsel zurück zu QWERTZ ist jederzeit mit ›uiae‹ leicht möglich + +# Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, die beiden Zeilen +# # NEO: +# asdf +# in der Datei $HOME/.profile zu löschen +# (siehe dazu auch den Abschnitt ›Deinstallation‹ +# ============================== + + +# ======= Deinstallation ======= +# Um NEO wieder zu deinstallieren muss vor allem der Abschnitt ›#NEO:‹ in der .profile entfernt werden (2 Zeilen) +# Das Verzeichnis $HOME/neo und die Datei $HOME/.neorc können einfach gelöscht werden +# Achtung: dieses Skript kann NICHT dazu genutzt werden, NEO wieder zu deinstallieren oder QWERTZ wieder +# zur Standardbelegung zu machen. +# ============================== + + +# ======= Bemerkungen ========== +# Dieses Skript ist eine rudimentäre Installation. Derzeit gibt es keine Konfigurationsmöglichkeit. +# Es wird immer das Standardverzeichnis $HOME/neo verwendet +# Bei mehrfacher Anwendung (trozt Warnung) werden Zeilen in der .profile doppelt erzeugt. +# Es gibt keine graphische Installation +# Dennoch kann dieses Skrip helfen, NEO auf eine einfache Weise zu installieren. +# Dieses Skript wird mit der Zeit verbessert werden. +# ============================== + +B="\033[30m" +R="\033[31m" +G="\033[32m" + +datei() { + grep -A10000 "#neo: $1 --- Beginn" installation | grep -B10000 "#neo: $1 --- Ende" | grep -v "#neo:" +} + +erzeuge() { + case $1 in + d) # directory + if [ -d $2 ] + then + echo -e "Das Verzeichnis ${R}$2${B} gibt es bereits – wird verwendet…" + else + echo -e "Erstelle $2" + mkdir $2 + fi + ;; + f) # file + if [ -f $3 ] + then + echo -e "Die Datei ${R}$3${B} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite + if [ "$overwrite" = "J" ] + then + echo "Datei $3 wird überschrieben!" + rm -f $3 + else + echo -e "Datei ${R}$3${B} gibt es schon → Installation abgebrochen" + exit + fi + fi + echo "Erstelle Datei $3" + datei $2 > $3 + ;; + l) # soft link + if [ -d $HOME/bin/ ] + then + echo "Verzeichnis $HOME/bin/ gefunden" + else + echo -e "Verzeichnis ${R}$HOME/bin${B} wird erwartet, ist aber nicht vorhanden" + echo "Außerdem wird erwartet, dass /$HOME/bin in der Umgebungsvariable \$PATH ist" + echo "Istallation wird abgebrochen." + exit + fi + if [ -f $HOME/bin/$2 ] + then + echo -e "Datei ${R}$HOME/bin/$2${B} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite + if [ "$overwrite" = "J" ] + then + echo "Datei $2 wird überschrieben!" + rm -f $HOME/bin/$2 + else + echo -e "Datei ${R}$2${B} gibt es schon → Installation abgebrochen" + exit + fi + fi + echo "Erstelle Link $HOME/bin/$2" + ln -s $HOME/neo/$2 $HOME/bin + ;; + esac +} + +if [ -f "${NEO_CONFIG}" ]; then + . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" +elif [ -f "${HOME}"/.neorc ]; then + . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc" +elif [ -f /etc/neo.conf ]; then + . /etc/neo.conf || die "Failed to source /etc/neo.conf" +else + echo "NEO mit xmodmap wird installiert…" + erzeuge d $HOME/neo + erzeuge f xmodmap $HOME/neo/neo_de.xmodmap + erzeuge f console $HOME/neo/neo.map + erzeuge f asdf $HOME/neo/asdf + chmod u+x $HOME/neo/asdf + erzeuge l asdf + erzeuge f uiae $HOME/neo/uiae + chmod u+x $HOME/neo/uiae + erzeuge l uiae + erzeuge f neorc $HOME/.neorc + + layout="" + while [ ! $layout ] + do + read -p "Soll NEO oder QWERTZ die Standardbelegung nacht dem Login sein? [N,Q] " -e layout + case $layout in + N) + echo + echo "Nach dem Login wird NEO die Standardbelegung sein." + echo "Um dies zu ändern bitte die Kurzanleitung am Anfang dieses Skriptes lesen." + datei profile.neo > $HOME/neo/neo.profile + cd $HOME/neo + cat neo.profile >> $HOME/.profile + rm ./neo.profile + ;; + Q) + echo + echo "Das Standardlayout wird nich verändert." + echo -e "Zu NEO kann man jederzeit in der Konsole mit der Abrollbewegung ${G}asdf${B} wechseln." +# datei profile.qwertz > $HOME/neo/neo.profile + ;; + *) + echo + echo "Bitte wählen Sie zwischen N für NEO und Q für QWERTZ" + layout="" + ;; + esac + done + + cd $HOME/neo + ./asdf xmodmap + echo -e "Um zu QWERTZ zurückzukehren, genügt es, die Abrollbewegung ${G}uiae${B} in die Konsole einzugeben." + exit +fi + +echo "Es scheint schon eine Konfiguration für NEO auf Ihrem System zu geben." +echo -e "Wenn sie sicher sind, NEO über dieses Skript installieren zu wollen, löschen Sie zuvor ${R}$HOME/.neorc${B} und ${R}/etc/neo.conf${B}" +exit +#neo: xmodmap --- Beginn +!! ~/.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> +!! Pascal Hauck <pascal dot hauck at web dot de> +!! +!! Other Questions: +!! <mailinglist at neo-layout dot org> +!! +!! $Revision: 1293 $, $Date: 2008-12-19 09:39:48 +0100 (Fr, 19 Dez 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!) +! Ebene 7: wird (bis auf technisch bedingte Ausnahmen) nicht belegt +! 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 Ebene7 + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! 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 +! 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 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group NoSymbol +keycode 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group NoSymbol + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! 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. +keysym less = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock NoSymbol +keysym ISO_Level3_Shift = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock NoSymbol + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! window keys +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! keysym Super_L = Super_L +! keycode 116 = Super_R +keysym Super_R = Multi_key Multi_key +! add Mod4 = Super_L + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! general Lock +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers +! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!! +! keycode 115 = ISO_Lock NoSymbol +! add Lock = ISO_Lock + + +! add Mod3 = ISO_Group_Shift +! add Mod5 = ISO_Level3_Shift + + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! main keyboard +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Tab key +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Space key +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +keycode 65 = space space space nobreakspace KP_0 KP_0 U202F NoSymbol + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! dead keys +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 + +keycode 49 = dead_circumflex dead_tilde dead_abovering dead_breve dead_caron Pointer_EnableKeys dead_macron NoSymbol +! called T1 ˆ ˜ ˚ ˘ ˇ (keypad-mouse mode) ¯ +keycode 21 = dead_grave NoSymbol dead_diaeresis U1FFE NoSymbol NoSymbol NoSymbol NoSymbol +! called T2 ` ¨ ῾ dasia (asper) +keycode 35 = dead_acute dead_cedilla dead_stroke U1FBF dead_doubleacute NoSymbol dead_abovedot NoSymbol +! called T3 ´ ¸ / ᾿ psili (lenis) ˝ ˙ + + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The first row (number Row) +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 + +keycode 10 = 1 degree onesuperior onesubscript ordfeminine NoSymbol notsign NoSymbol +! ° ¹ ₁ ª ¬ +keycode 11 = 2 section twosuperior twosubscript masculine NoSymbol logicalor NoSymbol +! § ² ₂ º ∨ +keycode 12 = 3 U2113 threesuperior threesubscript numerosign NoSymbol logicaland NoSymbol +! ℓ liter ³ ₃ № ∧ +keycode 13 = 4 guillemotright U203A dagger Prior Prior downtack NoSymbol +! » › † ⊥ perpendicular +keycode 14 = 5 guillemotleft U2039 femalesymbol periodcentered NoSymbol U2221 NoSymbol +! « ‹ ♀ · ∡ angle sign +keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225 NoSymbol +! € ¢ ♂ £ ∥ parallel + +keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol rightarrow NoSymbol +! $ ¥ κ ¤ → +keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket NoSymbol NoSymbol infinity NoSymbol +! „ ‚ ⟨ (bra) ∞ +keycode 18 = 9 leftdoublequotemark leftsinglequotemark rightanglebracket KP_Divide KP_Divide containsas NoSymbol +! “ ‘ ⟩ (ket) / / ∋ +keycode 19 = 0 rightdoublequotemark rightsinglequotemark zerosubscript KP_Multiply KP_Multiply emptyset NoSymbol +! ” ’ ₀ * * ∅ +keycode 20 = minus emdash NoSymbol U2011 KP_Subtract KP_Subtract hyphen NoSymbol +! - — ‑ non-breaking - - soft hyphen + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The upper row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 + +keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol Greek_XI Greek_XI +! … ξ ⋮ Ξ Ξ +keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259 NoSymbol +! _ ≙ ≙ +keycode 26 = l L bracketleft Greek_lambda Up Up Greek_LAMBDA Greek_LAMBDA +! [ λ Λ Λ +keycode 27 = c C bracketright Greek_chi Delete Delete U2102 NoSymbol +! ] χ ℂ komplex +keycode 28 = w W asciicircum Greek_omega Insert Insert Greek_OMEGA Greek_OMEGA +! ^ ω Ω Ω + +keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical NoSymbol +! ! ϰ Greek_kappa ¡ √ +keycode 30 = h H less Greek_psi KP_7 KP_7 Greek_PSI Greek_PSI +! < ψ Ψ Ψ +keycode 31 = g G greater Greek_gamma KP_8 KP_8 Greek_GAMMA Greek_GAMMA +! > γ Γ Γ +keycode 32 = f F equal Greek_phi KP_9 KP_9 Greek_PHI Greek_PHI +! = φ Φ Φ +keycode 33 = q Q ampersand U03D5 KP_Add KP_Add U211A NoSymbol +! & ϕ Greek_phi + + ℚ rational +keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma NoSymbol NoSymbol jot NoSymbol +! ß ẞ Capital ß ſ long s ς ∘ ring operator + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The home row (middle row) +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 + +keycode 38 = u U backslash NoSymbol Home Home U222E NoSymbol +! \ ∮ contour integral +keycode 39 = i I slash Greek_iota Left Left integral NoSymbol +! / ι ∫ +keycode 40 = a A braceleft Greek_alpha Down Down U2200 NoSymbol +! { α ∀ for all +keycode 41 = e E braceright Greek_epsilon Right Right U2203 NoSymbol +! } ε ∃ there exists +keycode 42 = o O asterisk Greek_omicron End End elementof NoSymbol +! * ο ∈ + +keycode 43 = s S question Greek_sigma questiondown NoSymbol Greek_SIGMA Greek_SIGMA +! ? σ ¿ Σ Σ +keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115 NoSymbol +! ( ν ℕ natural +keycode 45 = r R parenright U03F1 KP_5 KP_5 U211D NoSymbol +! ) ϱ Greek_rho ℝ real +keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative +! - τ ∂ +keycode 47 = d D colon Greek_delta KP_Separator NoSymbol Greek_DELTA Greek_DELTA +! : δ ,/. Δ Δ +keycode 48 = y Y at Greek_upsilon KP_Decimal NoSymbol nabla NoSymbol +! @ υ ./, ∇ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The lower row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 + +keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape U211C NoSymbol +! ü Ü # ℜ real part +keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab ISO_Left_Tab U2111 NoSymbol +! ö Ö $ ℑ imaginary part +keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U2135 NoSymbol +! ä Ä | η ℵ alef symbol +keycode 55 = p P asciitilde Greek_pi Return Return Greek_PI Greek_PI +! ~ π Π Π +keycode 56 = z Z grave Greek_zeta Undo Redo U2124 NoSymbol +! ` ζ ℤ integers + +keycode 57 = b B plus Greek_beta colon NoSymbol U21D0 NoSymbol +! + β : ⇐ +keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif NoSymbol +! % μ ⇔ +keycode 59 = comma endash quotedbl Greek_rho KP_2 KP_2 U21D2 NoSymbol +! , – " ρ ⇒ implies +keycode 60 = period enfilledcircbullet apostrophe U03D1 KP_3 KP_3 Greek_THETA Greek_THETA +! . • ' ϑ Greek_theta Θ +keycode 61 = j J semicolon Greek_theta semicolon NoSymbol variation NoSymbol +! ; θ ; ∝ proportional to + + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Keypad +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The uppest row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 + +keycode 77 = Tab ISO_Left_Tab equal approxeq identical NoSymbol +! = ≈ almost equal ≡ identical to +keysym KP_Divide = KP_Divide KP_Divide division U2300 U2223 NoSymbol +! / / ÷ ⌀ diameter ∣ divides +keycode 63 = KP_Multiply KP_Multiply U22C5 U2299 U2297 NoSymbol +! * * ⋅ dot ⊙ cirled dot ⊗ circled times +keycode 82 = KP_Subtract KP_Subtract U2212 U2296 U2238 NoSymbol +! - - − real minus ⊖ cirled minus ∸ dot minus + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The upper row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 + +keycode 79 = KP_7 U2714 U2195 U226A upstile NoSymbol +! ✔ check mark ↕ arrow ≪ much less ⌈ +keycode 80 = KP_8 U2718 uparrow intersection U22C2 NoSymbol +! ✘ ballot x ↑ ∩ ⋂ n-ary intersection +keycode 81 = KP_9 NoSymbol U20D7 U226B U2309 NoSymbol +! vector ≫ much greater ⌉ +keycode 86 = KP_Add KP_Add plusminus U2295 U2214 NoSymbol +! + + ± circled plus dot plus + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The middle row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 + +keycode 83 = KP_4 club leftarrow includedin U2286 NoSymbol +! ♣ ← ⊂ ⊆ +keycode 84 = KP_5 EuroSign brokenbar U22B6 U22B7 NoSymbol +! € ¦ ⊶ original of ⊷ image of +keycode 85 = KP_6 U2023 rightarrow includes U2287 NoSymbol +! ‣ → ⊃ ⊇ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The lower row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 + +keycode 87 = KP_1 diamond U2194 lessthanequal downstile NoSymbol +! ♦ ↔ arrow ≤ ⌊ +keycode 88 = KP_2 heart downarrow union U22C3 NoSymbol +! ♥ ↓ ∪ ⋃ n-ary union +keycode 89 = KP_3 U2660 U21CC greaterthanequal U230B NoSymbol +! ♠ ⇌ ≥ ⌋ +! keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +! + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The lowest row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 + +keycode 90 = KP_0 U2423 percent U2030 U25A1 NoSymbol +! ␣ space sign % ‰ per mille □ white square +keycode 91 = comma period KP_Separator minutes seconds NoSymbol +! , . ,/. ′ min,feets ″ sec,inches + + + + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! 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+ß dieser Betriebsmodus ein- und später wieder ausgeschaltet. +! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit +! eingerastetem Mod4) erfolgen. +#neo: xmodmap --- Ende +#neo: console --- Beginn +! neo.map - german NEO keyboard layout +! 2008 Pascal Hauck, <pascal.hauck@web.de> +! +! Diese Datei ist experimentell! +! Sollten Fehler auftreten oder sich verschiedene Linux-Distributionen +! anders verhalten als erwartet, sollte dies auf der Mailingliste +! der NEO-Tastaturbelegung gemeldet werden. +! +! Diese Keymap wird über einige Skripte automatisch aus der neo_de.xmodmap +! erzeugt. +! + +keymaps 0-18 +strings as usual +compose as usual +! -------------------------------------------------------------------------- +! Modifier definitions +! -------------------------------------------------------------------------- + keycode 42 = Shift +# shift keycode 42 = Caps_Lock + keycode 54 = Shift +# shift keycode 54 = Caps_Lock + keycode 58 = AltGr +# altgr keycode 58 = AltGr_Lock + keycode 43 = AltGr +# altgr keycode 43 = AltGr_Lock + keycode 86 = ShiftL +# shiftl keycode 86 = ShiftL_Lock + keycode 100 = ShiftL +# shiftl keycode 100 = ShiftL_Lock + + keycode 1 = Escape Escape Escape Escape + shiftl keycode 57 = Escape + shift shiftl keycode 57 = Escape + altgr shiftl keycode 57 = Escape + alt keycode 1 = Meta_Escape + shift altgr keycode 1 = Meta_Escape + +! -------------------------------------------------------------------------- +! function keys +! -------------------------------------------------------------------------- +! ----Backspace------------------------------------------------------------- + keycode 14 = Delete Delete + alt keycode 14 = Meta_Delete + shift alt keycode 14 = Meta_Delete +! ----Return Enter---------------------------------------------------------- + keycode 28 = Return + alt keycode 28 = Meta_Control_m + keycode 96 = KP_Enter + altgr keycode 96 = Hex_F +! ----Tab------------------------------------------------------------------- + keycode 15 = Tab Meta_Tab + alt keycode 15 = Meta_Tab + altgr keycode 15 = Compose +! ----Control Alt----------------------------------------------------------- + keycode 29 = Control + keycode 97 = Control + keycode 56 = Alt +! ----Prt SclLk Pause------------------------------------------------------- + keycode 99 = + control keycode 99 = Control_backslash + alt keycode 99 = Control_backslash + control alt keycode 99 = Meta_Control_backslash + keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State + alt keycode 70 = Scroll_Lock + keycode 119 = Pause +! ----Home block------------------------------------------------------------ + keycode 102 = Find + keycode 104 = Prior + shift keycode 104 = Scroll_Backward + keycode 107 = Select + keycode 109 = Next + shift keycode 109 = Scroll_Forward + keycode 111 = Remove + altgr control keycode 111 = Boot + control alt keycode 111 = Boot + keycode 110 = Insert +! ----Navigation block------------------------------------------------------ + keycode 103 = Up + alt keycode 103 = KeyboardSignal + keycode 105 = Left + alt keycode 105 = Decr_Console + keycode 106 = Right + alt keycode 106 = Incr_Console + keycode 108 = Down +! ----Win keys-------------------------------------------------------------- + keycode 125 = Decr_Console Last_Console Incr_Console + keycode 126 = Incr_Console Last_Console Decr_Console +! ----menue key------------------------------------------------------------- + keycode 127 = Compose F100 +! ----F-keys---------------------------------------------------------------- + keycode 59 = F1 F13 Console_13 F25 + alt keycode 59 = Console_1 + control alt keycode 59 = Console_1 + keycode 60 = F2 F14 Console_14 F26 + alt keycode 60 = Console_2 + control alt keycode 60 = Console_2 + keycode 61 = F3 F15 Console_15 F27 + alt keycode 61 = Console_3 + control alt keycode 61 = Console_3 + keycode 62 = F4 F16 Console_16 F28 + alt keycode 62 = Console_4 + control alt keycode 62 = Console_4 + keycode 63 = F5 F17 Console_17 F29 + alt keycode 63 = Console_5 + control alt keycode 63 = Console_5 + keycode 64 = F6 F18 Console_18 F30 + alt keycode 64 = Console_6 + control alt keycode 64 = Console_6 + keycode 65 = F7 F19 Console_19 F31 + alt keycode 65 = Console_7 + control alt keycode 65 = Console_7 + keycode 66 = F8 F20 Console_20 F32 + alt keycode 66 = Console_8 + control alt keycode 66 = Console_8 + keycode 67 = F9 F21 Console_21 F33 + alt keycode 67 = Console_9 + control alt keycode 67 = Console_9 + keycode 68 = F10 F22 Console_22 F34 + alt keycode 68 = Console_10 + control alt keycode 68 = Console_10 + keycode 87 = F11 F23 Console_23 F35 + alt keycode 87 = Console_11 + control alt keycode 87 = Console_11 + keycode 88 = F12 F24 Console_24 F36 + alt keycode 88 = Console_12 + control alt keycode 88 = Console_12 +! ----unknown keys from defkeymap.map--------------------------------------- + keycode 84 = Last_Console + keycode 89 = + keycode 90 = + keycode 91 = + keycode 92 = + keycode 93 = + keycode 94 = + keycode 95 = + keycode 101 = Break + keycode 112 = Macro + altgr control keycode 112 = VoidSymbol + shift alt keycode 112 = VoidSymbol + altgr alt keycode 112 = VoidSymbol + keycode 113 = F13 + altgr control keycode 113 = VoidSymbol + shift alt keycode 113 = VoidSymbol + altgr alt keycode 113 = VoidSymbol + keycode 114 = F14 + altgr control keycode 114 = VoidSymbol + shift alt keycode 114 = VoidSymbol + altgr alt keycode 114 = VoidSymbol + keycode 115 = Help + altgr control keycode 115 = VoidSymbol + shift alt keycode 115 = VoidSymbol + altgr alt keycode 115 = VoidSymbol + keycode 116 = Do + altgr control keycode 116 = VoidSymbol + shift alt keycode 116 = VoidSymbol + altgr alt keycode 116 = VoidSymbol + keycode 117 = F17 + altgr control keycode 117 = VoidSymbol + shift alt keycode 117 = VoidSymbol + altgr alt keycode 117 = VoidSymbol + keycode 118 = KP_MinPlus + altgr control keycode 118 = VoidSymbol + shift alt keycode 118 = VoidSymbol + altgr alt keycode 118 = VoidSymbol + keycode 119 = Pause + keycode 120 = + keycode 121 = + keycode 122 = + keycode 123 = + keycode 124 = + + +! ----Space key------------------------------------------------------------- + keycode 57 = space space space nobreakspace + shiftl keycode 57 = KP_0 + shift shiftl keycode 57 = KP_0 + altgr shiftl keycode 57 = U+202F + +! ----dead keys------------------------------------------------------------- + keycode 41 = dead_circumflex dead_caron dead_breve VoidSymbol + shiftl keycode 41 = VoidSymbol + shift shiftl keycode 41 = VoidSymbol + altgr shiftl keycode 41 = VoidSymbol + keycode 13 = dead_acute dead_grave dead_cedilla VoidSymbol + shiftl keycode 13 = U+0307 + shift shiftl keycode 13 = VoidSymbol + altgr shiftl keycode 13 = U+030a + keycode 27 = dead_tilde U+0304 dead_diaeresis VoidSymbol + shiftl keycode 27 = dead_doubleacute + shift shiftl keycode 27 = VoidSymbol + altgr shiftl keycode 27 = VoidSymbol + +! -------------------------------------------------------------------------- +! Row 1 (number row) +! -------------------------------------------------------------------------- + keycode 2 = one degree onesuperior U+2081 + shiftl keycode 2 = U+2022 + shift shiftl keycode 2 = VoidSymbol + altgr shiftl keycode 2 = notsign + keycode 3 = two U+2116 twosuperior U+2082 + shiftl keycode 3 = U+2023 + shift shiftl keycode 3 = VoidSymbol + altgr shiftl keycode 3 = U+2228 + keycode 4 = three section threesuperior U+2083 + shiftl keycode 4 = VoidSymbol + shift shiftl keycode 4 = VoidSymbol + altgr shiftl keycode 4 = U+2227 + keycode 5 = four guillemotright U+203A U+2113 + shiftl keycode 5 = Prior + shift shiftl keycode 5 = Prior + altgr shiftl keycode 5 = U+22a4 + keycode 6 = five guillemotleft U+2039 U+2640 + shiftl keycode 6 = VoidSymbol + shift shiftl keycode 6 = VoidSymbol + altgr shiftl keycode 6 = U+2221 + keycode 7 = six U+20ac cent U+2642 + shiftl keycode 7 = sterling + shift shiftl keycode 7 = VoidSymbol + altgr shiftl keycode 7 = U+2225 + keycode 8 = seven dollar yen U+03ba + shiftl keycode 8 = currency + shift shiftl keycode 8 = VoidSymbol + altgr shiftl keycode 8 = U+21C8 + keycode 9 = eight U+201e U+201a U+2329 + shiftl keycode 9 = KP_Divide + shift shiftl keycode 9 = KP_Divide + altgr shiftl keycode 9 = U+21C5 + keycode 10 = nine U+201c U+2018 U+232a + shiftl keycode 10 = KP_Multiply + shift shiftl keycode 10 = KP_Multiply + altgr shiftl keycode 10 = U+220B + keycode 11 = zero U+201d U+2019 U+2080 + shiftl keycode 11 = KP_Subtract + shift shiftl keycode 11 = KP_Subtract + altgr shiftl keycode 11 = U+2205 + keycode 12 = minus U+2013 U+2014 U+2011 + shiftl keycode 12 = VoidSymbol + shift shiftl keycode 12 = VoidSymbol + altgr shiftl keycode 12 = hyphen + +! -------------------------------------------------------------------------- +! Row 2 (upper row) +! -------------------------------------------------------------------------- + keycode 16 = x X U+2026 U+03be + shiftl keycode 16 = U+22EE + shift shiftl keycode 16 = VoidSymbol + altgr shiftl keycode 16 = U+039E + control keycode 16 = Control_x + shift control keycode 16 = Control_x + alt keycode 16 = Meta_x + shift alt keycode 16 = Meta_X + control alt keycode 16 = Meta_Control_x + keycode 17 = v V underscore VoidSymbol + shiftl keycode 17 = BackSpace + shift shiftl keycode 17 = BackSpace + altgr shiftl keycode 17 = U+2259 + control keycode 17 = Control_v + shift control keycode 17 = Control_v + alt keycode 17 = Meta_v + shift alt keycode 17 = Meta_V + control alt keycode 17 = Meta_Control_v + keycode 18 = l L bracketleft U+03bb + shiftl keycode 18 = Up + shift shiftl keycode 18 = Up + altgr shiftl keycode 18 = U+039B + control keycode 18 = Control_l + shift control keycode 18 = Control_l + alt keycode 18 = Meta_l + shift alt keycode 18 = Meta_L + control alt keycode 18 = Meta_Control_l + keycode 19 = c C bracketright U+03c7 + shiftl keycode 19 = Remove + shift shiftl keycode 19 = Remove + altgr shiftl keycode 19 = U+2102 + control keycode 19 = Control_c + shift control keycode 19 = Control_c + alt keycode 19 = Meta_c + shift alt keycode 19 = Meta_C + control alt keycode 19 = Meta_Control_c + keycode 20 = w W asciicircum U+03c9 + shiftl keycode 20 = Insert + shift shiftl keycode 20 = Insert + altgr shiftl keycode 20 = U+03A9 + control keycode 20 = Control_w + shift control keycode 20 = Control_w + alt keycode 20 = Meta_w + shift alt keycode 20 = Meta_W + control alt keycode 20 = Meta_Control_w + keycode 21 = k K exclam U+03F0 + shiftl keycode 21 = exclamdown + shift shiftl keycode 21 = VoidSymbol + altgr shiftl keycode 21 = U+221a + control keycode 21 = Control_k + shift control keycode 21 = Control_k + alt keycode 21 = Meta_k + shift alt keycode 21 = Meta_K + control alt keycode 21 = Meta_Control_k + keycode 22 = h H less U+03c8 + shiftl keycode 22 = KP_7 + shift shiftl keycode 22 = KP_7 + altgr shiftl keycode 22 = U+03A8 + control keycode 22 = Control_h + shift control keycode 22 = Control_h + alt keycode 22 = Meta_h + shift alt keycode 22 = Meta_H + control alt keycode 22 = Meta_Control_h + keycode 23 = g G greater U+03b3 + shiftl keycode 23 = KP_8 + shift shiftl keycode 23 = KP_8 + altgr shiftl keycode 23 = U+0393 + control keycode 23 = Control_g + shift control keycode 23 = Control_g + alt keycode 23 = Meta_g + shift alt keycode 23 = Meta_G + control alt keycode 23 = Meta_Control_g + keycode 24 = f F equal U+03c6 + shiftl keycode 24 = KP_9 + shift shiftl keycode 24 = KP_9 + altgr shiftl keycode 24 = U+03A6 + control keycode 24 = Control_f + shift control keycode 24 = Control_f + alt keycode 24 = Meta_f + shift alt keycode 24 = Meta_F + control alt keycode 24 = Meta_Control_f + keycode 25 = q Q ampersand U+03D5 + shiftl keycode 25 = KP_Add + shift shiftl keycode 25 = KP_Add + altgr shiftl keycode 25 = U+211A + control keycode 25 = Control_q + shift control keycode 25 = Control_q + alt keycode 25 = Meta_q + shift alt keycode 25 = Meta_Q + control alt keycode 25 = Meta_Control_q + keycode 26 = ssharp U+1E9E U+017F U+03c2 + shiftl keycode 26 = VoidSymbol + shift shiftl keycode 26 = VoidSymbol + altgr shiftl keycode 26 = U+2218 + +! -------------------------------------------------------------------------- +! Row 3 (home row, middle row) +! -------------------------------------------------------------------------- + keycode 30 = u U backslash VoidSymbol + shiftl keycode 30 = Home + shift shiftl keycode 30 = Home + altgr shiftl keycode 30 = U+222E + control keycode 30 = Control_u + shift control keycode 30 = Control_u + alt keycode 30 = Meta_u + shift alt keycode 30 = Meta_U + control alt keycode 30 = Meta_Control_u + keycode 31 = i I slash U+03b9 + shiftl keycode 31 = Left + shift shiftl keycode 31 = Left + altgr shiftl keycode 31 = U+222b + control keycode 31 = Control_i + shift control keycode 31 = Control_i + alt keycode 31 = Meta_i + shift alt keycode 31 = Meta_I + control alt keycode 31 = Meta_Control_i + keycode 32 = a A braceleft U+03b1 + shiftl keycode 32 = Down + shift shiftl keycode 32 = Down + altgr shiftl keycode 32 = U+2200 + control keycode 32 = Control_a + shift control keycode 32 = Control_a + alt keycode 32 = Meta_a + shift alt keycode 32 = Meta_A + control alt keycode 32 = Meta_Control_a + keycode 33 = e E braceright U+03b5 + shiftl keycode 33 = Right + shift shiftl keycode 33 = Right + altgr shiftl keycode 33 = U+2203 + control keycode 33 = Control_e + shift control keycode 33 = Control_e + alt keycode 33 = Meta_e + shift alt keycode 33 = Meta_E + control alt keycode 33 = Meta_Control_e + keycode 34 = o O asterisk U+03bf + shiftl keycode 34 = End + shift shiftl keycode 34 = End + altgr shiftl keycode 34 = U+2208 + control keycode 34 = Control_o + shift control keycode 34 = Control_o + alt keycode 34 = Meta_o + shift alt keycode 34 = Meta_O + control alt keycode 34 = Meta_Control_o + keycode 35 = s S question U+03c3 + shiftl keycode 35 = questiondown + shift shiftl keycode 35 = VoidSymbol + altgr shiftl keycode 35 = U+03A3 + control keycode 35 = Control_s + shift control keycode 35 = Control_s + alt keycode 35 = Meta_s + shift alt keycode 35 = Meta_S + control alt keycode 35 = Meta_Control_s + keycode 36 = n N parenleft U+03bd + shiftl keycode 36 = KP_4 + shift shiftl keycode 36 = KP_4 + altgr shiftl keycode 36 = U+2115 + control keycode 36 = Control_n + shift control keycode 36 = Control_n + alt keycode 36 = Meta_n + shift alt keycode 36 = Meta_N + control alt keycode 36 = Meta_Control_n + keycode 37 = r R parenright U+03F1 + shiftl keycode 37 = KP_5 + shift shiftl keycode 37 = KP_5 + altgr shiftl keycode 37 = U+211D + control keycode 37 = Control_r + shift control keycode 37 = Control_r + alt keycode 37 = Meta_r + shift alt keycode 37 = Meta_R + control alt keycode 37 = Meta_Control_r + keycode 38 = t T minus U+03c4 + shiftl keycode 38 = KP_6 + shift shiftl keycode 38 = KP_6 + altgr shiftl keycode 38 = U+2202 + control keycode 38 = Control_t + shift control keycode 38 = Control_t + alt keycode 38 = Meta_t + shift alt keycode 38 = Meta_T + control alt keycode 38 = Meta_Control_t + keycode 39 = d D colon U+03b4 + shiftl keycode 39 = comma + shift shiftl keycode 39 = VoidSymbol + altgr shiftl keycode 39 = U+0394 + control keycode 39 = Control_d + shift control keycode 39 = Control_d + alt keycode 39 = Meta_d + shift alt keycode 39 = Meta_D + control alt keycode 39 = Meta_Control_d + keycode 40 = y Y at U+03c5 + shiftl keycode 40 = period + shift shiftl keycode 40 = VoidSymbol + altgr shiftl keycode 40 = U+2207 + control keycode 40 = Control_y + shift control keycode 40 = Control_y + alt keycode 40 = Meta_y + shift alt keycode 40 = Meta_Y + control alt keycode 40 = Meta_Control_y + +! -------------------------------------------------------------------------- +! Row 4 (lower row) +! -------------------------------------------------------------------------- + keycode 44 = udiaeresis Udiaeresis numbersign VoidSymbol + shiftl keycode 44 = Escape + shift shiftl keycode 44 = Escape + altgr shiftl keycode 44 = U+211C + keycode 45 = odiaeresis Odiaeresis dollar VoidSymbol + shiftl keycode 45 = Tab + shift shiftl keycode 45 = Meta_Tab + altgr shiftl keycode 45 = U+2111 + keycode 46 = adiaeresis Adiaeresis bar U+03b7 + shiftl keycode 46 = Next + shift shiftl keycode 46 = Next + altgr shiftl keycode 46 = U+2135 + keycode 47 = p P asciitilde U+03c0 + shiftl keycode 47 = Return + shift shiftl keycode 47 = Return + altgr shiftl keycode 47 = U+03A0 + control keycode 47 = Control_p + shift control keycode 47 = Control_p + alt keycode 47 = Meta_p + shift alt keycode 47 = Meta_P + control alt keycode 47 = Meta_Control_p + keycode 48 = z Z grave U+03b6 + shiftl keycode 48 = VoidSymbol + shift shiftl keycode 48 = VoidSymbol + altgr shiftl keycode 48 = U+2124 + control keycode 48 = Control_z + shift control keycode 48 = Control_z + alt keycode 48 = Meta_z + shift alt keycode 48 = Meta_Z + control alt keycode 48 = Meta_Control_z + keycode 49 = b B plus U+03b2 + shiftl keycode 49 = colon + shift shiftl keycode 49 = VoidSymbol + altgr shiftl keycode 49 = U+21D0 + control keycode 49 = Control_b + shift control keycode 49 = Control_b + alt keycode 49 = Meta_b + shift alt keycode 49 = Meta_B + control alt keycode 49 = Meta_Control_b + keycode 50 = m M percent U+03bc + shiftl keycode 50 = KP_1 + shift shiftl keycode 50 = KP_1 + altgr shiftl keycode 50 = U+21d4 + control keycode 50 = Control_m + shift control keycode 50 = Control_m + alt keycode 50 = Meta_m + shift alt keycode 50 = Meta_M + control alt keycode 50 = Meta_Control_m + keycode 51 = comma VoidSymbol quotedbl U+03c1 + shiftl keycode 51 = KP_2 + shift shiftl keycode 51 = KP_2 + altgr shiftl keycode 51 = U+21D2 + keycode 52 = period VoidSymbol apostrophe U+03D1 + shiftl keycode 52 = KP_3 + shift shiftl keycode 52 = KP_3 + altgr shiftl keycode 52 = U+0398 + keycode 53 = j J semicolon U+03b8 + shiftl keycode 53 = semicolon + shift shiftl keycode 53 = VoidSymbol + altgr shiftl keycode 53 = U+221d + control keycode 53 = Control_j + shift control keycode 53 = Control_j + alt keycode 53 = Meta_j + shift alt keycode 53 = Meta_J + control alt keycode 53 = Meta_Control_j + +! -------------------------------------------------------------------------- +! Keypad Row 1 (uppest row) +! -------------------------------------------------------------------------- + keycode 69 = Tab Meta_Tab equal U+2248 + shiftl keycode 69 = U+2260 + shift shiftl keycode 69 = VoidSymbol + altgr shiftl keycode 69 = U+2261 + keycode 98 = KP_Divide KP_Divide division U+2223 + shiftl keycode 98 = U+2300 + shift shiftl keycode 98 = VoidSymbol + altgr shiftl keycode 98 = U+2044 + keycode 55 = KP_Multiply KP_Multiply U+22C5 multiply + shiftl keycode 55 = U+2299 + shift shiftl keycode 55 = VoidSymbol + altgr shiftl keycode 55 = U+2297 + keycode 74 = KP_Subtract KP_Subtract U+2212 U+2216 + shiftl keycode 74 = U+2296 + shift shiftl keycode 74 = VoidSymbol + altgr shiftl keycode 74 = U+2238 + +! -------------------------------------------------------------------------- +! Keypad Row 2 (upper row) +! -------------------------------------------------------------------------- + keycode 71 = KP_7 U+2714 U+2195 U+230a + shiftl keycode 71 = Home + shift shiftl keycode 71 = Home + altgr shiftl keycode 71 = U+2308 + keycode 72 = KP_8 U+2718 U+2191 U+2229 + shiftl keycode 72 = Up + shift shiftl keycode 72 = Up + altgr shiftl keycode 72 = U+22C2 + keycode 73 = KP_9 U+2020 U+20D7 U+230B + shiftl keycode 73 = Prior + shift shiftl keycode 73 = Prior + altgr shiftl keycode 73 = U+2309 + keycode 78 = KP_Add KP_Add plusminus U+2213 + shiftl keycode 78 = U+2295 + shift shiftl keycode 78 = VoidSymbol + altgr shiftl keycode 78 = U+2214 + +! -------------------------------------------------------------------------- +! Keypad Row 3 (home row, middle row) +! -------------------------------------------------------------------------- + keycode 75 = KP_4 U+2663 U+2190 U+2282 + shiftl keycode 75 = Left + shift shiftl keycode 75 = Left + altgr shiftl keycode 75 = U+2286 + keycode 76 = KP_5 U+20ac U+221e U+22B6 + shiftl keycode 76 = VoidSymbol + shift shiftl keycode 76 = VoidSymbol + altgr shiftl keycode 76 = U+22B7 + keycode 77 = KP_6 brokenbar U+2192 U+2283 + shiftl keycode 77 = Right + shift shiftl keycode 77 = Right + altgr shiftl keycode 77 = U+2287 + +! -------------------------------------------------------------------------- +! Keypad Row 4 (lower row) +! -------------------------------------------------------------------------- + keycode 79 = KP_1 U+2666 U+2194 U+226A + shiftl keycode 79 = End + shift shiftl keycode 79 = End + altgr shiftl keycode 79 = U+2264 + keycode 80 = KP_2 U+2665 U+2193 U+222a + shiftl keycode 80 = Down + shift shiftl keycode 80 = Down + altgr shiftl keycode 80 = U+22C3 + keycode 81 = KP_3 U+2660 U+21CC U+226B + shiftl keycode 81 = Next + shift shiftl keycode 81 = Next + altgr shiftl keycode 81 = U+2265 + +! -------------------------------------------------------------------------- +! Keypad Row 5 (lowest row) +! -------------------------------------------------------------------------- + keycode 82 = KP_0 U+2423 percent U+2030 + shiftl keycode 82 = Insert + shift shiftl keycode 82 = Insert + altgr shiftl keycode 82 = U+25A1 + keycode 83 = comma period U+002c U+2032 + shiftl keycode 83 = Remove + shift shiftl keycode 83 = Remove + altgr shiftl keycode 83 = U+2033 + + +! -------------------------------------------------------------------------- +! additional Keys with control function (has to be edited manually!!!!) +! -------------------------------------------------------------------------- + control altgr keycode 30 = Control_backslash + alt altgr keycode 30 = Control_backslash + control alt altgr keycode 30 = Meta_Control_backslash + control altgr keycode 19 = Control_bracketright + alt altgr keycode 19 = Control_bracketright + control alt altgr keycode 19 = Meta_Control_bracketright + control altgr keycode 17 = Control_underscore + alt altgr keycode 17 = Control_underscore + control alt altgr keycode 17 = Meta_Control_underscore + control altgr keycode 20 = Control_asciicircum + alt altgr keycode 20 = Control_asciicircum + control alt altgr keycode 20 = Meta_Control_asciicircum + + +! -------------------------------------------------------------------------- +! Strings and Compose +! -------------------------------------------------------------------------- +# string F100 = "setleds +num\n" +#neo: console --- Ende +#neo: asdf --- Beginn +#!/bin/sh +# Copyright 2008 Bernd Steinhauser <berniyh@exherbo.org> +# Copyright 2008 Benjamin Kellermann +# Copyright 2008 Pascal Hauck +# Copyright 2008 Erik Streb del Toro +# Distributed under the terms of the GNU General Public License v3 + +if [ -f "${NEO_CONFIG}" ]; then + . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" +elif [ -f "${HOME}"/.neorc ]; then + . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc" +elif [ -f /etc/neo.conf ]; then + . /etc/neo.conf || die "Failed to source /etc/neo.conf" +else + echo "No configuration file found. Using default values, this might fail!" +fi + +# Default paths +PATH_XMODMAP=${PATH_XMODMAP:-/usr/bin/xmodmap} +PATH_SETXKBMAP=${PATH_SETXKBMAP:-/usr/bin/setxkbmap} +PATH_LOADKEYS=${PATH_LOADKEYS:-/usr/bin/loadkeys} +PATH_SUDO=${PATH_SUDO:-/usr/bin/sudo} +PATH_SETLEDS=${PATH_SETLEDS:-/usr/bin/setleds} +PATH_NUMLOCKX=${PATH_NUMLOCKX:-/usr/bin/numlockx} +PATH_XSET=${PATH_XSET:-/usr/bin/xset} + +# Default values +NEO_X_VARIANTE=${NEO_X_VARIANTE:-xkbmap} +NEO_X_VARIANTE=${1-$NEO_X_VARIANTE} +NEO_XKBMAP=${NEO_XKBMAP:-de} +NEO_XKBVARIANT=${NEO_XKBVARIANT:-neo} +NEO_XMODMAP=${NEO_XMODMAP:-$HOME/neo/neo_de.xmodmap} +NEO_XMODMAP_XPROG=${NEO_XMODMAP_XPROG:-$HOME/neo/neo_de_x-prog.xmodmap} +NEO_XMODMAP_ALTERNATIVE=${NEO_XMODMAP_ALTERNATIVE:-$HOME/neo/neo_de_alternative.xmodmap} +NEO_XMODMAP_EVDEV=${NEO_XMODMAP_EVDEV:-$HOME/neo/neo_de_evdev.xmodmap} +NEO_CONSOLE_KEYMAP=${NEO_CONSOLE_KEYMAP:-$HOME/neo/neo.map} + +die() { + echo "$@" >&2 + exit 1 +} + +set_xmodmap() { + if [ -e "${PATH_XMODMAP}" ]; then + if [ -f "$@" ]; then + set_xkbmap lv + "${PATH_XMODMAP}" "$@" || ( set_xkbmap de ; die "Failed to set xmodmap $@." ) + else + die "Cannot use $@ for xmodmap." + fi + else + die "xmodmap not found, cannot set xmodmap." + fi +} + +set_xkbmap() { + if [ -e "${PATH_SETXKBMAP}" ]; then + "${PATH_SETXKBMAP}" "$@" || die "Failed to select xkbmap $@." + else + die "setxkbmap not found, cannot set xkbmap." + fi +} + +set_keymap() { + if [ -e "${PATH_LOADKEYS}" ]; then + if [ -f "$@" ]; then + if [ "${EUID}" = 0 ]; then + "${PATH_LOADKEYS}" "$@" || die "Failed to set keymap $@." + elif [ -e "${PATH_SUDO}" ]; then + "${PATH_SUDO}" "${PATH_LOADKEYS}" "$@" || die "Failed to set keymap using sudo." + else + die "You need root priviliges to change the keymap." + fi + else + die "keymap file $@ does not exist." + fi + else + die "loadkeys not found, cannot set keymap." + fi +} + +if [ -n "$SSH_CONNECTION" ]; then + die "Cannot set keybord layout in a ssh session." +fi + +if [ -z ${DISPLAY} ]; then + set_keymap "${NEO_CONSOLE_KEYMAP}" + + if [ -e "${PATH_SETLEDS}" ]; then + "${PATH_SETLEDS}" +num || die "Failed to set NUM status." + else + die "setleds does not exist, cannot set NUM status." + fi +else + if [ -e "${PATH_NUMLOCKX}" ]; then + "${PATH_NUMLOCKX}" off || die "Failed to turn off Numlock." + else + die "numlockx not found, cannot turn off Numlock." + fi + + if [ -e "${PATH_XSET}" ]; then + for modifier in 51 94; do + "${PATH_XSET}" -r ${modifier} || die "Failed to unset repeat for modifier ${modifier}." + done + for deadkey in 21 35 49; do + "${PATH_XSET}" -r ${deadkey} || die "Failed to unset repeat for deadkey ${deakey}." + done + else + die "xset not found, cannot set modifiers and dead keys." + fi + + case "${NEO_X_VARIANTE}" in + xkbmap) + set_xkbmap "${NEO_XKBMAP}" "${NEO_XKBVARIANT}" + ;; + xmodmap) + set_xmodmap "${NEO_XMODMAP}" + ;; + xprog) + set_xmodmap "${NEO_XMODMAP_XPROG}" + ;; + alternative) + set_xmodmap "${NEO_XMODMAP_ALTERNATIVE}" + ;; + evdev) + set_xmodmap "${NEO_XMODMAP_EVDEV}" + ;; + *) + die "Unknown Neo X variant ${NEO_X_VARIANTE}." + ;; + esac +fi + +#neo: asdf --- Ende +#neo: uiae --- Beginn +#!/bin/sh +# Copyright 2008 Bernd Steinhauser <berniyh@exherbo.org> +# Copyright 2008 Benjamin Kellermann +# Copyright 2008 Pascal Hauck +# Copyright 2008 Erik Streb del Toro +# Distributed under the terms of the GNU General Public License v3 + +if [ -f "${NEO_CONFIG}" ]; then + . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" +elif [ -f "${HOME}"/.neorc ]; then + . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc" +elif [ -f /etc/neo.conf ]; then + . /etc/neo.conf || die "Failed to source /etc/neo.conf" +else + echo "No configuration file found. Using default values, this might fail!" +fi + +# Default paths +PATH_XMODMAP=${PATH_XMODMAP:-/usr/bin/xmodmap} +PATH_SETXKBMAP=${PATH_SETXKBMAP:-/usr/bin/setxkbmap} +PATH_LOADKEYS=${PATH_LOADKEYS:-/usr/bin/loadkeys} +PATH_SUDO=${PATH_SUDO:-/usr/bin/sudo} +PATH_SETLEDS=${PATH_SETLEDS:-/usr/bin/setleds} +PATH_NUMLOCKX=${PATH_NUMLOCKX:-/usr/bin/numlockx} +PATH_XSET=${PATH_XSET:-/usr/bin/xset} + +# Default values +STD_X_VARIANTE=${STD_X_VARIANTE:-xkbmap} +STD_XKBMAP=${STD_XKBMAP:-de} +STD_XKBVARIANT=${STD_XKBVARIANT:-nodeadkeys} +STD_CONSOLE_KEYMAP="${STD_CONSOLE_KEYMAP:-de-latin1-nodeadkeys}" +NUM_LOCK_STATUS=${NUM_LOCK_STATUS:-on} + +die() { + echo "$@" >&2 + exit 1 +} + +set_xmodmap() { + if [ -e "${PATH_XMODMAP}" ]; then + if [ -f "$@" ]; then + "${PATH_XMODMAP}" "$@" || die "Failed to set xmodmap $@." + else + die "Cannot use $@ for xmodmap." + fi + else + die "xmodmap not found, cannot set xmodmap." + fi +} + +set_xkbmap() { + if [ -e "${PATH_SETXKBMAP}" ]; then + "${PATH_SETXKBMAP}" "$@" || die "Failed to select xkbmap $@." + else + die "setxkbmap not found, cannot set xkbmap." + fi +} + +set_keymap() { + if [ -e "${PATH_LOADKEYS}" ]; then + if [ -f "$@" ]; then + if [ "${EUID}" = 0 ]; then + "${PATH_LOADKEYS}" "$@" || die "Failed to set keymap $@." + elif [ -e "${PATH_SUDO}" ]; then + "${PATH_SUDO}" "${PATH_LOADKEYS}" "$@" || die "Failed to set keymap using sudo." + else + die "You need root priviliges to change the keymap." + fi + else + die "keymap file $@ does not exist." + fi + else + die "loadkeys not found, cannot set keymap." + fi +} + +if [ -n "$SSH_CONNECTION" ]; then + die "Cannot set keybord layout in a ssh session." +fi + +if [ -z ${DISPLAY} ]; then + set_keymap "${NEO_CONSOLE_KEYMAP}" + + if [ -e "${PATH_SETLEDS}" ]; then + if [ "${NUM_LOCK_STATUS}" = "on" ]; then + "${PATH_SETLEDS}" -num || die "Failed to set num lock status to on." + else + "${PATH_SETLEDS}" +num || die "Failed to set num lock status to off." + fi + else + die "setleds does not exist, cannot set NUM status." + fi +else + if [ -e "${PATH_XSET}" ]; then + for modifier in 51 94; do + "${PATH_XSET}" r ${modifier} || die "Failed to set repeat for modifier ${modifier}." + done + for deadkey in 21 35 49; do + "${PATH_XSET}" r ${deadkey} || die "Failed to set repeat for deadkey ${deakey}." + done + else + die "xset not found, cannot set modifiers and dead keys." + fi + + case "${STD_X_VARIANTE}" in + xkbmap) + set_xkbmap "${STD_XKBMAP}" "${STD_XKBVARIANT}" + ;; + xmodmap) + set_xkbmap de + set_xmodmap "${STD_XMODMAP}" + ;; + *) + die "Unknown standard X variant ${STD_X_VARIANTE}." + ;; + esac + + if [ -e "${PATH_NUMLOCKX}" ]; then + if [ "${NUM_LOCK_STATUS}" = "on" ]; then + "${PATH_NUMLOCKX}" on || die "Failed to set num lock status to on." + else + "${PATH_NUMLOCKX}" off || die "Failed to set num lock status to off." + fi + else + die "numlockx not found, cannot turn off Numlock." + fi +fi + +#neo: uiae --- Ende +#neo: neorc --- Beginn +# This file contains the configuration for the Neo scripts + +# Select the neo Variant to be used when using an X Server +# Values are "xkbmap", "xmodmap", "xprog", "alternative" or "evdev" +# default is xkbmap, this variable should always be set +NEO_X_VARIANTE="xmodmap" + + +# When using xkbmap, you may specify which xkbmap should be used, the default +# is "de" (This is useful if you installed the symbols file under a different +# name): +#NEO_XKBMAP=de + +# You can also specify the xkbmap variant to be used, the default is "neo": +#NEO_XKBVARIANT=neo + + +# When using a xmodmap, you may specify the full path to the xmodmap to be used. +# Default: +NEO_XMODMAP="$HOME/neo/neo_de.xmodmap" +#NEO_XMODMAP_XPROG="$HOME/neo/neo_de_x-prog.xmodmap" +#NEO_XMODMAP_ALTERNATIVE="$HOME/neo/neo_de_alternative.xmodmap" +#NEO_XMODMAP_EVDEV="$HOME/neo/neo_de_evdev.xmodmap" + + +# Standard keyboard layout to switch back to when executing "uiae": +#STD_XKBMAP=de + +# Standard layout variant to switch back to when executing "uiae": +#STD_XKBVARIANT=nodeadkeys + +# Numlock status when switching to standard keyboard layout using "uiae", +# values are "on" and "off": +#NUM_LOCK_STATUS=on + + +# For Neo without an X System set the path to the console keymap +NEO_CONSOLE_KEYMAP="$HOME/neo/neo" # if necessary add „.map“ + +# Set the standard console keymap to switch back to +#STD_CONSOLE_KEYMAP="de-latin1-nodeadkeys" + + +# If you installed one of these programs in a non-standard path you may, +# uncomment the variable and change the path to the executable: +#PATH_XMODMAP=/usr/bin/xmodmap +#PATH_SETXKBMAP=/usr/bin/setxkbmap +#PATH_LOADKEYS=/usr/bin/loadkeys +#PATH_SUDO=/usr/bin/sudo +#PATH_SETLEDS=/usr/bin/setleds +#PATH_NUMLOCKX=/usr/bin/numlockx +#PATH_XSET=/usr/bin/xset + +#neo: neorc --- Ende +#neo: profile.neo --- Beginn + +# Neo: +asdf xmodmap # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO +#neo: profile.neo --- Ende +#neo: profile.qwertz --- Beginn + +# Neo: +# asdf xmodmap # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO +#neo: profile.qwertz --- Ende + |