From 3ed82866a79769148aaab9086c9799443836ba66 Mon Sep 17 00:00:00 2001 From: hendrik Date: Tue, 6 Jan 2009 18:50:24 +0000 Subject: Beginn von Tests zu weiteren Unix-Systemen. Hoffentlich noch einiges mehr in dieser Woche. git-svn-id: https://svn.neo-layout.org@1397 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- unix/freebsd/README.txt | 46 +++++ unix/freebsd/neo.kbd | 143 ++++++++++++++ unix/opensolaris/xmodmap/neo_de.xmodmap | 332 ++++++++++++++++++++++++++++++++ 3 files changed, 521 insertions(+) create mode 100644 unix/freebsd/README.txt create mode 100644 unix/freebsd/neo.kbd create mode 100644 unix/opensolaris/xmodmap/neo_de.xmodmap (limited to 'unix') diff --git a/unix/freebsd/README.txt b/unix/freebsd/README.txt new file mode 100644 index 0000000..107b455 --- /dev/null +++ b/unix/freebsd/README.txt @@ -0,0 +1,46 @@ += Neo 2 für FreeBSD = +Von Haus aus bringt FreeBSD Unterstützung für Neo 1 in Xorg mit. Für die +Konsole und für Neo 2 in X muss also ein Treiber installiert werden. + +== Neo auf der Konsole == +Für FreeBSD an der Konsole muss die Treiberdatei mit folgendem Befehl geladen +werden: + +$ kbdcontrol -l neo.kbd + +Um das Layout permanent zu verwenden lohnt es sich die neo.kbd in das +Verzeichnis für Keymaps als root-Benutzer zu plazieren: +# cp neo.kbd /usr/share/syscons/keymaps/ + +Trägt man dann noch keymap="neo" in /etc/rc.conf ein sollte vom nächsten +Boot an immer das richtige Layout verwenden werden. + +=== Hinweis === +FreeBSD sieht nicht vor dass UTF-8 an der regulären Konsole verwendet wird. +Dadurch ist es nicht möglich die meisten Sonderzeichen die Neo erlaubt zu +implementerien. Einige ISO-8859 Zeichen, wie Umlaute und Akzentvokale, sind +implementiert aber ein grosser Teil von Neo ist hier nicht zugänglich ohne +grundlegender Überarbeitung des Konsolenmodus unter FreeBSD. Dieser Treiber +ist also nicht als vollständiger Ersatz gedacht, sondern nur um grundlegende +Systemadministration durch Ebene 1-3 möglich zu machen ohne in X zu wechseln. + +Dies trifft nicht zu wenn ein Terminalfenster (lokal oder entfernt) unter +X verwendet wird. Das korrekte Charset zu setzen bleibt aber nicht aus. + +== Neo unter X == +=== Xkb === +Es ist möglich die "de" Datei aus linux/X in FreeBSD zu installieren. Der +Standardordner hierfür ist in den meisten Fällen +/usr/local/share/X11/xkb/symbols oder /usr/share/X11/xkb/symbols. + +Auch hier ergeben sich Probleme mit den Modifiern und bisher scheinen nur +Ebene 1 und 2 verfügbar zu sein. + +=== Xmodmap === +Auch das Laden von neo_de.xmodmap ist möglich aber es ergeben sich ähnliche +Probleme wie bei Xkb. + +== Todo == + +* Funktionierender X-Treiber +* Test der Treiber auf Systemen die auf FreeBSD beruhen wie PC-BSD, etc diff --git a/unix/freebsd/neo.kbd b/unix/freebsd/neo.kbd new file mode 100644 index 0000000..cdd51f8 --- /dev/null +++ b/unix/freebsd/neo.kbd @@ -0,0 +1,143 @@ +# $FreeBSD: src/share/syscons/keymaps/german.iso.acc.kbd,v 1.1 2003/06/19 08:34:38 murray Exp $ +# Neo Layout 2 based on linux/console/neo.map, v0.1 Hendrik Grahl +# TODO: Get M4 modifier and be able to call it +# TODO: Include non ascii characters apart from the umlaute +# TODO: Lv 5 & 6 probably impossible due to ISO reliance +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc debug esc O + 002 '1' '!' nop nop '1' '!' nop nop O + 003 '2' '"' nop nop 178 178 nop nop O + 004 '3' 167 nop nop 179 179 nop nop O + 005 '4' 171 nop nop '4' '$' nop nop O + 006 '5' 187 nop nop '5' '%' nop nop O + 007 '6' 164 nop nop 164 '&' nop nop O + 008 '7' '$' nop nop '{' '{' nop nop O + 009 '8' '"' esc esc '[' '[' esc esc O + 010 '9' '"' gs gs ']' ']' gs gs O + 011 '0' '"' nop nop '}' '}' nop nop O + 012 '-' '-' fs fs nop nop fs fs O + 013 dacu dgra nop nop 179 180 nop nop O + 014 bs bs del del bs bs del del O + 015 ht btab nop nop ht btab nop nop O + 016 'x' 'X' can can '@' '@' can can C + 017 'v' 'V' syn syn '_' '_' syn syn C + 018 'l' 'L' ff ff '[' '[' ff ff C + 019 'c' 'C' etx etx ']' ']' etx etx C + 020 'w' 'W' etb etb '^' '^' etb etb C + 021 'k' 'K' vt vt '!' '!' vt vt C + 022 'h' 'H' bs bs '<' '<' bs bs C + 023 'g' 'G' bel bel '>' '>' bel bel C + 024 'f' 'F' ack ack '=' '=' ack ack C + 025 'q' 'Q' dc1 dc1 '&' '&' nul nul C + 026 223 nop nop nop 252 220 esc nop C + 027 dtil '*' nop nop duml duml nop nop O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 030 'u' 'U' nak nak '\' '\' nak nak C + 031 'i' 'I' ht ht '/' '/' ht ht C + 032 'a' 'A' soh soh '{' '{' soh soh C + 033 'e' 'E' enq enq '}' '}' enq enq C + 034 'o' 'O' si si '*' '*' si si C + 035 's' 'S' dc3 dc3 '?' '?' dc3 dc3 C + 036 'n' 'N' so so '(' '(' so so C + 037 'r' 'R' dc2 dc2 ')' ')' vt vt C + 038 't' 'T' dc4 dc4 '-' '-' dc2 dc2 C + 039 'd' 'D' eot eot ':' ':' eot eot C + 040 'y' 'Y' em em '@' '@' nop nop C + 041 dcir 176 rs rs '^' 176 em em O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 043 ralt ralt ralt ralt ralt ralt ralt ralt O + 044 252 220 nop nop '#' '#' nop nop C + 045 246 214 nop nop '$' '$' nop nop C + 046 228 196 etx etx '|' '|' etx etx C + 047 'p' 'P' dle dle '~' '~' dle dle C + 048 'z' 'Z' sub sub '`' '`' sub sub C + 049 'b' 'B' stx stx '+' '+' stx stx C + 050 'm' 'M' cr cr '%' '%' cr cr C + 051 ',' ';' nop nop '"' '"' nop nop O + 052 '.' ':' nop nop ''' ''' nop nop O + 053 'j' 'J' nl nl ';' ';' nl nl O + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O + 058 ralt ralt ralt ralt ralt ralt ralt ralt O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del '.' '.' '.' '.' '.' boot boot N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 086 '<' '>' nop nop '|' 166 nop nop O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr pscr debug debug nop nop nop nop O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O + 104 slock saver slock saver susp nop susp nop O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop O + + dgra '`' ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 ) + ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 ) + ( 'u' 249 ) ( 'U' 217 ) + dacu 180 ( 'a' 225 ) ( 'A' 193 ) ( 'e' 233 ) ( 'E' 201 ) + ( 'i' 237 ) ( 'I' 205 ) ( 'o' 243 ) ( 'O' 211 ) + ( 'u' 250 ) ( 'U' 218 ) ( 'y' 253 ) ( 'Y' 221 ) + dcir '^' ( 'a' 226 ) ( 'A' 194 ) ( 'e' 234 ) ( 'E' 202 ) + ( 'i' 238 ) ( 'I' 206 ) ( 'o' 244 ) ( 'O' 212 ) + ( 'u' 251 ) ( 'U' 219 ) + dtil '~' ( 'a' 227 ) ( 'A' 195 ) ( 'n' 241 ) ( 'N' 209 ) + ( 'o' 245 ) ( 'O' 213 ) + dmac 000 + dbre 000 + ddot 000 + duml 168 ( 'a' 228 ) ( 'A' 196 ) ( 'e' 235 ) ( 'E' 203 ) + ( 'i' 239 ) ( 'I' 207 ) ( 'o' 246 ) ( 'O' 214 ) + ( 'u' 252 ) ( 'U' 220 ) ( 'y' 255 ) + dsla 000 + drin 176 ( 'a' 229 ) ( 'A' 197 ) + dced 184 ( 'c' 231 ) ( 'C' 199 ) + dapo 000 + ddac 000 + dogo 000 + dcar 000 diff --git a/unix/opensolaris/xmodmap/neo_de.xmodmap b/unix/opensolaris/xmodmap/neo_de.xmodmap new file mode 100644 index 0000000..c762e01 --- /dev/null +++ b/unix/opensolaris/xmodmap/neo_de.xmodmap @@ -0,0 +1,332 @@ +!! ~/.xmodmap +!! +!! Imported from linux/xmodmap/neo_de.xmodmap Rev. 1293 +!! +!! 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 (Fri, 19 Dec 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 Meta_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 enfilledcircbullet NoSymbol notsign NoSymbol +! ° ¹ ₁ • ¬ +keycode 11 = 2 section twosuperior twosubscript U2023 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 NoSymbol Greek_xi NoSymbol 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 ellipsis 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 club 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 heart leftarrow includedin U2286 NoSymbol +! ♥ ← ⊂ ⊆ +keycode 84 = KP_5 EuroSign brokenbar U22B6 U22B7 NoSymbol +! € ¦ ⊶ original of ⊷ image of +keycode 85 = KP_6 U2660 rightarrow includes U2287 NoSymbol +! ♠ → ⊃ ⊇ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! The lower row +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 + +keycode 87 = KP_1 ordfeminine U2194 lessthanequal downstile NoSymbol +! ª ↔ arrow ≤ ⌊ +keycode 88 = KP_2 masculine downarrow union U22C3 NoSymbol +! º ↓ ∪ ⋃ n-ary union +keycode 89 = KP_3 diamond 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. -- cgit v1.2.3