From 936124b887f5d7d92839c760c0ae11871e9e438b Mon Sep 17 00:00:00 2001 From: pascal Date: Mon, 22 Dec 2008 10:55:30 +0000 Subject: Datei umbenannt git-svn-id: https://svn.neo-layout.org@1308 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- linux/bin/installation | 1438 --------------------------------------------- linux/bin/installiere_neo | 1438 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1438 insertions(+), 1438 deletions(-) delete mode 100755 linux/bin/installation create mode 100755 linux/bin/installiere_neo diff --git a/linux/bin/installation b/linux/bin/installation deleted file mode 100755 index 6158630..0000000 --- a/linux/bin/installation +++ /dev/null @@ -1,1438 +0,0 @@ -#!/bin/bash -# Copyright 2008 Pascal Hauck -# 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 -!! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ -!! Authors: -!! Benjamin Kellermann -!! Erik Streb -!! Pascal Hauck -!! -!! Other Questions: -!! -!! -!! $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 . -!! 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, -! -! 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 -# 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 -# 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 - 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 +# 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 +!! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ +!! Authors: +!! Benjamin Kellermann +!! Erik Streb +!! Pascal Hauck +!! +!! Other Questions: +!! +!! +!! $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 . +!! 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, +! +! 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 +# 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 +# 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 + -- cgit v1.2.3