| 1 | #!/bin/bash |
|---|
| 2 | # Copyright 2008 Pascal Hauck <pascal.hauck@web.de> |
|---|
| 3 | |
|---|
| 4 | # ======= Installation ======= |
|---|
| 5 | # Um NEO auf Ihrem System zu (dauerhaft) zu installieren, genügt es, dieses Skript auszuführen |
|---|
| 6 | # z.B. in der Konsole die folgenden beiden Zeilen eingeben: |
|---|
| 7 | # chmod u+x installiere_neo |
|---|
| 8 | # ./installiere_neo |
|---|
| 9 | # Nun ist NEO auf Ihrem System installiert |
|---|
| 10 | # Nach Eingabe von ›. starte_neo‹ oder nach dem nächsten Login ist: |
|---|
| 11 | # ein Wechsel von NEO zu QWERTZ ist jederzeit mit ›uiae‹ leicht möglich und |
|---|
| 12 | # ein Wechsel von QWERTZ zu NEO ist jederzeit mit ›asdf‹ ebenso leicht möglich |
|---|
| 13 | |
|---|
| 14 | # Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, vor die Zeile |
|---|
| 15 | # asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO |
|---|
| 16 | # in der Datei $HOME/.profile ein # zu setzen |
|---|
| 17 | # Alternativ kann das Skript ›installiere_neo‹ ein weiteres mal aufgerufen werden |
|---|
| 18 | # ============================== |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | # ======= Deinstallation ======= |
|---|
| 22 | # Um NEO wieder zu deinstallieren, kann das Skript ›installiere_neo‹ ein weiteres Mal aufgerufen werden |
|---|
| 23 | # ============================== |
|---|
| 24 | |
|---|
| 25 | |
|---|
| 26 | # ======= Bemerkungen ========== |
|---|
| 27 | # Dieses Skript ist eine rudimentäre Installation. |
|---|
| 28 | # Es wird immer das Standardverzeichnis $inst_dir verwendet |
|---|
| 29 | # Es gibt keine graphische Installation |
|---|
| 30 | # Dennoch kann dieses Skrip helfen, NEO auf eine einfache Weise zu installieren. |
|---|
| 31 | # Dieses Skript wird mit der Zeit verbessert werden. |
|---|
| 32 | # ============================== |
|---|
| 33 | |
|---|
| 34 | |
|---|
| 35 | # colours in the Bash |
|---|
| 36 | normal="\033[0m" |
|---|
| 37 | red="\033[31m" |
|---|
| 38 | green="\033[32m" |
|---|
| 39 | |
|---|
| 40 | inst_dir=$HOME/neo |
|---|
| 41 | |
|---|
| 42 | # remove the entry in $HOME/.profile |
|---|
| 43 | rmfromprofile() |
|---|
| 44 | { |
|---|
| 45 | grep -v "^\# NEO:$" $HOME/.profile | grep -v "asdf \# mit" | grep -v "asdf" > $HOME/profile.neo.tmp |
|---|
| 46 | rm /$HOME/.profile |
|---|
| 47 | mv $HOME/profile.neo.tmp $HOME/.profile |
|---|
| 48 | } |
|---|
| 49 | |
|---|
| 50 | # create directories, files and entries |
|---|
| 51 | create() |
|---|
| 52 | { |
|---|
| 53 | if [ -f $2 ] # if already exists |
|---|
| 54 | then |
|---|
| 55 | echo -e "Die Datei ${red}$2${normal} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite |
|---|
| 56 | if [ "$overwrite" = "J" ] # overwrite? |
|---|
| 57 | then |
|---|
| 58 | echo "Datei $2 wird überschrieben!" |
|---|
| 59 | rm -f $2 # remove if user wants to overwrite |
|---|
| 60 | else |
|---|
| 61 | echo -e "Datei ${red}$2${normal} gibt es schon → Installation abgebrochen" |
|---|
| 62 | exit |
|---|
| 63 | fi |
|---|
| 64 | fi |
|---|
| 65 | echo "Erstelle Datei $2" # create |
|---|
| 66 | $1 > $2 # call subroutine $1 and write to file $2 |
|---|
| 67 | } |
|---|
| 68 | |
|---|
| 69 | ## show options if NEO is not installed so far |
|---|
| 70 | install_options() |
|---|
| 71 | { |
|---|
| 72 | echo "Bislang gibt es kein vollständig konfiguriertes NEO auf Ihrem System" |
|---|
| 73 | echo |
|---|
| 74 | echo "Sie haben folgende Möglichkeiten:" |
|---|
| 75 | echo |
|---|
| 76 | echo " [1] NEO nur testen" |
|---|
| 77 | echo " Sie haben die Möglichkeit, NEO zu Testen, ihre Standardbelegung (in der Regel QWERTZ) bleibt erhalten" |
|---|
| 78 | echo |
|---|
| 79 | echo |
|---|
| 80 | echo " [2] NEO als Standardbelegung" |
|---|
| 81 | echo " Mit dieser Option wird NEO die neue Standardbelegung für diesen Benutzer und nach (nicht vor!) dem" |
|---|
| 82 | echo " Login automatisch aktiviert" |
|---|
| 83 | echo |
|---|
| 84 | echo |
|---|
| 85 | echo -e " Wenn ${green}installiere_neo${normal} ein weiteres Mal aufgerufen wird, haben weitere Optionen – z.B. die Deinstallation von NEO" |
|---|
| 86 | echo |
|---|
| 87 | |
|---|
| 88 | installoption="" |
|---|
| 89 | while [ ! $installoption ] # choose between QWERTZ or NEO as standard |
|---|
| 90 | do # switch with ›asdf‹ and ›uiae‹ |
|---|
| 91 | echo |
|---|
| 92 | read -p "Wählen Sie eine Option [1,2]: " -e installoption |
|---|
| 93 | case $installoption in |
|---|
| 94 | 2) |
|---|
| 95 | echo |
|---|
| 96 | echo "Nach dem Login wird NEO die Standardbelegung sein." |
|---|
| 97 | echo -e "Um dies zu ändern, kann ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." |
|---|
| 98 | echo -e ${red} |
|---|
| 99 | read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" |
|---|
| 100 | echo -e ${normal} |
|---|
| 101 | ;; |
|---|
| 102 | 1) |
|---|
| 103 | echo |
|---|
| 104 | echo "Das Standardlayout wird nicht verändert." |
|---|
| 105 | echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." |
|---|
| 106 | echo -e ${red} |
|---|
| 107 | read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" |
|---|
| 108 | echo -e ${normal} |
|---|
| 109 | ;; |
|---|
| 110 | *) |
|---|
| 111 | echo |
|---|
| 112 | echo "Bitte wählen Sie die Optionen 1, um NEO zu testen oder 2, um NEO zur Standardbelegung zu machen" |
|---|
| 113 | installoption="" |
|---|
| 114 | ;; |
|---|
| 115 | esac |
|---|
| 116 | done |
|---|
| 117 | |
|---|
| 118 | |
|---|
| 119 | echo |
|---|
| 120 | echo "Installation von NEO mit xmodmap wird gestartet…" |
|---|
| 121 | echo |
|---|
| 122 | echo |
|---|
| 123 | |
|---|
| 124 | # *** main installation process *** |
|---|
| 125 | # creating a directory $inst_dir |
|---|
| 126 | if [ -d $inst_dir ] |
|---|
| 127 | then |
|---|
| 128 | echo -e "Das Verzeichnis ${red}$inst_dir${normal} gibt es bereits – wird verwendet…" |
|---|
| 129 | else |
|---|
| 130 | echo -e "Erstelle $inst_dir" |
|---|
| 131 | mkdir $inst_dir |
|---|
| 132 | fi |
|---|
| 133 | |
|---|
| 134 | # creating NEO files in $inst_dir |
|---|
| 135 | create neo_xmodmap $inst_dir/neo_de.xmodmap |
|---|
| 136 | create neo_console $inst_dir/neo.map |
|---|
| 137 | create neo_asdf $inst_dir/asdf |
|---|
| 138 | chmod u+x $inst_dir/asdf |
|---|
| 139 | create neo_uiae $inst_dir/uiae |
|---|
| 140 | chmod u+x $inst_dir/uiae |
|---|
| 141 | create neo_referenz $inst_dir/neo20.txt |
|---|
| 142 | create neo_neo $inst_dir/neo |
|---|
| 143 | chmod u+x $inst_dir/neo |
|---|
| 144 | create neo_num $inst_dir/num |
|---|
| 145 | chmod u+x $inst_dir/num |
|---|
| 146 | create neorc $HOME/.neorc |
|---|
| 147 | |
|---|
| 148 | # entry in $HOME/.profile with NEO or QWERTZ as standard keyboard layout after login |
|---|
| 149 | case $installoption in |
|---|
| 150 | 2) |
|---|
| 151 | echo |
|---|
| 152 | echo "Nach dem Login wird NEO die Standardbelegung sein." |
|---|
| 153 | echo -e "Um dies zu ändern, kann ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." |
|---|
| 154 | rmfromprofile |
|---|
| 155 | profile_neo >> $HOME/.profile |
|---|
| 156 | ;; |
|---|
| 157 | 1) |
|---|
| 158 | echo |
|---|
| 159 | echo "Das Standardlayout wird nich verändert." |
|---|
| 160 | rmfromprofile |
|---|
| 161 | profile_qwertz >> $HOME/.profile |
|---|
| 162 | ;; |
|---|
| 163 | esac |
|---|
| 164 | } |
|---|
| 165 | |
|---|
| 166 | # remove files for uninstall option |
|---|
| 167 | remove() |
|---|
| 168 | { |
|---|
| 169 | echo "Entferne $1" |
|---|
| 170 | rm $1 || echo -e "${red}Konnte die Datei $1 nicht entfernen!${normal}" |
|---|
| 171 | } |
|---|
| 172 | |
|---|
| 173 | # remove all directories, files and entries made by ›installiere_neo‹ |
|---|
| 174 | deinstall() |
|---|
| 175 | { |
|---|
| 176 | echo |
|---|
| 177 | echo |
|---|
| 178 | rmfromprofile |
|---|
| 179 | remove $HOME/.neorc |
|---|
| 180 | remove $inst_dir/starte_neo |
|---|
| 181 | remove $inst_dir/uiae |
|---|
| 182 | remove $inst_dir/asdf |
|---|
| 183 | remove $inst_dir/neo.map |
|---|
| 184 | remove $inst_dir/neo_de.xmodmap |
|---|
| 185 | echo "Entferne $inst_dir/" |
|---|
| 186 | rmdir $inst_dir/ || echo -e "${red}Konnte das Verzeichenis $inst_dir/ nicht entfernen!${normal}" |
|---|
| 187 | } |
|---|
| 188 | |
|---|
| 189 | # show options if NEO is already installed |
|---|
| 190 | deinstall_options() |
|---|
| 191 | { |
|---|
| 192 | echo "Es gibt auf Ihrem System bereits eine Konfiguration für NEO." |
|---|
| 193 | echo |
|---|
| 194 | echo "Sollte NEO nur für diesen Benutzer installiert sein, haben folgende Möglichkeiten:" |
|---|
| 195 | echo |
|---|
| 196 | echo " [1] NEO zukünftig nicht mehr als Standardbelegung" |
|---|
| 197 | echo -e " NEO wird nicht länger direkt nach dem Login zur Verfügung stehen, wohl aber nach Eingabe von ${green}adsf${normal}." |
|---|
| 198 | echo |
|---|
| 199 | echo |
|---|
| 200 | echo " [2] NEO vollständig vom System entfernen" |
|---|
| 201 | echo " Dieso Option entfernt alle zuvor angelegten Verzeichnisse, Datein und Einträge zur NEO-Belegung" |
|---|
| 202 | echo |
|---|
| 203 | echo |
|---|
| 204 | echo -e " Diese Optionen funktionieren nur dann zuverlässig, wenn NEO auch mit ${green}installiere_neo${normal} installiert wurde" |
|---|
| 205 | echo |
|---|
| 206 | |
|---|
| 207 | deinstalloption="" |
|---|
| 208 | while [ ! $deinstalloption ] # choose between deleting NEO as standard layout or delete NEO at all |
|---|
| 209 | do # if deleted as standard layout only, ›asdf‹ is still working |
|---|
| 210 | echo |
|---|
| 211 | read -p "Wählen Sie eine Option [1,2]: " -e deinstalloption |
|---|
| 212 | case $deinstalloption in |
|---|
| 213 | 2) |
|---|
| 214 | echo |
|---|
| 215 | echo -e "Alle zuvor von ${green}installiere_neo${normal} vorgenommen Änderungen am System werden gelöscht!" |
|---|
| 216 | echo -e ${red} |
|---|
| 217 | read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" |
|---|
| 218 | echo -e ${normal} |
|---|
| 219 | cd $inst_dir |
|---|
| 220 | ./uiae |
|---|
| 221 | deinstall # full deinstallation |
|---|
| 222 | echo |
|---|
| 223 | echo -e "Alle von ${green}installiere_neo${normal} gemachten Änderungen an Ihrem System wurden entfernt." |
|---|
| 224 | ;; |
|---|
| 225 | 1) |
|---|
| 226 | echo |
|---|
| 227 | echo "NEO wird als Standardbelegung entfernt" |
|---|
| 228 | echo -e "Zu NEO kann man weiterhin jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." |
|---|
| 229 | echo -e ${red} |
|---|
| 230 | read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" |
|---|
| 231 | echo -e ${normal} |
|---|
| 232 | echo |
|---|
| 233 | rmfromprofile # alter the entry in $HOME/.profile; first: remove old entry |
|---|
| 234 | profile_qwertz >> $HOME/.profile # write the new entry |
|---|
| 235 | echo |
|---|
| 236 | echo "Nach dem nächsten Login wird NEO nicht mehr die Standardbelegung sein. " |
|---|
| 237 | ;; |
|---|
| 238 | *) |
|---|
| 239 | echo |
|---|
| 240 | echo "Bitte wählen Sie die Optionen 1, um NEO nicht länger als Standardbelegung zu nutzen" |
|---|
| 241 | echo " oder 2, um NEO vollständig zu entfernen" |
|---|
| 242 | deinstalloption="" |
|---|
| 243 | ;; |
|---|
| 244 | esac |
|---|
| 245 | done |
|---|
| 246 | } |
|---|
| 247 | |
|---|
| 248 | neo_xmodmap () |
|---|
| 249 | { |
|---|
| 250 | cat <<NEO_XMODMAP |
|---|
| 251 | !! ~/.xmodmap |
|---|
| 252 | !! |
|---|
| 253 | !! German NEO-Layout |
|---|
| 254 | !! adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de> |
|---|
| 255 | !! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ |
|---|
| 256 | !! Authors: |
|---|
| 257 | !! Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany> |
|---|
| 258 | !! Erik Streb <mail at erikstreb dot de> |
|---|
| 259 | !! Pascal Hauck <pascal dot hauck at web dot de> |
|---|
| 260 | !! |
|---|
| 261 | !! Other Questions: |
|---|
| 262 | !! <mailinglist at neo-layout dot org> |
|---|
| 263 | !! |
|---|
| 264 | !! \$Revision: 1293 \$, \$Date: 2008-12-19 09:39:48 +0100 (Fr, 19 Dez 2008) \$ |
|---|
| 265 | !! http://pebbles.schattenlauf.de/layout.php |
|---|
| 266 | !! |
|---|
| 267 | !! To try the layout in this file, simply do xmodmap <file>. |
|---|
| 268 | !! To load the layout in this file at X startup, simply store it as |
|---|
| 269 | !! ~/.xmodmap |
|---|
| 270 | |
|---|
| 271 | |
|---|
| 272 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 273 | ! Ebenen |
|---|
| 274 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 275 | ! Ebene 1: normal |
|---|
| 276 | ! Ebene 2: Shift |
|---|
| 277 | ! Ebene 3: Mod3 |
|---|
| 278 | ! Ebene 4: Mod4 (zum Markieren Shift+Mod4) |
|---|
| 279 | ! Ebene 5: Shift+Mod3 |
|---|
| 280 | ! Ebene 6: Mod3+Mod4 (in dieser Reihenfolge!) |
|---|
| 281 | ! Ebene 7: wird (bis auf technisch bedingte Ausnahmen) nicht belegt |
|---|
| 282 | ! Multi_key=Compose (keine eigene Ebene): Mod3+Tab or right window key |
|---|
| 283 | ! Feststellen/Shift_Lock: Shift+Shift |
|---|
| 284 | ! Mod4_Lock: Mod4(rechts)+Mod4(links) |
|---|
| 285 | |
|---|
| 286 | ! Reihenfolge der Ebenen in der Xmodmap: |
|---|
| 287 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 |
|---|
| 288 | |
|---|
| 289 | |
|---|
| 290 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 291 | ! Modifier definition |
|---|
| 292 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 293 | clear Lock |
|---|
| 294 | clear Mod2 |
|---|
| 295 | ! Mod2 war NumLock ! |
|---|
| 296 | clear Mod3 |
|---|
| 297 | clear Mod5 |
|---|
| 298 | |
|---|
| 299 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 300 | ! Shift |
|---|
| 301 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 302 | ! 50=left 62=right |
|---|
| 303 | ! Shift+Shift ergibt ein ShiftLock (wie Caps, wirkt aber auf alle Zeichen, nicht nur auf Großbuchstaben) |
|---|
| 304 | ! Der Lock lässt sich durch ein weiteres Shift lösen. |
|---|
| 305 | ! Eigentlich (siehe Referenz) sollte hier ein CapsLock stehen. |
|---|
| 306 | keycode 50 = Shift_L Shift_Lock |
|---|
| 307 | keycode 62 = Shift_R Shift_Lock |
|---|
| 308 | |
|---|
| 309 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 310 | ! Mod3 |
|---|
| 311 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 312 | ! 66=left 51=right |
|---|
| 313 | ! Make CapsLock an modifier called Mod3 (similar to AltGr) (Mode_switch or ISO_Group_Shift is for 3rd and 4th level) |
|---|
| 314 | ! Make former CapsLock and qwertz-# to Mode_switch or ISO_Group_Shift |
|---|
| 315 | ! Mod3(links) (=Qwertz-Caps) erlaubt nur 4 Ebenen |
|---|
| 316 | ! 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. |
|---|
| 317 | keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group NoSymbol |
|---|
| 318 | keycode 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group NoSymbol |
|---|
| 319 | |
|---|
| 320 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 321 | ! Mod4 |
|---|
| 322 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 323 | ! 94=left 113=right |
|---|
| 324 | ! Make the former AltGr and qwertz-< to Mod4 (ISO_Level3_Shift) |
|---|
| 325 | ! Mod4(rechts)+Mod4(links) lässt Mod4 einrasten (Mod4Lock) |
|---|
| 326 | ! das funktioniert nur in dieser Reihenfolge, da Mod4(rechts) (=Qwertz-AltGr) nur 4 Ebenen hat |
|---|
| 327 | ! Der Lock lässt sich durch ein weiteres Mod4 lösen. |
|---|
| 328 | keysym less = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock NoSymbol |
|---|
| 329 | keysym ISO_Level3_Shift = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock NoSymbol |
|---|
| 330 | |
|---|
| 331 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 332 | ! window keys |
|---|
| 333 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 334 | ! keysym Super_L = Super_L |
|---|
| 335 | ! keycode 116 = Super_R |
|---|
| 336 | keysym Super_R = Multi_key Multi_key |
|---|
| 337 | ! add Mod4 = Super_L |
|---|
| 338 | |
|---|
| 339 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 340 | ! general Lock |
|---|
| 341 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 342 | ! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers |
|---|
| 343 | ! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!! |
|---|
| 344 | ! keycode 115 = ISO_Lock NoSymbol |
|---|
| 345 | ! add Lock = ISO_Lock |
|---|
| 346 | |
|---|
| 347 | |
|---|
| 348 | ! add Mod3 = ISO_Group_Shift |
|---|
| 349 | ! add Mod5 = ISO_Level3_Shift |
|---|
| 350 | |
|---|
| 351 | |
|---|
| 352 | |
|---|
| 353 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 354 | ! main keyboard |
|---|
| 355 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 356 | |
|---|
| 357 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 358 | ! Tab key |
|---|
| 359 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 360 | keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock |
|---|
| 361 | |
|---|
| 362 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 363 | ! Space key |
|---|
| 364 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 365 | keycode 65 = space space space nobreakspace KP_0 KP_0 U202F NoSymbol |
|---|
| 366 | |
|---|
| 367 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 368 | ! dead keys |
|---|
| 369 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 370 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 |
|---|
| 371 | |
|---|
| 372 | keycode 49 = dead_circumflex dead_tilde dead_abovering dead_breve dead_caron Pointer_EnableKeys dead_macron NoSymbol |
|---|
| 373 | ! called T1 ˆ ˜ ˚ ˘ ˇ (keypad-mouse mode) ¯ |
|---|
| 374 | keycode 21 = dead_grave NoSymbol dead_diaeresis U1FFE NoSymbol NoSymbol NoSymbol NoSymbol |
|---|
| 375 | ! called T2 \` ¨ ῾ dasia (asper) |
|---|
| 376 | keycode 35 = dead_acute dead_cedilla dead_stroke U1FBF dead_doubleacute NoSymbol dead_abovedot NoSymbol |
|---|
| 377 | ! called T3 ´ ¸ / ᾿ psili (lenis) ˝ ˙ |
|---|
| 378 | |
|---|
| 379 | |
|---|
| 380 | |
|---|
| 381 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 382 | ! The first row (number Row) |
|---|
| 383 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 384 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 |
|---|
| 385 | |
|---|
| 386 | keycode 10 = 1 degree onesuperior onesubscript ordfeminine NoSymbol notsign NoSymbol |
|---|
| 387 | ! ° ¹ ₁ ª ¬ |
|---|
| 388 | keycode 11 = 2 section twosuperior twosubscript masculine NoSymbol logicalor NoSymbol |
|---|
| 389 | ! § ² ₂ º ∨ |
|---|
| 390 | keycode 12 = 3 U2113 threesuperior threesubscript numerosign NoSymbol logicaland NoSymbol |
|---|
| 391 | ! ℓ liter ³ ₃ № ∧ |
|---|
| 392 | keycode 13 = 4 guillemotright U203A dagger Prior Prior downtack NoSymbol |
|---|
| 393 | ! » › † ⊥ perpendicular |
|---|
| 394 | keycode 14 = 5 guillemotleft U2039 femalesymbol periodcentered NoSymbol U2221 NoSymbol |
|---|
| 395 | ! « ‹ ♀ · ∡ angle sign |
|---|
| 396 | keycode 15 = 6 EuroSign cent malesymbol sterling NoSymbol U2225 NoSymbol |
|---|
| 397 | ! € ¢ ♂ £ ∥ parallel |
|---|
| 398 | |
|---|
| 399 | keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol rightarrow NoSymbol |
|---|
| 400 | ! \$ ¥ κ ¤ → |
|---|
| 401 | keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket NoSymbol NoSymbol infinity NoSymbol |
|---|
| 402 | ! „ ‚ ⟨ (bra) ∞ |
|---|
| 403 | keycode 18 = 9 leftdoublequotemark leftsinglequotemark rightanglebracket KP_Divide KP_Divide containsas NoSymbol |
|---|
| 404 | ! “ ‘ ⟩ (ket) / / ∋ |
|---|
| 405 | keycode 19 = 0 rightdoublequotemark rightsinglequotemark zerosubscript KP_Multiply KP_Multiply emptyset NoSymbol |
|---|
| 406 | ! ” ’ ₀ * * ∅ |
|---|
| 407 | keycode 20 = minus emdash NoSymbol U2011 KP_Subtract KP_Subtract hyphen NoSymbol |
|---|
| 408 | ! - — ‑ non-breaking - - soft hyphen |
|---|
| 409 | |
|---|
| 410 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 411 | ! The upper row |
|---|
| 412 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 413 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 |
|---|
| 414 | |
|---|
| 415 | keycode 24 = x X ellipsis Greek_xi U22EE NoSymbol Greek_XI Greek_XI |
|---|
| 416 | ! … ξ ⋮ Ξ Ξ |
|---|
| 417 | keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259 NoSymbol |
|---|
| 418 | ! _ ≙ ≙ |
|---|
| 419 | keycode 26 = l L bracketleft Greek_lambda Up Up Greek_LAMBDA Greek_LAMBDA |
|---|
| 420 | ! [ λ Λ Λ |
|---|
| 421 | keycode 27 = c C bracketright Greek_chi Delete Delete U2102 NoSymbol |
|---|
| 422 | ! ] χ ℂ komplex |
|---|
| 423 | keycode 28 = w W asciicircum Greek_omega Insert Insert Greek_OMEGA Greek_OMEGA |
|---|
| 424 | ! ^ ω Ω Ω |
|---|
| 425 | |
|---|
| 426 | keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical NoSymbol |
|---|
| 427 | ! ! ϰ Greek_kappa ¡ √ |
|---|
| 428 | keycode 30 = h H less Greek_psi KP_7 KP_7 Greek_PSI Greek_PSI |
|---|
| 429 | ! < ψ Ψ Ψ |
|---|
| 430 | keycode 31 = g G greater Greek_gamma KP_8 KP_8 Greek_GAMMA Greek_GAMMA |
|---|
| 431 | ! > γ Γ Γ |
|---|
| 432 | keycode 32 = f F equal Greek_phi KP_9 KP_9 Greek_PHI Greek_PHI |
|---|
| 433 | ! = φ Φ Φ |
|---|
| 434 | keycode 33 = q Q ampersand U03D5 KP_Add KP_Add U211A NoSymbol |
|---|
| 435 | ! & ϕ Greek_phi + + ℚ rational |
|---|
| 436 | keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma NoSymbol NoSymbol jot NoSymbol |
|---|
| 437 | ! ß ẞ Capital ß ſ long s ς ∘ ring operator |
|---|
| 438 | |
|---|
| 439 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 440 | ! The home row (middle row) |
|---|
| 441 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 442 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 |
|---|
| 443 | |
|---|
| 444 | keycode 38 = u U backslash NoSymbol Home Home U222E NoSymbol |
|---|
| 445 | ! \ ∮ contour integral |
|---|
| 446 | keycode 39 = i I slash Greek_iota Left Left integral NoSymbol |
|---|
| 447 | ! / ι ∫ |
|---|
| 448 | keycode 40 = a A braceleft Greek_alpha Down Down U2200 NoSymbol |
|---|
| 449 | ! { α ∀ for all |
|---|
| 450 | keycode 41 = e E braceright Greek_epsilon Right Right U2203 NoSymbol |
|---|
| 451 | ! } ε ∃ there exists |
|---|
| 452 | keycode 42 = o O asterisk Greek_omicron End End elementof NoSymbol |
|---|
| 453 | ! * ο ∈ |
|---|
| 454 | |
|---|
| 455 | keycode 43 = s S question Greek_sigma questiondown NoSymbol Greek_SIGMA Greek_SIGMA |
|---|
| 456 | ! ? σ ¿ Σ Σ |
|---|
| 457 | keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115 NoSymbol |
|---|
| 458 | ! ( ν ℕ natural |
|---|
| 459 | keycode 45 = r R parenright U03F1 KP_5 KP_5 U211D NoSymbol |
|---|
| 460 | ! ) ϱ Greek_rho ℝ real |
|---|
| 461 | keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative |
|---|
| 462 | ! - τ ∂ |
|---|
| 463 | keycode 47 = d D colon Greek_delta KP_Separator NoSymbol Greek_DELTA Greek_DELTA |
|---|
| 464 | ! : δ ,/. Δ Δ |
|---|
| 465 | keycode 48 = y Y at Greek_upsilon KP_Decimal NoSymbol nabla NoSymbol |
|---|
| 466 | ! @ υ ./, ∇ |
|---|
| 467 | |
|---|
| 468 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 469 | ! The lower row |
|---|
| 470 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 471 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6 Ebene7 |
|---|
| 472 | |
|---|
| 473 | keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape U211C NoSymbol |
|---|
| 474 | ! ü Ü # ℜ real part |
|---|
| 475 | keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab ISO_Left_Tab U2111 NoSymbol |
|---|
| 476 | ! ö Ö \$ ℑ imaginary part |
|---|
| 477 | keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U2135 NoSymbol |
|---|
| 478 | ! ä Ä | η ℵ alef symbol |
|---|
| 479 | keycode 55 = p P asciitilde Greek_pi Return Return Greek_PI Greek_PI |
|---|
| 480 | ! ~ π Π Π |
|---|
| 481 | keycode 56 = z Z grave Greek_zeta Undo Redo U2124 NoSymbol |
|---|
| 482 | ! \` ζ ℤ integers |
|---|
| 483 | |
|---|
| 484 | keycode 57 = b B plus Greek_beta colon NoSymbol U21D0 NoSymbol |
|---|
| 485 | ! + β : ⇐ |
|---|
| 486 | keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif NoSymbol |
|---|
| 487 | ! % μ ⇔ |
|---|
| 488 | keycode 59 = comma endash quotedbl Greek_rho KP_2 KP_2 U21D2 NoSymbol |
|---|
| 489 | ! , – " ρ ⇒ implies |
|---|
| 490 | keycode 60 = period enfilledcircbullet apostrophe U03D1 KP_3 KP_3 Greek_THETA Greek_THETA |
|---|
| 491 | ! . • ' ϑ Greek_theta Θ |
|---|
| 492 | keycode 61 = j J semicolon Greek_theta semicolon NoSymbol variation NoSymbol |
|---|
| 493 | ! ; θ ; ∝ proportional to |
|---|
| 494 | |
|---|
| 495 | |
|---|
| 496 | |
|---|
| 497 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 498 | ! Keypad |
|---|
| 499 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 500 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 501 | ! The uppest row |
|---|
| 502 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 503 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 |
|---|
| 504 | |
|---|
| 505 | keycode 77 = Tab ISO_Left_Tab equal approxeq identical NoSymbol |
|---|
| 506 | ! = ≈ almost equal ≡ identical to |
|---|
| 507 | keysym KP_Divide = KP_Divide KP_Divide division U2300 U2223 NoSymbol |
|---|
| 508 | ! / / ÷ ⌀ diameter ∣ divides |
|---|
| 509 | keycode 63 = KP_Multiply KP_Multiply U22C5 U2299 U2297 NoSymbol |
|---|
| 510 | ! * * ⋅ dot ⊙ cirled dot ⊗ circled times |
|---|
| 511 | keycode 82 = KP_Subtract KP_Subtract U2212 U2296 U2238 NoSymbol |
|---|
| 512 | ! - - − real minus ⊖ cirled minus ∸ dot minus |
|---|
| 513 | |
|---|
| 514 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 515 | ! The upper row |
|---|
| 516 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 517 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 |
|---|
| 518 | |
|---|
| 519 | keycode 79 = KP_7 U2714 U2195 U226A upstile NoSymbol |
|---|
| 520 | ! ✔ check mark ↕ arrow ≪ much less ⌈ |
|---|
| 521 | keycode 80 = KP_8 U2718 uparrow intersection U22C2 NoSymbol |
|---|
| 522 | ! ✘ ballot x ↑ ∩ ⋂ n-ary intersection |
|---|
| 523 | keycode 81 = KP_9 NoSymbol U20D7 U226B U2309 NoSymbol |
|---|
| 524 | ! vector ≫ much greater ⌉ |
|---|
| 525 | keycode 86 = KP_Add KP_Add plusminus U2295 U2214 NoSymbol |
|---|
| 526 | ! + + ± circled plus dot plus |
|---|
| 527 | |
|---|
| 528 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 529 | ! The middle row |
|---|
| 530 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 531 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 |
|---|
| 532 | |
|---|
| 533 | keycode 83 = KP_4 club leftarrow includedin U2286 NoSymbol |
|---|
| 534 | ! ♣ ← ⊂ ⊆ |
|---|
| 535 | keycode 84 = KP_5 EuroSign brokenbar U22B6 U22B7 NoSymbol |
|---|
| 536 | ! € ¦ ⊶ original of ⊷ image of |
|---|
| 537 | keycode 85 = KP_6 U2023 rightarrow includes U2287 NoSymbol |
|---|
| 538 | ! ‣ → ⊃ ⊇ |
|---|
| 539 | |
|---|
| 540 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 541 | ! The lower row |
|---|
| 542 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 543 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 |
|---|
| 544 | |
|---|
| 545 | keycode 87 = KP_1 diamond U2194 lessthanequal downstile NoSymbol |
|---|
| 546 | ! ♦ ↔ arrow ≤ ⌊ |
|---|
| 547 | keycode 88 = KP_2 heart downarrow union U22C3 NoSymbol |
|---|
| 548 | ! ♥ ↓ ∪ ⋃ n-ary union |
|---|
| 549 | keycode 89 = KP_3 U2660 U21CC greaterthanequal U230B NoSymbol |
|---|
| 550 | ! ♠ ⇌ ≥ ⌋ |
|---|
| 551 | ! keycode 108 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter |
|---|
| 552 | ! |
|---|
| 553 | |
|---|
| 554 | |
|---|
| 555 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 556 | ! The lowest row |
|---|
| 557 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 558 | ! Ebene1 Ebene2 Ebene3 Ebene5 Ebene6 Ebene7 |
|---|
| 559 | |
|---|
| 560 | keycode 90 = KP_0 U2423 percent U2030 U25A1 NoSymbol |
|---|
| 561 | ! ␣ space sign % ‰ per mille □ white square |
|---|
| 562 | keycode 91 = comma period KP_Separator minutes seconds NoSymbol |
|---|
| 563 | ! , . ,/. ′ min,feets ″ sec,inches |
|---|
| 564 | |
|---|
| 565 | |
|---|
| 566 | |
|---|
| 567 | |
|---|
| 568 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 569 | ! Bemerkungen |
|---|
| 570 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 571 | ! 1.) Ebene 6 (hier: der 7. Eintrag) erreicht man über ISO_Group_Shift+ISO_Group_Shift |
|---|
| 572 | ! (bzw. mode_switch+mode_switch) und über keine andere mir bekannte Kombination. Insbesondere legt |
|---|
| 573 | ! ISO_Level3_Shift Level3 (Ebene 4, hier: Eintrag 5) fest, verschiebt also nicht. Darum kann man |
|---|
| 574 | ! ISO_Level3_Shift nur mit Shift sinnvoll kombinieren. Daraus resultiert, dass Ebene 6 nur über |
|---|
| 575 | ! Mod3+Mod4 (in dieser Reihenfolge!) erreicht werden kann. |
|---|
| 576 | ! |
|---|
| 577 | ! 2.) Die KP_-Einträge ermöglichen die Steuerung des Mauscursors mit der Tastatur. |
|---|
| 578 | ! Hierzu wird mittels Mod4+ß dieser Betriebsmodus ein- und später wieder ausgeschaltet. |
|---|
| 579 | ! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit |
|---|
| 580 | ! eingerastetem Mod4) erfolgen. |
|---|
| 581 | NEO_XMODMAP |
|---|
| 582 | } |
|---|
| 583 | |
|---|
| 584 | neo_console () |
|---|
| 585 | { |
|---|
| 586 | cat <<NEO_CONSOLE |
|---|
| 587 | ! neo.map - german NEO keyboard layout |
|---|
| 588 | ! 2008 Pascal Hauck, <pascal.hauck@web.de> |
|---|
| 589 | ! |
|---|
| 590 | ! Diese Datei ist experimentell! |
|---|
| 591 | ! Sollten Fehler auftreten oder sich verschiedene Linux-Distributionen |
|---|
| 592 | ! anders verhalten als erwartet, sollte dies auf der Mailingliste |
|---|
| 593 | ! der NEO-Tastaturbelegung gemeldet werden. |
|---|
| 594 | ! |
|---|
| 595 | ! Diese Keymap wird über einige Skripte automatisch aus der neo_de.xmodmap |
|---|
| 596 | ! erzeugt. |
|---|
| 597 | ! |
|---|
| 598 | |
|---|
| 599 | keymaps 0-18 |
|---|
| 600 | strings as usual |
|---|
| 601 | compose as usual |
|---|
| 602 | ! -------------------------------------------------------------------------- |
|---|
| 603 | ! Modifier definitions |
|---|
| 604 | ! -------------------------------------------------------------------------- |
|---|
| 605 | keycode 42 = Shift |
|---|
| 606 | # shift keycode 42 = Caps_Lock |
|---|
| 607 | keycode 54 = Shift |
|---|
| 608 | # shift keycode 54 = Caps_Lock |
|---|
| 609 | keycode 58 = AltGr |
|---|
| 610 | # altgr keycode 58 = AltGr_Lock |
|---|
| 611 | keycode 43 = AltGr |
|---|
| 612 | # altgr keycode 43 = AltGr_Lock |
|---|
| 613 | keycode 86 = ShiftL |
|---|
| 614 | # shiftl keycode 86 = ShiftL_Lock |
|---|
| 615 | keycode 100 = ShiftL |
|---|
| 616 | # shiftl keycode 100 = ShiftL_Lock |
|---|
| 617 | |
|---|
| 618 | keycode 1 = Escape Escape Escape Escape |
|---|
| 619 | shiftl keycode 57 = Escape |
|---|
| 620 | shift shiftl keycode 57 = Escape |
|---|
| 621 | altgr shiftl keycode 57 = Escape |
|---|
| 622 | alt keycode 1 = Meta_Escape |
|---|
| 623 | shift altgr keycode 1 = Meta_Escape |
|---|
| 624 | |
|---|
| 625 | ! -------------------------------------------------------------------------- |
|---|
| 626 | ! function keys |
|---|
| 627 | ! -------------------------------------------------------------------------- |
|---|
| 628 | ! ----Backspace------------------------------------------------------------- |
|---|
| 629 | keycode 14 = Delete Delete |
|---|
| 630 | alt keycode 14 = Meta_Delete |
|---|
| 631 | shift alt keycode 14 = Meta_Delete |
|---|
| 632 | ! ----Return Enter---------------------------------------------------------- |
|---|
| 633 | keycode 28 = Return |
|---|
| 634 | alt keycode 28 = Meta_Control_m |
|---|
| 635 | keycode 96 = KP_Enter |
|---|
| 636 | altgr keycode 96 = Hex_F |
|---|
| 637 | ! ----Tab------------------------------------------------------------------- |
|---|
| 638 | keycode 15 = Tab Meta_Tab |
|---|
| 639 | alt keycode 15 = Meta_Tab |
|---|
| 640 | altgr keycode 15 = Compose |
|---|
| 641 | ! ----Control Alt----------------------------------------------------------- |
|---|
| 642 | keycode 29 = Control |
|---|
| 643 | keycode 97 = Control |
|---|
| 644 | keycode 56 = Alt |
|---|
| 645 | ! ----Prt SclLk Pause------------------------------------------------------- |
|---|
| 646 | keycode 99 = |
|---|
| 647 | control keycode 99 = Control_backslash |
|---|
| 648 | alt keycode 99 = Control_backslash |
|---|
| 649 | control alt keycode 99 = Meta_Control_backslash |
|---|
| 650 | keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State |
|---|
| 651 | alt keycode 70 = Scroll_Lock |
|---|
| 652 | keycode 119 = Pause |
|---|
| 653 | ! ----Home block------------------------------------------------------------ |
|---|
| 654 | keycode 102 = Find |
|---|
| 655 | keycode 104 = Prior |
|---|
| 656 | shift keycode 104 = Scroll_Backward |
|---|
| 657 | keycode 107 = Select |
|---|
| 658 | keycode 109 = Next |
|---|
| 659 | shift keycode 109 = Scroll_Forward |
|---|
| 660 | keycode 111 = Remove |
|---|
| 661 | altgr control keycode 111 = Boot |
|---|
| 662 | control alt keycode 111 = Boot |
|---|
| 663 | keycode 110 = Insert |
|---|
| 664 | ! ----Navigation block------------------------------------------------------ |
|---|
| 665 | keycode 103 = Up |
|---|
| 666 | alt keycode 103 = KeyboardSignal |
|---|
| 667 | keycode 105 = Left |
|---|
| 668 | alt keycode 105 = Decr_Console |
|---|
| 669 | keycode 106 = Right |
|---|
| 670 | alt keycode 106 = Incr_Console |
|---|
| 671 | keycode 108 = Down |
|---|
| 672 | ! ----Win keys-------------------------------------------------------------- |
|---|
| 673 | keycode 125 = Decr_Console Last_Console Incr_Console |
|---|
| 674 | keycode 126 = Incr_Console Last_Console Decr_Console |
|---|
| 675 | ! ----menue key------------------------------------------------------------- |
|---|
| 676 | keycode 127 = Compose F100 |
|---|
| 677 | ! ----F-keys---------------------------------------------------------------- |
|---|
| 678 | keycode 59 = F1 F13 Console_13 F25 |
|---|
| 679 | alt keycode 59 = Console_1 |
|---|
| 680 | control alt keycode 59 = Console_1 |
|---|
| 681 | keycode 60 = F2 F14 Console_14 F26 |
|---|
| 682 | alt keycode 60 = Console_2 |
|---|
| 683 | control alt keycode 60 = Console_2 |
|---|
| 684 | keycode 61 = F3 F15 Console_15 F27 |
|---|
| 685 | alt keycode 61 = Console_3 |
|---|
| 686 | control alt keycode 61 = Console_3 |
|---|
| 687 | keycode 62 = F4 F16 Console_16 F28 |
|---|
| 688 | alt keycode 62 = Console_4 |
|---|
| 689 | control alt keycode 62 = Console_4 |
|---|
| 690 | keycode 63 = F5 F17 Console_17 F29 |
|---|
| 691 | alt keycode 63 = Console_5 |
|---|
| 692 | control alt keycode 63 = Console_5 |
|---|
| 693 | keycode 64 = F6 F18 Console_18 F30 |
|---|
| 694 | alt keycode 64 = Console_6 |
|---|
| 695 | control alt keycode 64 = Console_6 |
|---|
| 696 | keycode 65 = F7 F19 Console_19 F31 |
|---|
| 697 | alt keycode 65 = Console_7 |
|---|
| 698 | control alt keycode 65 = Console_7 |
|---|
| 699 | keycode 66 = F8 F20 Console_20 F32 |
|---|
| 700 | alt keycode 66 = Console_8 |
|---|
| 701 | control alt keycode 66 = Console_8 |
|---|
| 702 | keycode 67 = F9 F21 Console_21 F33 |
|---|
| 703 | alt keycode 67 = Console_9 |
|---|
| 704 | control alt keycode 67 = Console_9 |
|---|
| 705 | keycode 68 = F10 F22 Console_22 F34 |
|---|
| 706 | alt keycode 68 = Console_10 |
|---|
| 707 | control alt keycode 68 = Console_10 |
|---|
| 708 | keycode 87 = F11 F23 Console_23 F35 |
|---|
| 709 | alt keycode 87 = Console_11 |
|---|
| 710 | control alt keycode 87 = Console_11 |
|---|
| 711 | keycode 88 = F12 F24 Console_24 F36 |
|---|
| 712 | alt keycode 88 = Console_12 |
|---|
| 713 | control alt keycode 88 = Console_12 |
|---|
| 714 | ! ----unknown keys from defkeymap.map--------------------------------------- |
|---|
| 715 | keycode 84 = Last_Console |
|---|
| 716 | keycode 89 = |
|---|
| 717 | keycode 90 = |
|---|
| 718 | keycode 91 = |
|---|
| 719 | keycode 92 = |
|---|
| 720 | keycode 93 = |
|---|
| 721 | keycode 94 = |
|---|
| 722 | keycode 95 = |
|---|
| 723 | keycode 101 = Break |
|---|
| 724 | keycode 112 = Macro |
|---|
| 725 | altgr control keycode 112 = VoidSymbol |
|---|
| 726 | shift alt keycode 112 = VoidSymbol |
|---|
| 727 | altgr alt keycode 112 = VoidSymbol |
|---|
| 728 | keycode 113 = F13 |
|---|
| 729 | altgr control keycode 113 = VoidSymbol |
|---|
| 730 | shift alt keycode 113 = VoidSymbol |
|---|
| 731 | altgr alt keycode 113 = VoidSymbol |
|---|
| 732 | keycode 114 = F14 |
|---|
| 733 | altgr control keycode 114 = VoidSymbol |
|---|
| 734 | shift alt keycode 114 = VoidSymbol |
|---|
| 735 | altgr alt keycode 114 = VoidSymbol |
|---|
| 736 | keycode 115 = Help |
|---|
| 737 | altgr control keycode 115 = VoidSymbol |
|---|
| 738 | shift alt keycode 115 = VoidSymbol |
|---|
| 739 | altgr alt keycode 115 = VoidSymbol |
|---|
| 740 | keycode 116 = Do |
|---|
| 741 | altgr control keycode 116 = VoidSymbol |
|---|
| 742 | shift alt keycode 116 = VoidSymbol |
|---|
| 743 | altgr alt keycode 116 = VoidSymbol |
|---|
| 744 | keycode 117 = F17 |
|---|
| 745 | altgr control keycode 117 = VoidSymbol |
|---|
| 746 | shift alt keycode 117 = VoidSymbol |
|---|
| 747 | altgr alt keycode 117 = VoidSymbol |
|---|
| 748 | keycode 118 = KP_MinPlus |
|---|
| 749 | altgr control keycode 118 = VoidSymbol |
|---|
| 750 | shift alt keycode 118 = VoidSymbol |
|---|
| 751 | altgr alt keycode 118 = VoidSymbol |
|---|
| 752 | keycode 119 = Pause |
|---|
| 753 | keycode 120 = |
|---|
| 754 | keycode 121 = |
|---|
| 755 | keycode 122 = |
|---|
| 756 | keycode 123 = |
|---|
| 757 | keycode 124 = |
|---|
| 758 | |
|---|
| 759 | |
|---|
| 760 | ! ----Space key------------------------------------------------------------- |
|---|
| 761 | keycode 57 = space space space nobreakspace |
|---|
| 762 | shiftl keycode 57 = KP_0 |
|---|
| 763 | shift shiftl keycode 57 = KP_0 |
|---|
| 764 | altgr shiftl keycode 57 = U+202F |
|---|
| 765 | |
|---|
| 766 | ! ----dead keys------------------------------------------------------------- |
|---|
| 767 | keycode 41 = dead_circumflex dead_caron dead_breve VoidSymbol |
|---|
| 768 | shiftl keycode 41 = VoidSymbol |
|---|
| 769 | shift shiftl keycode 41 = VoidSymbol |
|---|
| 770 | altgr shiftl keycode 41 = VoidSymbol |
|---|
| 771 | keycode 13 = dead_acute dead_grave dead_cedilla VoidSymbol |
|---|
| 772 | shiftl keycode 13 = U+0307 |
|---|
| 773 | shift shiftl keycode 13 = VoidSymbol |
|---|
| 774 | altgr shiftl keycode 13 = U+030a |
|---|
| 775 | keycode 27 = dead_tilde U+0304 dead_diaeresis VoidSymbol |
|---|
| 776 | shiftl keycode 27 = dead_doubleacute |
|---|
| 777 | shift shiftl keycode 27 = VoidSymbol |
|---|
| 778 | altgr shiftl keycode 27 = VoidSymbol |
|---|
| 779 | |
|---|
| 780 | ! -------------------------------------------------------------------------- |
|---|
| 781 | ! Row 1 (number row) |
|---|
| 782 | ! -------------------------------------------------------------------------- |
|---|
| 783 | keycode 2 = one degree onesuperior U+2081 |
|---|
| 784 | shiftl keycode 2 = U+2022 |
|---|
| 785 | shift shiftl keycode 2 = VoidSymbol |
|---|
| 786 | altgr shiftl keycode 2 = notsign |
|---|
| 787 | keycode 3 = two U+2116 twosuperior U+2082 |
|---|
| 788 | shiftl keycode 3 = U+2023 |
|---|
| 789 | shift shiftl keycode 3 = VoidSymbol |
|---|
| 790 | altgr shiftl keycode 3 = U+2228 |
|---|
| 791 | keycode 4 = three section threesuperior U+2083 |
|---|
| 792 | shiftl keycode 4 = VoidSymbol |
|---|
| 793 | shift shiftl keycode 4 = VoidSymbol |
|---|
| 794 | altgr shiftl keycode 4 = U+2227 |
|---|
| 795 | keycode 5 = four guillemotright U+203A U+2113 |
|---|
| 796 | shiftl keycode 5 = Prior |
|---|
| 797 | shift shiftl keycode 5 = Prior |
|---|
| 798 | altgr shiftl keycode 5 = U+22a4 |
|---|
| 799 | keycode 6 = five guillemotleft U+2039 U+2640 |
|---|
| 800 | shiftl keycode 6 = VoidSymbol |
|---|
| 801 | shift shiftl keycode 6 = VoidSymbol |
|---|
| 802 | altgr shiftl keycode 6 = U+2221 |
|---|
| 803 | keycode 7 = six U+20ac cent U+2642 |
|---|
| 804 | shiftl keycode 7 = sterling |
|---|
| 805 | shift shiftl keycode 7 = VoidSymbol |
|---|
| 806 | altgr shiftl keycode 7 = U+2225 |
|---|
| 807 | keycode 8 = seven dollar yen U+03ba |
|---|
| 808 | shiftl keycode 8 = currency |
|---|
| 809 | shift shiftl keycode 8 = VoidSymbol |
|---|
| 810 | altgr shiftl keycode 8 = U+21C8 |
|---|
| 811 | keycode 9 = eight U+201e U+201a U+2329 |
|---|
| 812 | shiftl keycode 9 = KP_Divide |
|---|
| 813 | shift shiftl keycode 9 = KP_Divide |
|---|
| 814 | altgr shiftl keycode 9 = U+21C5 |
|---|
| 815 | keycode 10 = nine U+201c U+2018 U+232a |
|---|
| 816 | shiftl keycode 10 = KP_Multiply |
|---|
| 817 | shift shiftl keycode 10 = KP_Multiply |
|---|
| 818 | altgr shiftl keycode 10 = U+220B |
|---|
| 819 | keycode 11 = zero U+201d U+2019 U+2080 |
|---|
| 820 | shiftl keycode 11 = KP_Subtract |
|---|
| 821 | shift shiftl keycode 11 = KP_Subtract |
|---|
| 822 | altgr shiftl keycode 11 = U+2205 |
|---|
| 823 | keycode 12 = minus U+2013 U+2014 U+2011 |
|---|
| 824 | shiftl keycode 12 = VoidSymbol |
|---|
| 825 | shift shiftl keycode 12 = VoidSymbol |
|---|
| 826 | altgr shiftl keycode 12 = hyphen |
|---|
| 827 | |
|---|
| 828 | ! -------------------------------------------------------------------------- |
|---|
| 829 | ! Row 2 (upper row) |
|---|
| 830 | ! -------------------------------------------------------------------------- |
|---|
| 831 | keycode 16 = x X U+2026 U+03be |
|---|
| 832 | shiftl keycode 16 = U+22EE |
|---|
| 833 | shift shiftl keycode 16 = VoidSymbol |
|---|
| 834 | altgr shiftl keycode 16 = U+039E |
|---|
| 835 | control keycode 16 = Control_x |
|---|
| 836 | shift control keycode 16 = Control_x |
|---|
| 837 | alt keycode 16 = Meta_x |
|---|
| 838 | shift alt keycode 16 = Meta_X |
|---|
| 839 | control alt keycode 16 = Meta_Control_x |
|---|
| 840 | keycode 17 = v V underscore VoidSymbol |
|---|
| 841 | shiftl keycode 17 = BackSpace |
|---|
| 842 | shift shiftl keycode 17 = BackSpace |
|---|
| 843 | altgr shiftl keycode 17 = U+2259 |
|---|
| 844 | control keycode 17 = Control_v |
|---|
| 845 | shift control keycode 17 = Control_v |
|---|
| 846 | alt keycode 17 = Meta_v |
|---|
| 847 | shift alt keycode 17 = Meta_V |
|---|
| 848 | control alt keycode 17 = Meta_Control_v |
|---|
| 849 | keycode 18 = l L bracketleft U+03bb |
|---|
| 850 | shiftl keycode 18 = Up |
|---|
| 851 | shift shiftl keycode 18 = Up |
|---|
| 852 | altgr shiftl keycode 18 = U+039B |
|---|
| 853 | control keycode 18 = Control_l |
|---|
| 854 | shift control keycode 18 = Control_l |
|---|
| 855 | alt keycode 18 = Meta_l |
|---|
| 856 | shift alt keycode 18 = Meta_L |
|---|
| 857 | control alt keycode 18 = Meta_Control_l |
|---|
| 858 | keycode 19 = c C bracketright U+03c7 |
|---|
| 859 | shiftl keycode 19 = Remove |
|---|
| 860 | shift shiftl keycode 19 = Remove |
|---|
| 861 | altgr shiftl keycode 19 = U+2102 |
|---|
| 862 | control keycode 19 = Control_c |
|---|
| 863 | shift control keycode 19 = Control_c |
|---|
| 864 | alt keycode 19 = Meta_c |
|---|
| 865 | shift alt keycode 19 = Meta_C |
|---|
| 866 | control alt keycode 19 = Meta_Control_c |
|---|
| 867 | keycode 20 = w W asciicircum U+03c9 |
|---|
| 868 | shiftl keycode 20 = Insert |
|---|
| 869 | shift shiftl keycode 20 = Insert |
|---|
| 870 | altgr shiftl keycode 20 = U+03A9 |
|---|
| 871 | control keycode 20 = Control_w |
|---|
| 872 | shift control keycode 20 = Control_w |
|---|
| 873 | alt keycode 20 = Meta_w |
|---|
| 874 | shift alt keycode 20 = Meta_W |
|---|
| 875 | control alt keycode 20 = Meta_Control_w |
|---|
| 876 | keycode 21 = k K exclam U+03F0 |
|---|
| 877 | shiftl keycode 21 = exclamdown |
|---|
| 878 | shift shiftl keycode 21 = VoidSymbol |
|---|
| 879 | altgr shiftl keycode 21 = U+221a |
|---|
| 880 | control keycode 21 = Control_k |
|---|
| 881 | shift control keycode 21 = Control_k |
|---|
| 882 | alt keycode 21 = Meta_k |
|---|
| 883 | shift alt keycode 21 = Meta_K |
|---|
| 884 | control alt keycode 21 = Meta_Control_k |
|---|
| 885 | keycode 22 = h H less U+03c8 |
|---|
| 886 | shiftl keycode 22 = KP_7 |
|---|
| 887 | shift shiftl keycode 22 = KP_7 |
|---|
| 888 | altgr shiftl keycode 22 = U+03A8 |
|---|
| 889 | control keycode 22 = Control_h |
|---|
| 890 | shift control keycode 22 = Control_h |
|---|
| 891 | alt keycode 22 = Meta_h |
|---|
| 892 | shift alt keycode 22 = Meta_H |
|---|
| 893 | control alt keycode 22 = Meta_Control_h |
|---|
| 894 | keycode 23 = g G greater U+03b3 |
|---|
| 895 | shiftl keycode 23 = KP_8 |
|---|
| 896 | shift shiftl keycode 23 = KP_8 |
|---|
| 897 | altgr shiftl keycode 23 = U+0393 |
|---|
| 898 | control keycode 23 = Control_g |
|---|
| 899 | shift control keycode 23 = Control_g |
|---|
| 900 | alt keycode 23 = Meta_g |
|---|
| 901 | shift alt keycode 23 = Meta_G |
|---|
| 902 | control alt keycode 23 = Meta_Control_g |
|---|
| 903 | keycode 24 = f F equal U+03c6 |
|---|
| 904 | shiftl keycode 24 = KP_9 |
|---|
| 905 | shift shiftl keycode 24 = KP_9 |
|---|
| 906 | altgr shiftl keycode 24 = U+03A6 |
|---|
| 907 | control keycode 24 = Control_f |
|---|
| 908 | shift control keycode 24 = Control_f |
|---|
| 909 | alt keycode 24 = Meta_f |
|---|
| 910 | shift alt keycode 24 = Meta_F |
|---|
| 911 | control alt keycode 24 = Meta_Control_f |
|---|
| 912 | keycode 25 = q Q ampersand U+03D5 |
|---|
| 913 | shiftl keycode 25 = KP_Add |
|---|
| 914 | shift shiftl keycode 25 = KP_Add |
|---|
| 915 | altgr shiftl keycode 25 = U+211A |
|---|
| 916 | control keycode 25 = Control_q |
|---|
| 917 | shift control keycode 25 = Control_q |
|---|
| 918 | alt keycode 25 = Meta_q |
|---|
| 919 | shift alt keycode 25 = Meta_Q |
|---|
| 920 | control alt keycode 25 = Meta_Control_q |
|---|
| 921 | keycode 26 = ssharp U+1E9E U+017F U+03c2 |
|---|
| 922 | shiftl keycode 26 = VoidSymbol |
|---|
| 923 | shift shiftl keycode 26 = VoidSymbol |
|---|
| 924 | altgr shiftl keycode 26 = U+2218 |
|---|
| 925 | |
|---|
| 926 | ! -------------------------------------------------------------------------- |
|---|
| 927 | ! Row 3 (home row, middle row) |
|---|
| 928 | ! -------------------------------------------------------------------------- |
|---|
| 929 | keycode 30 = u U backslash VoidSymbol |
|---|
| 930 | shiftl keycode 30 = Home |
|---|
| 931 | shift shiftl keycode 30 = Home |
|---|
| 932 | altgr shiftl keycode 30 = U+222E |
|---|
| 933 | control keycode 30 = Control_u |
|---|
| 934 | shift control keycode 30 = Control_u |
|---|
| 935 | alt keycode 30 = Meta_u |
|---|
| 936 | shift alt keycode 30 = Meta_U |
|---|
| 937 | control alt keycode 30 = Meta_Control_u |
|---|
| 938 | keycode 31 = i I slash U+03b9 |
|---|
| 939 | shiftl keycode 31 = Left |
|---|
| 940 | shift shiftl keycode 31 = Left |
|---|
| 941 | altgr shiftl keycode 31 = U+222b |
|---|
| 942 | control keycode 31 = Control_i |
|---|
| 943 | shift control keycode 31 = Control_i |
|---|
| 944 | alt keycode 31 = Meta_i |
|---|
| 945 | shift alt keycode 31 = Meta_I |
|---|
| 946 | control alt keycode 31 = Meta_Control_i |
|---|
| 947 | keycode 32 = a A braceleft U+03b1 |
|---|
| 948 | shiftl keycode 32 = Down |
|---|
| 949 | shift shiftl keycode 32 = Down |
|---|
| 950 | altgr shiftl keycode 32 = U+2200 |
|---|
| 951 | control keycode 32 = Control_a |
|---|
| 952 | shift control keycode 32 = Control_a |
|---|
| 953 | alt keycode 32 = Meta_a |
|---|
| 954 | shift alt keycode 32 = Meta_A |
|---|
| 955 | control alt keycode 32 = Meta_Control_a |
|---|
| 956 | keycode 33 = e E braceright U+03b5 |
|---|
| 957 | shiftl keycode 33 = Right |
|---|
| 958 | shift shiftl keycode 33 = Right |
|---|
| 959 | altgr shiftl keycode 33 = U+2203 |
|---|
| 960 | control keycode 33 = Control_e |
|---|
| 961 | shift control keycode 33 = Control_e |
|---|
| 962 | alt keycode 33 = Meta_e |
|---|
| 963 | shift alt keycode 33 = Meta_E |
|---|
| 964 | control alt keycode 33 = Meta_Control_e |
|---|
| 965 | keycode 34 = o O asterisk U+03bf |
|---|
| 966 | shiftl keycode 34 = End |
|---|
| 967 | shift shiftl keycode 34 = End |
|---|
| 968 | altgr shiftl keycode 34 = U+2208 |
|---|
| 969 | control keycode 34 = Control_o |
|---|
| 970 | shift control keycode 34 = Control_o |
|---|
| 971 | alt keycode 34 = Meta_o |
|---|
| 972 | shift alt keycode 34 = Meta_O |
|---|
| 973 | control alt keycode 34 = Meta_Control_o |
|---|
| 974 | keycode 35 = s S question U+03c3 |
|---|
| 975 | shiftl keycode 35 = questiondown |
|---|
| 976 | shift shiftl keycode 35 = VoidSymbol |
|---|
| 977 | altgr shiftl keycode 35 = U+03A3 |
|---|
| 978 | control keycode 35 = Control_s |
|---|
| 979 | shift control keycode 35 = Control_s |
|---|
| 980 | alt keycode 35 = Meta_s |
|---|
| 981 | shift alt keycode 35 = Meta_S |
|---|
| 982 | control alt keycode 35 = Meta_Control_s |
|---|
| 983 | keycode 36 = n N parenleft U+03bd |
|---|
| 984 | shiftl keycode 36 = KP_4 |
|---|
| 985 | shift shiftl keycode 36 = KP_4 |
|---|
| 986 | altgr shiftl keycode 36 = U+2115 |
|---|
| 987 | control keycode 36 = Control_n |
|---|
| 988 | shift control keycode 36 = Control_n |
|---|
| 989 | alt keycode 36 = Meta_n |
|---|
| 990 | shift alt keycode 36 = Meta_N |
|---|
| 991 | control alt keycode 36 = Meta_Control_n |
|---|
| 992 | keycode 37 = r R parenright U+03F1 |
|---|
| 993 | shiftl keycode 37 = KP_5 |
|---|
| 994 | shift shiftl keycode 37 = KP_5 |
|---|
| 995 | altgr shiftl keycode 37 = U+211D |
|---|
| 996 | control keycode 37 = Control_r |
|---|
| 997 | shift control keycode 37 = Control_r |
|---|
| 998 | alt keycode 37 = Meta_r |
|---|
| 999 | shift alt keycode 37 = Meta_R |
|---|
| 1000 | control alt keycode 37 = Meta_Control_r |
|---|
| 1001 | keycode 38 = t T minus U+03c4 |
|---|
| 1002 | shiftl keycode 38 = KP_6 |
|---|
| 1003 | shift shiftl keycode 38 = KP_6 |
|---|
| 1004 | altgr shiftl keycode 38 = U+2202 |
|---|
| 1005 | control keycode 38 = Control_t |
|---|
| 1006 | shift control keycode 38 = Control_t |
|---|
| 1007 | alt keycode 38 = Meta_t |
|---|
| 1008 | shift alt keycode 38 = Meta_T |
|---|
| 1009 | control alt keycode 38 = Meta_Control_t |
|---|
| 1010 | keycode 39 = d D colon U+03b4 |
|---|
| 1011 | shiftl keycode 39 = comma |
|---|
| 1012 | shift shiftl keycode 39 = VoidSymbol |
|---|
| 1013 | altgr shiftl keycode 39 = U+0394 |
|---|
| 1014 | control keycode 39 = Control_d |
|---|
| 1015 | shift control keycode 39 = Control_d |
|---|
| 1016 | alt keycode 39 = Meta_d |
|---|
| 1017 | shift alt keycode 39 = Meta_D |
|---|
| 1018 | control alt keycode 39 = Meta_Control_d |
|---|
| 1019 | keycode 40 = y Y at U+03c5 |
|---|
| 1020 | shiftl keycode 40 = period |
|---|
| 1021 | shift shiftl keycode 40 = VoidSymbol |
|---|
| 1022 | altgr shiftl keycode 40 = U+2207 |
|---|
| 1023 | control keycode 40 = Control_y |
|---|
| 1024 | shift control keycode 40 = Control_y |
|---|
| 1025 | alt keycode 40 = Meta_y |
|---|
| 1026 | shift alt keycode 40 = Meta_Y |
|---|
| 1027 | control alt keycode 40 = Meta_Control_y |
|---|
| 1028 | |
|---|
| 1029 | ! -------------------------------------------------------------------------- |
|---|
| 1030 | ! Row 4 (lower row) |
|---|
| 1031 | ! -------------------------------------------------------------------------- |
|---|
| 1032 | keycode 44 = udiaeresis Udiaeresis numbersign VoidSymbol |
|---|
| 1033 | shiftl keycode 44 = Escape |
|---|
| 1034 | shift shiftl keycode 44 = Escape |
|---|
| 1035 | altgr shiftl keycode 44 = U+211C |
|---|
| 1036 | keycode 45 = odiaeresis Odiaeresis dollar VoidSymbol |
|---|
| 1037 | shiftl keycode 45 = Tab |
|---|
| 1038 | shift shiftl keycode 45 = Meta_Tab |
|---|
| 1039 | altgr shiftl keycode 45 = U+2111 |
|---|
| 1040 | keycode 46 = adiaeresis Adiaeresis bar U+03b7 |
|---|
| 1041 | shiftl keycode 46 = Next |
|---|
| 1042 | shift shiftl keycode 46 = Next |
|---|
| 1043 | altgr shiftl keycode 46 = U+2135 |
|---|
| 1044 | keycode 47 = p P asciitilde U+03c0 |
|---|
| 1045 | shiftl keycode 47 = Return |
|---|
| 1046 | shift shiftl keycode 47 = Return |
|---|
| 1047 | altgr shiftl keycode 47 = U+03A0 |
|---|
| 1048 | control keycode 47 = Control_p |
|---|
| 1049 | shift control keycode 47 = Control_p |
|---|
| 1050 | alt keycode 47 = Meta_p |
|---|
| 1051 | shift alt keycode 47 = Meta_P |
|---|
| 1052 | control alt keycode 47 = Meta_Control_p |
|---|
| 1053 | keycode 48 = z Z grave U+03b6 |
|---|
| 1054 | shiftl keycode 48 = VoidSymbol |
|---|
| 1055 | shift shiftl keycode 48 = VoidSymbol |
|---|
| 1056 | altgr shiftl keycode 48 = U+2124 |
|---|
| 1057 | control keycode 48 = Control_z |
|---|
| 1058 | shift control keycode 48 = Control_z |
|---|
| 1059 | alt keycode 48 = Meta_z |
|---|
| 1060 | shift alt keycode 48 = Meta_Z |
|---|
| 1061 | control alt keycode 48 = Meta_Control_z |
|---|
| 1062 | keycode 49 = b B plus U+03b2 |
|---|
| 1063 | shiftl keycode 49 = colon |
|---|
| 1064 | shift shiftl keycode 49 = VoidSymbol |
|---|
| 1065 | altgr shiftl keycode 49 = U+21D0 |
|---|
| 1066 | control keycode 49 = Control_b |
|---|
| 1067 | shift control keycode 49 = Control_b |
|---|
| 1068 | alt keycode 49 = Meta_b |
|---|
| 1069 | shift alt keycode 49 = Meta_B |
|---|
| 1070 | control alt keycode 49 = Meta_Control_b |
|---|
| 1071 | keycode 50 = m M percent U+03bc |
|---|
| 1072 | shiftl keycode 50 = KP_1 |
|---|
| 1073 | shift shiftl keycode 50 = KP_1 |
|---|
| 1074 | altgr shiftl keycode 50 = U+21d4 |
|---|
| 1075 | control keycode 50 = Control_m |
|---|
| 1076 | shift control keycode 50 = Control_m |
|---|
| 1077 | alt keycode 50 = Meta_m |
|---|
| 1078 | shift alt keycode 50 = Meta_M |
|---|
| 1079 | control alt keycode 50 = Meta_Control_m |
|---|
| 1080 | keycode 51 = comma VoidSymbol quotedbl U+03c1 |
|---|
| 1081 | shiftl keycode 51 = KP_2 |
|---|
| 1082 | shift shiftl keycode 51 = KP_2 |
|---|
| 1083 | altgr shiftl keycode 51 = U+21D2 |
|---|
| 1084 | keycode 52 = period VoidSymbol apostrophe U+03D1 |
|---|
| 1085 | shiftl keycode 52 = KP_3 |
|---|
| 1086 | shift shiftl keycode 52 = KP_3 |
|---|
| 1087 | altgr shiftl keycode 52 = U+0398 |
|---|
| 1088 | keycode 53 = j J semicolon U+03b8 |
|---|
| 1089 | shiftl keycode 53 = semicolon |
|---|
| 1090 | shift shiftl keycode 53 = VoidSymbol |
|---|
| 1091 | altgr shiftl keycode 53 = U+221d |
|---|
| 1092 | control keycode 53 = Control_j |
|---|
| 1093 | shift control keycode 53 = Control_j |
|---|
| 1094 | alt keycode 53 = Meta_j |
|---|
| 1095 | shift alt keycode 53 = Meta_J |
|---|
| 1096 | control alt keycode 53 = Meta_Control_j |
|---|
| 1097 | |
|---|
| 1098 | ! -------------------------------------------------------------------------- |
|---|
| 1099 | ! Keypad Row 1 (uppest row) |
|---|
| 1100 | ! -------------------------------------------------------------------------- |
|---|
| 1101 | keycode 69 = Tab Meta_Tab equal U+2248 |
|---|
| 1102 | shiftl keycode 69 = U+2260 |
|---|
| 1103 | shift shiftl keycode 69 = VoidSymbol |
|---|
| 1104 | altgr shiftl keycode 69 = U+2261 |
|---|
| 1105 | keycode 98 = KP_Divide KP_Divide division U+2223 |
|---|
| 1106 | shiftl keycode 98 = U+2300 |
|---|
| 1107 | shift shiftl keycode 98 = VoidSymbol |
|---|
| 1108 | altgr shiftl keycode 98 = U+2044 |
|---|
| 1109 | keycode 55 = KP_Multiply KP_Multiply U+22C5 multiply |
|---|
| 1110 | shiftl keycode 55 = U+2299 |
|---|
| 1111 | shift shiftl keycode 55 = VoidSymbol |
|---|
| 1112 | altgr shiftl keycode 55 = U+2297 |
|---|
| 1113 | keycode 74 = KP_Subtract KP_Subtract U+2212 U+2216 |
|---|
| 1114 | shiftl keycode 74 = U+2296 |
|---|
| 1115 | shift shiftl keycode 74 = VoidSymbol |
|---|
| 1116 | altgr shiftl keycode 74 = U+2238 |
|---|
| 1117 | |
|---|
| 1118 | ! -------------------------------------------------------------------------- |
|---|
| 1119 | ! Keypad Row 2 (upper row) |
|---|
| 1120 | ! -------------------------------------------------------------------------- |
|---|
| 1121 | keycode 71 = KP_7 U+2714 U+2195 U+230a |
|---|
| 1122 | shiftl keycode 71 = Home |
|---|
| 1123 | shift shiftl keycode 71 = Home |
|---|
| 1124 | altgr shiftl keycode 71 = U+2308 |
|---|
| 1125 | keycode 72 = KP_8 U+2718 U+2191 U+2229 |
|---|
| 1126 | shiftl keycode 72 = Up |
|---|
| 1127 | shift shiftl keycode 72 = Up |
|---|
| 1128 | altgr shiftl keycode 72 = U+22C2 |
|---|
| 1129 | keycode 73 = KP_9 U+2020 U+20D7 U+230B |
|---|
| 1130 | shiftl keycode 73 = Prior |
|---|
| 1131 | shift shiftl keycode 73 = Prior |
|---|
| 1132 | altgr shiftl keycode 73 = U+2309 |
|---|
| 1133 | keycode 78 = KP_Add KP_Add plusminus U+2213 |
|---|
| 1134 | shiftl keycode 78 = U+2295 |
|---|
| 1135 | shift shiftl keycode 78 = VoidSymbol |
|---|
| 1136 | altgr shiftl keycode 78 = U+2214 |
|---|
| 1137 | |
|---|
| 1138 | ! -------------------------------------------------------------------------- |
|---|
| 1139 | ! Keypad Row 3 (home row, middle row) |
|---|
| 1140 | ! -------------------------------------------------------------------------- |
|---|
| 1141 | keycode 75 = KP_4 U+2663 U+2190 U+2282 |
|---|
| 1142 | shiftl keycode 75 = Left |
|---|
| 1143 | shift shiftl keycode 75 = Left |
|---|
| 1144 | altgr shiftl keycode 75 = U+2286 |
|---|
| 1145 | keycode 76 = KP_5 U+20ac U+221e U+22B6 |
|---|
| 1146 | shiftl keycode 76 = VoidSymbol |
|---|
| 1147 | shift shiftl keycode 76 = VoidSymbol |
|---|
| 1148 | altgr shiftl keycode 76 = U+22B7 |
|---|
| 1149 | keycode 77 = KP_6 brokenbar U+2192 U+2283 |
|---|
| 1150 | shiftl keycode 77 = Right |
|---|
| 1151 | shift shiftl keycode 77 = Right |
|---|
| 1152 | altgr shiftl keycode 77 = U+2287 |
|---|
| 1153 | |
|---|
| 1154 | ! -------------------------------------------------------------------------- |
|---|
| 1155 | ! Keypad Row 4 (lower row) |
|---|
| 1156 | ! -------------------------------------------------------------------------- |
|---|
| 1157 | keycode 79 = KP_1 U+2666 U+2194 U+226A |
|---|
| 1158 | shiftl keycode 79 = End |
|---|
| 1159 | shift shiftl keycode 79 = End |
|---|
| 1160 | altgr shiftl keycode 79 = U+2264 |
|---|
| 1161 | keycode 80 = KP_2 U+2665 U+2193 U+222a |
|---|
| 1162 | shiftl keycode 80 = Down |
|---|
| 1163 | shift shiftl keycode 80 = Down |
|---|
| 1164 | altgr shiftl keycode 80 = U+22C3 |
|---|
| 1165 | keycode 81 = KP_3 U+2660 U+21CC U+226B |
|---|
| 1166 | shiftl keycode 81 = Next |
|---|
| 1167 | shift shiftl keycode 81 = Next |
|---|
| 1168 | altgr shiftl keycode 81 = U+2265 |
|---|
| 1169 | |
|---|
| 1170 | ! -------------------------------------------------------------------------- |
|---|
| 1171 | ! Keypad Row 5 (lowest row) |
|---|
| 1172 | ! -------------------------------------------------------------------------- |
|---|
| 1173 | keycode 82 = KP_0 U+2423 percent U+2030 |
|---|
| 1174 | shiftl keycode 82 = Insert |
|---|
| 1175 | shift shiftl keycode 82 = Insert |
|---|
| 1176 | altgr shiftl keycode 82 = U+25A1 |
|---|
| 1177 | keycode 83 = comma period U+002c U+2032 |
|---|
| 1178 | shiftl keycode 83 = Remove |
|---|
| 1179 | shift shiftl keycode 83 = Remove |
|---|
| 1180 | altgr shiftl keycode 83 = U+2033 |
|---|
| 1181 | |
|---|
| 1182 | |
|---|
| 1183 | ! -------------------------------------------------------------------------- |
|---|
| 1184 | ! additional Keys with control function (has to be edited manually!!!!) |
|---|
| 1185 | ! -------------------------------------------------------------------------- |
|---|
| 1186 | control altgr keycode 30 = Control_backslash |
|---|
| 1187 | alt altgr keycode 30 = Control_backslash |
|---|
| 1188 | control alt altgr keycode 30 = Meta_Control_backslash |
|---|
| 1189 | control altgr keycode 19 = Control_bracketright |
|---|
| 1190 | alt altgr keycode 19 = Control_bracketright |
|---|
| 1191 | control alt altgr keycode 19 = Meta_Control_bracketright |
|---|
| 1192 | control altgr keycode 17 = Control_underscore |
|---|
| 1193 | alt altgr keycode 17 = Control_underscore |
|---|
| 1194 | control alt altgr keycode 17 = Meta_Control_underscore |
|---|
| 1195 | control altgr keycode 20 = Control_asciicircum |
|---|
| 1196 | alt altgr keycode 20 = Control_asciicircum |
|---|
| 1197 | control alt altgr keycode 20 = Meta_Control_asciicircum |
|---|
| 1198 | |
|---|
| 1199 | |
|---|
| 1200 | ! -------------------------------------------------------------------------- |
|---|
| 1201 | ! Strings and Compose |
|---|
| 1202 | ! -------------------------------------------------------------------------- |
|---|
| 1203 | # string F100 = "setleds +num\n" |
|---|
| 1204 | NEO_CONSOLE |
|---|
| 1205 | } |
|---|
| 1206 | |
|---|
| 1207 | neo_asdf () |
|---|
| 1208 | { |
|---|
| 1209 | cat <<NEO_ASDF |
|---|
| 1210 | #!/bin/sh |
|---|
| 1211 | # Copyright 2008 Bernd Steinhauser <berniyh@exherbo.org> |
|---|
| 1212 | # Copyright 2008 Benjamin Kellermann |
|---|
| 1213 | # Copyright 2008 Pascal Hauck |
|---|
| 1214 | # Copyright 2008 Erik Streb del Toro |
|---|
| 1215 | # Distributed under the terms of the GNU General Public License v3 |
|---|
| 1216 | |
|---|
| 1217 | if [ -f "\${NEO_CONFIG}" ]; then |
|---|
| 1218 | . "\${NEO_CONFIG}" || die "Failed to source \${NEO_CONFIG}" |
|---|
| 1219 | elif [ -f "\${HOME}"/.neorc ]; then |
|---|
| 1220 | . "\${HOME}"/.neorc || die "Failed to source \${HOME}/.neorc" |
|---|
| 1221 | elif [ -f /etc/neo.conf ]; then |
|---|
| 1222 | . /etc/neo.conf || die "Failed to source /etc/neo.conf" |
|---|
| 1223 | else |
|---|
| 1224 | echo "No configuration file found. Using default values, this might fail!" |
|---|
| 1225 | fi |
|---|
| 1226 | |
|---|
| 1227 | # Default paths |
|---|
| 1228 | PATH_XMODMAP=\${PATH_XMODMAP:-/usr/bin/xmodmap} |
|---|
| 1229 | PATH_SETXKBMAP=\${PATH_SETXKBMAP:-/usr/bin/setxkbmap} |
|---|
| 1230 | PATH_LOADKEYS=\${PATH_LOADKEYS:-/usr/bin/loadkeys} |
|---|
| 1231 | PATH_SUDO=\${PATH_SUDO:-/usr/bin/sudo} |
|---|
| 1232 | PATH_SETLEDS=\${PATH_SETLEDS:-/usr/bin/setleds} |
|---|
| 1233 | PATH_NUMLOCKX=\${PATH_NUMLOCKX:-/usr/bin/numlockx} |
|---|
| 1234 | PATH_XSET=\${PATH_XSET:-/usr/bin/xset} |
|---|
| 1235 | |
|---|
| 1236 | # Default values |
|---|
| 1237 | NEO_X_VARIANTE=\${NEO_X_VARIANTE:-xkbmap} |
|---|
| 1238 | NEO_X_VARIANTE=\${1-\$NEO_X_VARIANTE} |
|---|
| 1239 | NEO_XKBMAP=\${NEO_XKBMAP:-de} |
|---|
| 1240 | NEO_XKBVARIANT=\${NEO_XKBVARIANT:-neo} |
|---|
| 1241 | NEO_XMODMAP=\${NEO_XMODMAP:-\$HOME/neo/neo_de.xmodmap} |
|---|
| 1242 | NEO_XMODMAP_XPROG=\${NEO_XMODMAP_XPROG:-\$HOME/neo/neo_de_x-prog.xmodmap} |
|---|
| 1243 | NEO_XMODMAP_ALTERNATIVE=\${NEO_XMODMAP_ALTERNATIVE:-\$HOME/neo/neo_de_alternative.xmodmap} |
|---|
| 1244 | NEO_XMODMAP_EVDEV=\${NEO_XMODMAP_EVDEV:-\$HOME/neo/neo_de_evdev.xmodmap} |
|---|
| 1245 | NEO_CONSOLE_KEYMAP=\${NEO_CONSOLE_KEYMAP:-\$HOME/neo/neo.map} |
|---|
| 1246 | |
|---|
| 1247 | die() { |
|---|
| 1248 | echo "\$@" >&2 |
|---|
| 1249 | exit 1 |
|---|
| 1250 | } |
|---|
| 1251 | |
|---|
| 1252 | numlock_manually() { |
|---|
| 1253 | echo "\$1" >&2 |
|---|
| 1254 | echo "Please turn Numlock \$2 and press ›Enter‹ to continue." >&2 |
|---|
| 1255 | read |
|---|
| 1256 | } |
|---|
| 1257 | |
|---|
| 1258 | set_xmodmap() { |
|---|
| 1259 | if [ -e "\${PATH_XMODMAP}" ]; then |
|---|
| 1260 | if [ -f "\$@" ]; then |
|---|
| 1261 | set_xkbmap lv |
|---|
| 1262 | "\${PATH_XMODMAP}" "\$@" || ( set_xkbmap de ; die "Failed to set xmodmap \$@." ) |
|---|
| 1263 | else |
|---|
| 1264 | die "Cannot use \$@ for xmodmap." |
|---|
| 1265 | fi |
|---|
| 1266 | else |
|---|
| 1267 | die "xmodmap not found, cannot set xmodmap." |
|---|
| 1268 | fi |
|---|
| 1269 | } |
|---|
| 1270 | |
|---|
| 1271 | set_xkbmap() { |
|---|
| 1272 | if [ -e "\${PATH_SETXKBMAP}" ]; then |
|---|
| 1273 | "\${PATH_SETXKBMAP}" "\$@" || die "Failed to select xkbmap \$@." |
|---|
| 1274 | else |
|---|
| 1275 | die "setxkbmap not found, cannot set xkbmap." |
|---|
| 1276 | fi |
|---|
| 1277 | } |
|---|
| 1278 | |
|---|
| 1279 | set_keymap() { |
|---|
| 1280 | if [ -e "\${PATH_LOADKEYS}" ]; then |
|---|
| 1281 | if [ -f "\$@" ]; then |
|---|
| 1282 | if [ "\${EUID}" = 0 ]; then |
|---|
| 1283 | "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap \$@." |
|---|
| 1284 | elif [ -e "\${PATH_SUDO}" ]; then |
|---|
| 1285 | "\${PATH_SUDO}" "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap using sudo." |
|---|
| 1286 | else |
|---|
| 1287 | die "You need root priviliges to change the keymap." |
|---|
| 1288 | fi |
|---|
| 1289 | else |
|---|
| 1290 | die "keymap file \$@ does not exist." |
|---|
| 1291 | fi |
|---|
| 1292 | else |
|---|
| 1293 | die "loadkeys not found, cannot set keymap." |
|---|
| 1294 | fi |
|---|
| 1295 | } |
|---|
| 1296 | |
|---|
| 1297 | if [ -n "\$SSH_CONNECTION" ]; then |
|---|
| 1298 | die "Cannot set keybord layout in a ssh session." |
|---|
| 1299 | fi |
|---|
| 1300 | |
|---|
| 1301 | if [ -z \${DISPLAY} ]; then |
|---|
| 1302 | set_keymap "\${NEO_CONSOLE_KEYMAP}" |
|---|
| 1303 | |
|---|
| 1304 | if [ -e "\${PATH_SETLEDS}" ]; then |
|---|
| 1305 | "\${PATH_SETLEDS}" +num || numlock_manually "Failed to set NUM status." on |
|---|
| 1306 | else |
|---|
| 1307 | numlock_manually "setleds does not exist, cannot set NUM status." on |
|---|
| 1308 | fi |
|---|
| 1309 | else |
|---|
| 1310 | if [ -e "\${PATH_NUMLOCKX}" ]; then |
|---|
| 1311 | "\${PATH_NUMLOCKX}" off || numlock_manually "Failed to turn off Numlock." off |
|---|
| 1312 | else |
|---|
| 1313 | numlock_manually "numlockx not found, cannot turn off Numlock." off |
|---|
| 1314 | fi |
|---|
| 1315 | |
|---|
| 1316 | if [ -e "\${PATH_XSET}" ]; then |
|---|
| 1317 | for modifier in 51 94; do |
|---|
| 1318 | "\${PATH_XSET}" -r \${modifier} || echo "Failed to unset repeat for modifier \${modifier}." >&2 |
|---|
| 1319 | done |
|---|
| 1320 | for deadkey in 21 35 49; do |
|---|
| 1321 | "\${PATH_XSET}" -r \${deadkey} || echo "Failed to unset repeat for deadkey \${deakey}." >&2 |
|---|
| 1322 | done |
|---|
| 1323 | else |
|---|
| 1324 | echo "xset not found, cannot set modifiers and dead keys." >&2 |
|---|
| 1325 | fi |
|---|
| 1326 | |
|---|
| 1327 | case "\${NEO_X_VARIANTE}" in |
|---|
| 1328 | xkbmap) |
|---|
| 1329 | set_xkbmap "\${NEO_XKBMAP}" "\${NEO_XKBVARIANT}" |
|---|
| 1330 | ;; |
|---|
| 1331 | xmodmap) |
|---|
| 1332 | set_xmodmap "\${NEO_XMODMAP}" |
|---|
| 1333 | ;; |
|---|
| 1334 | xprog) |
|---|
| 1335 | set_xmodmap "\${NEO_XMODMAP_XPROG}" |
|---|
| 1336 | ;; |
|---|
| 1337 | alternative) |
|---|
| 1338 | set_xmodmap "\${NEO_XMODMAP_ALTERNATIVE}" |
|---|
| 1339 | ;; |
|---|
| 1340 | evdev) |
|---|
| 1341 | set_xmodmap "\${NEO_XMODMAP_EVDEV}" |
|---|
| 1342 | ;; |
|---|
| 1343 | *) |
|---|
| 1344 | die "Unknown Neo X variant \${NEO_X_VARIANTE}." |
|---|
| 1345 | ;; |
|---|
| 1346 | esac |
|---|
| 1347 | fi |
|---|
| 1348 | |
|---|
| 1349 | NEO_ASDF |
|---|
| 1350 | } |
|---|
| 1351 | |
|---|
| 1352 | neo_uiae () |
|---|
| 1353 | { |
|---|
| 1354 | cat <<NEO_UIAE |
|---|
| 1355 | #!/bin/sh |
|---|
| 1356 | # Copyright 2008 Bernd Steinhauser <berniyh@exherbo.org> |
|---|
| 1357 | # Copyright 2008 Benjamin Kellermann |
|---|
| 1358 | # Copyright 2008 Pascal Hauck |
|---|
| 1359 | # Copyright 2008 Erik Streb del Toro |
|---|
| 1360 | # Distributed under the terms of the GNU General Public License v3 |
|---|
| 1361 | |
|---|
| 1362 | if [ -f "\${NEO_CONFIG}" ]; then |
|---|
| 1363 | . "\${NEO_CONFIG}" || die "Failed to source \${NEO_CONFIG}" |
|---|
| 1364 | elif [ -f "\${HOME}"/.neorc ]; then |
|---|
| 1365 | . "\${HOME}"/.neorc || die "Failed to source \${HOME}/.neorc" |
|---|
| 1366 | elif [ -f /etc/neo.conf ]; then |
|---|
| 1367 | . /etc/neo.conf || die "Failed to source /etc/neo.conf" |
|---|
| 1368 | else |
|---|
| 1369 | echo "No configuration file found. Using default values, this might fail!" |
|---|
| 1370 | fi |
|---|
| 1371 | |
|---|
| 1372 | # Default paths |
|---|
| 1373 | PATH_XMODMAP=\${PATH_XMODMAP:-/usr/bin/xmodmap} |
|---|
| 1374 | PATH_SETXKBMAP=\${PATH_SETXKBMAP:-/usr/bin/setxkbmap} |
|---|
| 1375 | PATH_LOADKEYS=\${PATH_LOADKEYS:-/usr/bin/loadkeys} |
|---|
| 1376 | PATH_SUDO=\${PATH_SUDO:-/usr/bin/sudo} |
|---|
| 1377 | PATH_SETLEDS=\${PATH_SETLEDS:-/usr/bin/setleds} |
|---|
| 1378 | PATH_NUMLOCKX=\${PATH_NUMLOCKX:-/usr/bin/numlockx} |
|---|
| 1379 | PATH_XSET=\${PATH_XSET:-/usr/bin/xset} |
|---|
| 1380 | |
|---|
| 1381 | # Default values |
|---|
| 1382 | STD_X_VARIANTE=\${STD_X_VARIANTE:-xkbmap} |
|---|
| 1383 | STD_XKBMAP=\${STD_XKBMAP:-de} |
|---|
| 1384 | STD_XKBVARIANT=\${STD_XKBVARIANT:-nodeadkeys} |
|---|
| 1385 | STD_CONSOLE_KEYMAP="\${STD_CONSOLE_KEYMAP:-de-latin1-nodeadkeys}" |
|---|
| 1386 | NUM_LOCK_STATUS=\${NUM_LOCK_STATUS:-on} |
|---|
| 1387 | |
|---|
| 1388 | die() { |
|---|
| 1389 | echo "\$@" >&2 |
|---|
| 1390 | exit 1 |
|---|
| 1391 | } |
|---|
| 1392 | |
|---|
| 1393 | set_xmodmap() { |
|---|
| 1394 | if [ -e "\${PATH_XMODMAP}" ]; then |
|---|
| 1395 | if [ -f "\$@" ]; then |
|---|
| 1396 | "\${PATH_XMODMAP}" "\$@" || die "Failed to set xmodmap \$@." |
|---|
| 1397 | else |
|---|
| 1398 | die "Cannot use \$@ for xmodmap." |
|---|
| 1399 | fi |
|---|
| 1400 | else |
|---|
| 1401 | die "xmodmap not found, cannot set xmodmap." |
|---|
| 1402 | fi |
|---|
| 1403 | } |
|---|
| 1404 | |
|---|
| 1405 | set_xkbmap() { |
|---|
| 1406 | if [ -e "\${PATH_SETXKBMAP}" ]; then |
|---|
| 1407 | "\${PATH_SETXKBMAP}" "\$@" || die "Failed to select xkbmap \$@." |
|---|
| 1408 | else |
|---|
| 1409 | die "setxkbmap not found, cannot set xkbmap." |
|---|
| 1410 | fi |
|---|
| 1411 | } |
|---|
| 1412 | |
|---|
| 1413 | set_keymap() { |
|---|
| 1414 | if [ -e "\${PATH_LOADKEYS}" ]; then |
|---|
| 1415 | if [ -f "\$@" ]; then |
|---|
| 1416 | if [ "\${EUID}" = 0 ]; then |
|---|
| 1417 | "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap \$@." |
|---|
| 1418 | elif [ -e "\${PATH_SUDO}" ]; then |
|---|
| 1419 | "\${PATH_SUDO}" "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap using sudo." |
|---|
| 1420 | else |
|---|
| 1421 | die "You need root priviliges to change the keymap." |
|---|
| 1422 | fi |
|---|
| 1423 | else |
|---|
| 1424 | die "keymap file \$@ does not exist." |
|---|
| 1425 | fi |
|---|
| 1426 | else |
|---|
| 1427 | die "loadkeys not found, cannot set keymap." |
|---|
| 1428 | fi |
|---|
| 1429 | } |
|---|
| 1430 | |
|---|
| 1431 | if [ -n "\$SSH_CONNECTION" ]; then |
|---|
| 1432 | die "Cannot set keybord layout in a ssh session." |
|---|
| 1433 | fi |
|---|
| 1434 | |
|---|
| 1435 | if [ -z \${DISPLAY} ]; then |
|---|
| 1436 | set_keymap "\${NEO_CONSOLE_KEYMAP}" |
|---|
| 1437 | |
|---|
| 1438 | if [ -e "\${PATH_SETLEDS}" ]; then |
|---|
| 1439 | if [ "\${NUM_LOCK_STATUS}" = "on" ]; then |
|---|
| 1440 | "\${PATH_SETLEDS}" -num || echo "Failed to set num lock status to on." >&2 |
|---|
| 1441 | else |
|---|
| 1442 | "\${PATH_SETLEDS}" +num || echo "Failed to set num lock status to off." >&2 |
|---|
| 1443 | fi |
|---|
| 1444 | else |
|---|
| 1445 | echo "setleds does not exist, cannot set NUM status." >&2 |
|---|
| 1446 | fi |
|---|
| 1447 | else |
|---|
| 1448 | if [ -e "\${PATH_XSET}" ]; then |
|---|
| 1449 | for modifier in 51 94; do |
|---|
| 1450 | "\${PATH_XSET}" r \${modifier} || echo "Failed to set repeat for modifier \${modifier}." >&2 |
|---|
| 1451 | done |
|---|
| 1452 | for deadkey in 21 35 49; do |
|---|
| 1453 | "\${PATH_XSET}" r \${deadkey} || echo "Failed to set repeat for deadkey \${deakey}." >&2 |
|---|
| 1454 | done |
|---|
| 1455 | else |
|---|
| 1456 | echo "xset not found, cannot set modifiers and dead keys." >&2 |
|---|
| 1457 | fi |
|---|
| 1458 | |
|---|
| 1459 | case "\${STD_X_VARIANTE}" in |
|---|
| 1460 | xkbmap) |
|---|
| 1461 | set_xkbmap "\${STD_XKBMAP}" "\${STD_XKBVARIANT}" |
|---|
| 1462 | ;; |
|---|
| 1463 | xmodmap) |
|---|
| 1464 | set_xkbmap de |
|---|
| 1465 | set_xmodmap "\${STD_XMODMAP}" |
|---|
| 1466 | ;; |
|---|
| 1467 | *) |
|---|
| 1468 | die "Unknown standard X variant \${STD_X_VARIANTE}." |
|---|
| 1469 | ;; |
|---|
| 1470 | esac |
|---|
| 1471 | |
|---|
| 1472 | if [ -e "\${PATH_NUMLOCKX}" ]; then |
|---|
| 1473 | if [ "\${NUM_LOCK_STATUS}" = "on" ]; then |
|---|
| 1474 | "\${PATH_NUMLOCKX}" on || die "Failed to set num lock status to on." |
|---|
| 1475 | else |
|---|
| 1476 | "\${PATH_NUMLOCKX}" off || die "Failed to set num lock status to off." |
|---|
| 1477 | fi |
|---|
| 1478 | else |
|---|
| 1479 | die "numlockx not found, cannot turn off Numlock." |
|---|
| 1480 | fi |
|---|
| 1481 | fi |
|---|
| 1482 | |
|---|
| 1483 | NEO_UIAE |
|---|
| 1484 | } |
|---|
| 1485 | |
|---|
| 1486 | neo_referenz () |
|---|
| 1487 | { |
|---|
| 1488 | cat <<NEO_REFERENZ |
|---|
| 1489 | ------------------------------------------------------------------------------- |
|---|
| 1490 | ACHTUNG: |
|---|
| 1491 | Damit alles ordentlich dargestellt wird, muss man für die Darstellung z. B. im |
|---|
| 1492 | Texteditor eine dicktengleiche Schrift einstellen! |
|---|
| 1493 | |
|---|
| 1494 | Im Browser (Firefox) muss man unter Ansicht, Zeichenkodierung auf Unicode |
|---|
| 1495 | (UTF-8) stellen. |
|---|
| 1496 | |
|---|
| 1497 | Unter Windows ist in der Grundinstallation leider keine dicktengleiche Schrift |
|---|
| 1498 | installiert, die befriedigend viele Unicodezeichen beinhaltet. |
|---|
| 1499 | Abhilfe schafft z. B. DejaVu Sans Mono (ist z. B. bei OpenOffice dabei): |
|---|
| 1500 | http://dejavu.sourceforge.net/ |
|---|
| 1501 | ------------------------------------------------------------------------------- |
|---|
| 1502 | |
|---|
| 1503 | == Haupttastatur == |
|---|
| 1504 | === Legende – Haupttastatur === |
|---|
| 1505 | ┌─────┐ 1 … 1. Ebene (kein Mod) │ 4 … 4. Ebene (Mod4) |
|---|
| 1506 | │2 4 6│ 2 … 2. Ebene (Umschalt) │ 5 … 5. Ebene (Mod3+Umschalt) |
|---|
| 1507 | │1 3 5│ 3 … 3. Ebene (Mod3) │ 6 … 6. Ebene (Mod3+Mod4) |
|---|
| 1508 | └─────┘ |
|---|
| 1509 | • Ebene 1: Kleinbuchstaben (kein Mod) |
|---|
| 1510 | • Ebene 2: Großbuchstaben (Umschalt) |
|---|
| 1511 | • Ebene 3: Sonderzeichen (Mod3) |
|---|
| 1512 | • Ebene 4: Navigation und Ziffernblock (Mod4) |
|---|
| 1513 | • Ebene 5: Griechische Kleinbuchstaben (Mod3+Umschalt) |
|---|
| 1514 | • Ebene 6: Griechische Großbuchstaben (Mod3+Mod4) |
|---|
| 1515 | |
|---|
| 1516 | • Kombo/Compose: Zusammensetzen von Zeichen (Mod3+Tab) |
|---|
| 1517 | Beispiel: |
|---|
| 1518 | »Compose« »Compose loslassen« »o« »c« = © |
|---|
| 1519 | • Feststellen/Capslock: Dauergroßschreiben (Umschalt+Umschalt) |
|---|
| 1520 | Zum Lösen der Feststellung nochmals gleiche Kombination |
|---|
| 1521 | • Feststellen der Ebene 4: (Mod4+Mod4) oder (Umschalt+Mod3+Tab) |
|---|
| 1522 | Zum Lösen der Feststellung nochmals gleiche Kombination |
|---|
| 1523 | |
|---|
| 1524 | HINWEIS: Unter Linux ist es momentan noch nicht möglich die Feststellung |
|---|
| 1525 | zu lösen, indem man beide Mods drückt. Man muss dort nur einen drücken! |
|---|
| 1526 | |
|---|
| 1527 | === Maustastatursteuerung === |
|---|
| 1528 | Die Maustastatursteuerung schaltet man über Shift+Mod4+T1 ein und ebenso wieder aus. |
|---|
| 1529 | Mit dieser kann man den Mauszeiger über die Tastatur steuern. Dies kann sinnvoll sein, falls |
|---|
| 1530 | die Maus oder das Touchpad streikt oder keine solches Medium vorhanden ist. |
|---|
| 1531 | Am besten geeignet ist dazu die Ebene 4 des Keypads (z.B. mit Mod4_Lock). Verzichtet man auf |
|---|
| 1532 | Markierungen ist auch Ebene 1 des Keypads geeignet. |
|---|
| 1533 | Des Weiteren kann man die Zahlen auf Ebene 4 des Haupttastaturfelds benutzen, jedoch ist die |
|---|
| 1534 | Bedienung dort weniger komfortabel. |
|---|
| 1535 | |
|---|
| 1536 | === Symbole === |
|---|
| 1537 | ⇞⇟ … Bild auf/Bild ab |
|---|
| 1538 | ⇱⇲ … Pos1/Ende |
|---|
| 1539 | ⌫ ⌦ … Backspace/Entf |
|---|
| 1540 | ⌧ … Esc |
|---|
| 1541 | ⎀ … Einf |
|---|
| 1542 | ⇠⇡⇢⇣ … Links/Hoch/Rechts/Runter |
|---|
| 1543 | ♫ … Steht als Symbol für die Kombotaste (Compose) |
|---|
| 1544 | ╌ … Weicher Trennstrich (U+00AD SOFT HYPHEN) |
|---|
| 1545 | ␣ … Leerzeichen (SPACE) |
|---|
| 1546 | ⍽ … Geschütztes Leerzeichen (U+00A0 NO-BREAK SPACE) |
|---|
| 1547 | ¦ … Schmales, geschütztes Leerzeichen (U+202F NARROW NO-BREAK SPACE) |
|---|
| 1548 | ↶ … undo-Funktion |
|---|
| 1549 | |
|---|
| 1550 | === Akzenttasten === |
|---|
| 1551 | Zu den Akzenten siehe auch |
|---|
| 1552 | • http://unicode.e-workers.de/ |
|---|
| 1553 | • http://de.wikipedia.org/wiki/Diakritisches_Zeichen |
|---|
| 1554 | • http://de.wikipedia.org/wiki/Liste_lateinisch-basierter_Alphabete |
|---|
| 1555 | |
|---|
| 1556 | T1 („Tote Taste 1“: Taste links neben der 1) |
|---|
| 1557 | 1 … Toter Zirkumflex (sieht aus wie U+02C6 MODIFIER LETTER CIRCUMFLEX ACCENT) |
|---|
| 1558 | ┌─────┬ 2 … Tote Tilde (sieht aus wie U+02DC SMALL TILDE) |
|---|
| 1559 | │˜ ˇ ¯│ 3 … Toter Ring (sieht aus wie U+02DA RING ABOVE) |
|---|
| 1560 | │ˆ ˚ ˘│ 4 … Toter Caron/Hatschek (sieht aus wie U+02C7 CARON) |
|---|
| 1561 | ├─────┴ 5 … Toter Breve/Brevis (sieht aus wie U+02D8 BREVE) |
|---|
| 1562 | 6 … Toter Makron (sieht aus wie U+00AF MACRON) |
|---|
| 1563 | |
|---|
| 1564 | T2 („Tote Taste 2“: zwei Tasten rechts neben der 0) |
|---|
| 1565 | 1 … Toter Grave (sieht aus wie U+02CB MODIFIER LETTER GRAVE ACCENT) |
|---|
| 1566 | ┬─────┬ 2 … |
|---|
| 1567 | │ ˵ │ 3 … Tote(s) Trema/Diärese/Diaeresis (sieht aus wie U+00A8 DIAERESIS) |
|---|
| 1568 | │\` ¨ ῾│ 4 … Toter Doppelgravis (sieht aus wie U+030F COMBINING DOUBLE GRAVE ACCENT) |
|---|
| 1569 | ┴──┬──┴ 5 … Toter spiritus asper (sieht aus wie U+1FFE GREEK DASIA) |
|---|
| 1570 | 6 … |
|---|
| 1571 | |
|---|
| 1572 | T3 („Tote Taste 3“: Taste rechts neben dem scharfen S (ß)) |
|---|
| 1573 | 1 … Toter Akut (sieht aus wie U+02CA MODIFIER LETTER ACUTE ACCENT) |
|---|
| 1574 | ┬──┴──┬ 2 … Tote Cedilla (sieht aus wie U+00B8 CEDILLA) |
|---|
| 1575 | │¸ ˝ ˙│ 3 … Toter Quer-/Schrägstrich (sieht aus wie U+02D7 MODIFIER LETTER MINUS SIGN oder wie U+002F SOLIDUS) |
|---|
| 1576 | │´ / ᾿│ 4 … Toter Doppelakut (sieht aus wie U+02DD DOUBLE ACUTE ACCENT) |
|---|
| 1577 | ┴┬────┴ 5 … Toter spiritus lenis (sieht aus wie U+1FBF GREEK PSILI) |
|---|
| 1578 | 6 … Toter Punkt darüber (sieht aus wie U+02D9 DOT ABOVE) |
|---|
| 1579 | |
|---|
| 1580 | ACHTUNG: „Tote Tasten“ (Tasten zum Erzeugen toter Zeichen – also Zeichen die nicht |
|---|
| 1581 | gleich erscheinen, sondern nur in Kombination mit einem weiteren Buchstaben) werden |
|---|
| 1582 | folgendermaßen bedient (Beispiel): |
|---|
| 1583 | 1. Tote Tilde »~« eingeben. |
|---|
| 1584 | 2. Danach »n«. |
|---|
| 1585 | 3. Es erscheint das »ñ«. |
|---|
| 1586 | |
|---|
| 1587 | TIPP: Mit den toten Tasten Zirkumflex und Querstrich kann man hoch(ˆ)- und tiefgestellte(/) Ziffern erzeugen. |
|---|
| 1588 | |
|---|
| 1589 | === Taste mit Bindestrichen, Gedankenstrich usw. === |
|---|
| 1590 | Zu den Gedankenstrichen usw. siehe |
|---|
| 1591 | • http://www.matthias-kammerer.de/SonsTypo3.htm |
|---|
| 1592 | • http://de.wikipedia.org/wiki/Weicher_Trennstrich |
|---|
| 1593 | |
|---|
| 1594 | Taste rechts neben der 0 |
|---|
| 1595 | 1 … |
|---|
| 1596 | ┬─────┬ 2 … — Englischer Gedankenstrich (U+2014 EM DASH) |
|---|
| 1597 | │— - ╌│ 3 … |
|---|
| 1598 | │ ‑│ 4 … - Bindestrich/Minusersatz (U+002D HYPHEN-MINUS) (KP-Variante) |
|---|
| 1599 | ┴──┬──┴ 5 … ‑ Geschützter Bindestrich (U+2011 NON-BREAKING HYPHEN) |
|---|
| 1600 | 6 … ╌ Weicher Trennstrich (U+00AD SOFT HYPHEN) Achtung: Falsches Zeichen in der Grafik! |
|---|
| 1601 | |
|---|
| 1602 | # Außerdem gibt es noch |
|---|
| 1603 | # • den (echten) Hyphen (U+2010 HYPHEN), der über <dead_stroke> + <space> erzugt wird |
|---|
| 1604 | # • das (echte) Minuszeichen (U+2212 MINUS SIGN) auf dem Keypad |
|---|
| 1605 | # • den (deutschen) Gedankenstrich (U+2013 EN DASH) |
|---|
| 1606 | # • den Bindestrich/Minusersatz (U+002D HYPHEN-MINUS) |
|---|
| 1607 | |
|---|
| 1608 | === Anführungszeichen === |
|---|
| 1609 | Siehe auch http://de.wikipedia.org/wiki/Anf%C3%BChrungszeichen |
|---|
| 1610 | |
|---|
| 1611 | ┬─────┬ |
|---|
| 1612 | │» ⇞ ⊥│ 2 … » öffnendes doppeltes Guillemet (U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK) |
|---|
| 1613 | │4 › ℓ│ 3 … › öffnendes einfaches Guillemet (U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK) |
|---|
| 1614 | ┴──┬──┴ |
|---|
| 1615 | |
|---|
| 1616 | ┬─────┬ |
|---|
| 1617 | │« · ∡│ 2 … « schließendes doppeltes Guillemet (U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK) |
|---|
| 1618 | │5 ‹ †│ 3 … ‹ schließendes einfaches Guillemet (U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK) |
|---|
| 1619 | ┴──┬──┴ |
|---|
| 1620 | |
|---|
| 1621 | ┬─────┬ |
|---|
| 1622 | │„ ∄│ 2 … „ öffnendes Gänsefüßchen (U+201E DOUBLE LOW-9 QUOTATION MARK) |
|---|
| 1623 | │8 ‚ ⟨│ 3 … ‚ öffnendes halbes Anführungszeichen (U+201A SINGLE LOW-9 QUOTATION MARK) |
|---|
| 1624 | ┴──┬──┴ |
|---|
| 1625 | |
|---|
| 1626 | ┬─────┬ |
|---|
| 1627 | │“ / ∦│ 2 … “ schließendes Gänsefüßchen, englisch öffnendes (U+201C LEFT DOUBLE QUOTATION MARK) |
|---|
| 1628 | │9 ‘ ⟩│ 3 ‘ schließ. halb. Anführz., engl. öffn. halb. Anführz. (U+2018 LEFT SINGLE QUOTATION MARK) |
|---|
| 1629 | ┴──┬──┴ |
|---|
| 1630 | |
|---|
| 1631 | ┬─────┬ |
|---|
| 1632 | │” * ∅│ 2 … ” englisches schließendes Gänsefüßchen (U+201D RIGHT DOUBLE QUOTATION MARK) |
|---|
| 1633 | │0 ’ ₀│ 3 … ’ Apostroph, engl. schließendes halbes Anführungsz. (U+2019 RIGHT SINGLE QUOTATION MARK) |
|---|
| 1634 | ┴──┬──┴ |
|---|
| 1635 | |
|---|
| 1636 | === Dezimaltrennzeichen === |
|---|
| 1637 | Das Dezimaltrennzeichen ist auf englischen und südamerikanischen Systemen ein Punkt ».«. |
|---|
| 1638 | Auf deutschen, französischen, spanischen, schweizerischen und anderen ein Komma »,«. |
|---|
| 1639 | Siehe auch http://de.wikipedia.org/wiki/Dezimaltrennzeichen |
|---|
| 1640 | |
|---|
| 1641 | === Ziffern === |
|---|
| 1642 | Die Ziffern auf der Ersten Ebene sind die »normalen« Zahlen (also nicht die KP_-Variante), |
|---|
| 1643 | wogegen für den Ziffernblock auf der vierten Ebene stets die KP_‐Varianten verwendet werden |
|---|
| 1644 | sollten, um die Vielseitigkeit und Funktionsfähigkeit der NEO‐Tastatur zu gewährleisten. |
|---|
| 1645 | |
|---|
| 1646 | === Alle Ebenen – Haupttastatur === |
|---|
| 1647 | ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐ |
|---|
| 1648 | │˜ ˇ ¯│° • ¬│§ ‣ ∨│ℓ № ∧│» ⇞ ⊥│« · ∡│€ £ ∥│\$ ¤ →│„ ∞│“ / ∋│” * ∅│— - ╌│ ˵ │Backspace│ |
|---|
| 1649 | │ˆ ˚ ˘│1 ¹ ₁│2 ² ₂│3 ³ ₃│4 › †│5 ‹ ♀│6 ¢ ♂│7 ¥ κ│8 ‚ ⟨│9 ‘ ⟩│0 ’ ₀│ ‑│\` ¨ ῾│ ⌫ │ |
|---|
| 1650 | ├─────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──────┤ |
|---|
| 1651 | │ Tab⇤ │X Ξ│V ⌫ ≙│L ⇡ Λ│C ⌦ ℂ│W ⎀ Ω│K ¡ √│H 7 Ψ│G 8 Γ│F 9 Φ│Q + ℚ│ẞ ∘│¸ ˝ ˙│ │ |
|---|
| 1652 | │ Tab⇥ ♫ │x ξ│v _ │l [ λ│c ] χ│w ^ ω│k ! ϰ│h < ψ│g > γ│f = φ│q & ϕ│ß ſ ς│´ / ᾿│Return│ |
|---|
| 1653 | ├────────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ │ |
|---|
| 1654 | │ Mod │U ⇱ ∮│I ⇠ ∫│A ⇣ ∀│E ⇢ ∃│O ⇲ ∈│S ¿ Σ│N 4 ℕ│R 5 ℝ│T 6 ∂│D , Δ│Y . ∇│ Mod │ ↲ │ |
|---|
| 1655 | │ 3 │u \ │i / ι│a { α│e } ε│o * ο│s ? σ│n ( ν│r ) ϱ│t - τ│d : δ│y @ υ│ 3 │ │ |
|---|
| 1656 | ├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┴─────┤ |
|---|
| 1657 | │CapsLk│ Mod │Ü ⌧ ℜ│Ö ⇥ ℑ│Ä ⇟ ℵ│P ↲ Π│Z ↶ ℤ│B : ⇐│M 1 ⇔│– 2 ⇒│… 3 Θ│J ; ∝│ CapsLock │ |
|---|
| 1658 | │Umsch │ 4 │ü # │ö \$ │ä | η│p ~ π│z \` ζ│b + β│m % μ│, " ρ│. ' ϑ│j ; θ│ Umschalt │ |
|---|
| 1659 | ├──────┼─────┴┬────┴─┬───┴─────┴─────┴─────┴─────┴─────┴────┬┴─────┼─────┴┬──────┬──────┤ |
|---|
| 1660 | │ Strg │ │ Alt │Leerzeichen␣ 0 schmal ¦ │ Lock │ │ Menü │ Strg │ |
|---|
| 1661 | │ │ │ │Leerzeichen␣ Leerzeichen␣ geschützt ⍽ │ Mod4 │ │ │ │ |
|---|
| 1662 | └──────┴──────┴──────┴──────────────────────────────────────┴──────┴──────┴──────┴──────┘ |
|---|
| 1663 | |
|---|
| 1664 | === Erste Ebene – Miniatur === |
|---|
| 1665 | ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ |
|---|
| 1666 | │ ˆ │1│2│3│4│5│6│7│8│9│0│ │\`│ Back │ |
|---|
| 1667 | ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ |
|---|
| 1668 | │Tab⇥│x│v│l│c│w│k│h│g│f│q│ß│´│ Ret │ |
|---|
| 1669 | ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ |
|---|
| 1670 | │ M3 │u│i│a│e│o│s│n│r│t│d│y│M3│ │ |
|---|
| 1671 | ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ |
|---|
| 1672 | │Ums│M4│ü│ö│ä│p│z│b│m│,│.│j│ Umsch │ |
|---|
| 1673 | ├───┼──┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬───┤ |
|---|
| 1674 | │Str│Fe│Al│Leerzeichen│M4│Fe│Me│Str│ |
|---|
| 1675 | └───┴──┴──┴───────────┴──┴──┴──┴───┘ |
|---|
| 1676 | |
|---|
| 1677 | === Zweite Ebene – Miniatur === |
|---|
| 1678 | ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ |
|---|
| 1679 | │ ˜ │°│§│ℓ│»│«│€│\$│„│“│”│—│ │ Back │ |
|---|
| 1680 | ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ |
|---|
| 1681 | │Tab⇤│X│V│L│C│W│K│H│G│F│Q│ẞ│¸│ Ret │ |
|---|
| 1682 | ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ |
|---|
| 1683 | │ M3 │U│I│A│E│O│S│N│R│T│D│Y│M3│ │ |
|---|
| 1684 | ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ |
|---|
| 1685 | │CpL│M4│Ü│Ö│Ä│P│Z│B│M│–│…│J│ Cps_Lk│ |
|---|
| 1686 | ├───┼──┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬───┤ |
|---|
| 1687 | │Str│Fe│Al│Leerzeichen│M4│Fe│Me│Str│ |
|---|
| 1688 | └───┴──┴──┴───────────┴──┴──┴──┴───┘ |
|---|
| 1689 | |
|---|
| 1690 | === Dritte Ebene – Miniatur === |
|---|
| 1691 | ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ |
|---|
| 1692 | │ ˚ │¹│²│³│›│‹│¢│¥│‚│‘│’│ │¨│ Back │ |
|---|
| 1693 | ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ |
|---|
| 1694 | │ ♫ │ │_│[│]│^│!│<│>│=│&│ſ│/│ Ret │ |
|---|
| 1695 | ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ |
|---|
| 1696 | │ M3 │\│/│{│}│*│?│(│)│-│:│@│M3│ │ |
|---|
| 1697 | ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ |
|---|
| 1698 | │Ums│M4│#│\$│|│~│\`│+│%│"│'│;│ Umsch │ |
|---|
| 1699 | ├───┼──┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬───┤ |
|---|
| 1700 | │Str│Fe│Al│Leerzeichen│M4│Fe│Me│Str│ |
|---|
| 1701 | └───┴──┴──┴───────────┴──┴──┴──┴───┘ |
|---|
| 1702 | |
|---|
| 1703 | === Vierte Ebene – Miniatur === |
|---|
| 1704 | ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ |
|---|
| 1705 | │ ˇ │•│‣│№│⇞│·│£│¤│ │/│*│-│˵│ Back │ |
|---|
| 1706 | ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ |
|---|
| 1707 | │ 4Lk│ │⌫│⇡│⌦│⎀│¡│7│8│9│+│ │˝│ Ret │ |
|---|
| 1708 | ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ |
|---|
| 1709 | │ M3 │⇱│⇠│⇣│⇢│⇲│¿│4│5│6│,│.│M3│ │ |
|---|
| 1710 | ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ |
|---|
| 1711 | │Ums│4L│⌧│⇥│⇟│↲│↶│:│1│2│3│;│ Umsch │ |
|---|
| 1712 | ├───┼──┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬───┤ |
|---|
| 1713 | │Str│Fe│Al│ 0 │4L│Fe│Me│Str│ |
|---|
| 1714 | └───┴──┴──┴───────────┴──┴──┴──┴───┘ |
|---|
| 1715 | |
|---|
| 1716 | === Fünfte Ebene – Miniatur === |
|---|
| 1717 | ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ |
|---|
| 1718 | │ ˘ │₁│₂│₃│†│♀│♂│κ│⟨│⟩│₀│‑│῾│ Back │ |
|---|
| 1719 | ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ |
|---|
| 1720 | │ │ξ│ │λ│χ│ω│ϰ│ψ│γ│φ│ϕ│ς│᾿│ Ret │ |
|---|
| 1721 | ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ |
|---|
| 1722 | │ M3 │ │ι│α│ε│ο│σ│ν│ϱ│τ│δ│υ│M3│ │ |
|---|
| 1723 | ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ |
|---|
| 1724 | │Ums│M4│ │ │η│π│ζ│β│μ│ρ│ϑ│θ│ Umsch │ |
|---|
| 1725 | ├───┼──┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬───┤ |
|---|
| 1726 | │Str│Fe│Al│geschütz.Lz│M4│Fe│Me│Str│ |
|---|
| 1727 | └───┴──┴──┴───────────┴──┴──┴──┴───┘ |
|---|
| 1728 | |
|---|
| 1729 | === Sechste Ebene – Miniatur === |
|---|
| 1730 | ┌───┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬──────┐ |
|---|
| 1731 | │ ¯ │¬│∨│∧│⊥│∡│∥│→│∞│∋│∅│╌│ ̦│ Back │ |
|---|
| 1732 | ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬─────┤ |
|---|
| 1733 | │ │Ξ│≙│Λ│ℂ│Ω│√│Ψ│Γ│Φ│ℚ│∘│˙│ Ret │ |
|---|
| 1734 | ├────┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┐ │ |
|---|
| 1735 | │ M3 │∮│∫│∀│∃│∈│Σ│ℕ│ℝ│∂│Δ│∇│M3│ │ |
|---|
| 1736 | ├───┬─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴──┴───┤ |
|---|
| 1737 | │Ums│M4│ℜ│ℑ│ℵ│Π│ℤ│⇐│⇔│⇒│Θ│∝│ Umsch │ |
|---|
| 1738 | ├───┼──┼─┴┬┴─┴─┴─┴─┴─┴┬┴─┼─┴┬──┬───┤ |
|---|
| 1739 | │Str│Fe│Al│ schmal.Lz.│M4│Fe│Me│Str│ |
|---|
| 1740 | └───┴──┴──┴───────────┴──┴──┴──┴───┘ |
|---|
| 1741 | |
|---|
| 1742 | == Ziffernblock == |
|---|
| 1743 | Um die Vielseitigkeit und Funktionsfähigkeit der NEO‐Tastatur zu gewährleisten, |
|---|
| 1744 | sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwendet werden! |
|---|
| 1745 | |
|---|
| 1746 | === Legende – Ziffernblock === |
|---|
| 1747 | ┌───────┐ 1 … 1. Ebene (kein Mod) │ 4 … 4. Ebene (Mod4) |
|---|
| 1748 | │ 2 4 6 │ 2 … 2. Ebene (Umschalt) │ 5 … 5. Ebene (Mod3+Umschalt) |
|---|
| 1749 | │ 1 3 5 │ 3 … 3. Ebene (Mod3) │ 6 … 6. Ebene (Mod3+Mod4) |
|---|
| 1750 | └───────┘ |
|---|
| 1751 | |
|---|
| 1752 | === Rechenzeichen === |
|---|
| 1753 | ┬───────┬ 1 … ASCII-Schrägstrich |
|---|
| 1754 | │ / ⁄ ∣ │ 2 … ASCII-Schrägstrich |
|---|
| 1755 | │ / ÷ ⌀ │ 3 … Geteiltzeichen (U+00F7 DIVISION SIGN) |
|---|
| 1756 | ┼───────┼ 4 … Geteiltstrich (U+2215 DIVISION SLASH) |
|---|
| 1757 | 5 … Durchmesser (U+2300 DIAMETER SIGN) |
|---|
| 1758 | 6 … ist ein Teiler von (U+2223 DIVIDES) |
|---|
| 1759 | |
|---|
| 1760 | ┬───────┬ 1 … ASCII-Malzeichen |
|---|
| 1761 | │ * × ⊗ │ 2 … ASCII-Malzeichen |
|---|
| 1762 | │ * ⋅ ⊙ │ 3 … Malpunkt (U+2219 BULLET OPERATOR) |
|---|
| 1763 | ┼───────┼ 4 … Malkreuz (U+00D7 MULTIPLICATION SIGN) |
|---|
| 1764 | 5 … (U+2299 CIRCLED DOT OPERATOR) |
|---|
| 1765 | 6 … (U+2297 CIRCLED TIMES) |
|---|
| 1766 | |
|---|
| 1767 | ┬───────┐ 1 … ASCII-Minus |
|---|
| 1768 | │ - ∖ ∸ │ 2 … ASCII-Minus |
|---|
| 1769 | │ - − ⊖ │ 3 … echtes Minuszeichen (U+2212 MINUS SIGN) |
|---|
| 1770 | ┼───────┤ 4 … ohne (U+2216 SET MINUS) |
|---|
| 1771 | 5 … (U+2296 CIRCLED MINUS) |
|---|
| 1772 | 6 … (U+2238 DOT MINUS) |
|---|
| 1773 | |
|---|
| 1774 | ┬───────┐ 1 … ASCII-Plus |
|---|
| 1775 | │ + ∓ ∔ │ 2 … ASCII-Plus |
|---|
| 1776 | │ + ± ⊕ │ 3 … Plus-Minus (U+00B1 PLUS-MINUS SIGN) |
|---|
| 1777 | ┼───────┤ 4 … Minus-Plus (U+2213 MINUS-OR-PLUS SIGN) |
|---|
| 1778 | 5 … (U+2295 CIRCLED PLUS) |
|---|
| 1779 | 6 … (U+2214 DOT PLUS) |
|---|
| 1780 | |
|---|
| 1781 | === Alle Ebenen – Ziffernblock === |
|---|
| 1782 | ┌───────┬───────┬───────┬───────┐ |
|---|
| 1783 | │ ⇤ ≠ ≡ │ / ⁄ ∣ │ * × ⊗ │ - ∖ ∸ │ |
|---|
| 1784 | │ ⇥ = ≈ │ / ÷ ⌀ │ * ⋅ ⊙ │ - − ⊖ │ |
|---|
| 1785 | ├───────┼───────┼───────┼───────┤ |
|---|
| 1786 | │✔ Hom ⌈│✘ KP↑ ⋂│ PgU ⌉│ │ |
|---|
| 1787 | │7 ↕ ≪│8 ↑ ∩│9 vec ≫│ │ |
|---|
| 1788 | ├───────┼───────┼───────┤ │ |
|---|
| 1789 | │♣ KP← ⊆│€ Beg ⊷│ KP→ ⊇│ + ∓ ∔ │ |
|---|
| 1790 | │4 ← ⊂│5 ¦ ⊶│6 → ⊃│ + ± ⊕ │ |
|---|
| 1791 | ├───────┼───────┼───────┼───────┤ |
|---|
| 1792 | │♦ End ⌊│♥ KP↓ ⋃│♠ PgD ⌋│ │ |
|---|
| 1793 | │1 ↔ ≤│2 ↓ ∪│3 ⇌ ≥│ │ |
|---|
| 1794 | ├───────┴───────┼───────┤ │ |
|---|
| 1795 | │ ␣ Ins □ │. Del ″│ │ |
|---|
| 1796 | │ 0 % ‱ │, ,/. ′│ Enter │ |
|---|
| 1797 | └───────────────┴───────┴───────┘ |
|---|
| 1798 | |
|---|
| 1799 | === Erste Ebene – Miniatur === |
|---|
| 1800 | ┌───┬───┬───┬───┐ |
|---|
| 1801 | │ ⇥ │ / │ * │ - │ |
|---|
| 1802 | ├───┼───┼───┼───┤ |
|---|
| 1803 | │ 7 │ 8 │ 9 │ │ |
|---|
| 1804 | ├───┼───┼───┤ │ |
|---|
| 1805 | │ 4 │ 5 │ 6 │ + │ |
|---|
| 1806 | ├───┼───┼───┼───┤ |
|---|
| 1807 | │ 1 │ 2 │ 3 │ │ |
|---|
| 1808 | ├───┴───┼───┤ │ |
|---|
| 1809 | │ 0 │ , │Ent│ |
|---|
| 1810 | └───────┴───┴───┘ |
|---|
| 1811 | |
|---|
| 1812 | === Zweite Ebene – Miniatur === |
|---|
| 1813 | ┌───┬───┬───┬───┐ |
|---|
| 1814 | │ ⇤ │ / │ * │ - │ |
|---|
| 1815 | ├───┼───┼───┼───┤ |
|---|
| 1816 | │ ✔ │ ✘ │ │ │ |
|---|
| 1817 | ├───┼───┼───┤ │ |
|---|
| 1818 | │ ♣ │ € │ │ + │ |
|---|
| 1819 | ├───┼───┼───┼───┤ |
|---|
| 1820 | │ ♦ │ ♥ │ ♠ │ │ |
|---|
| 1821 | ├───┴───┼───┤ │ |
|---|
| 1822 | │ ␣ │ . │Ent│ |
|---|
| 1823 | └───────┴───┴───┘ |
|---|
| 1824 | |
|---|
| 1825 | === Dritte Ebene – Miniatur === |
|---|
| 1826 | ┌───┬───┬───┬───┐ |
|---|
| 1827 | │ = │ ÷ │ ⋅ │ − │ |
|---|
| 1828 | ├───┼───┼───┼───┤ |
|---|
| 1829 | │ ↕ │ ↑ │vec│ │ |
|---|
| 1830 | ├───┼───┼───┤ │ |
|---|
| 1831 | │ ← │ ¦ │ → │ ± │ |
|---|
| 1832 | ├───┼───┼───┼───┤ |
|---|
| 1833 | │ ↔ │ ↓ │ ⇌ │ │ |
|---|
| 1834 | ├───┴───┼───┤ │ |
|---|
| 1835 | │ % │,/.│Ent│ |
|---|
| 1836 | └───────┴───┴───┘ |
|---|
| 1837 | |
|---|
| 1838 | === Vierte Ebene – Miniatur === |
|---|
| 1839 | ┌───┬───┬───┬───┐ |
|---|
| 1840 | │ ≠ │ ⁄ │ × │ ∖ │ |
|---|
| 1841 | ├───┼───┼───┼───┤ frc means fraction slash ⁄ |
|---|
| 1842 | │Hom│KP↑│PgU│ │ |
|---|
| 1843 | ├───┼───┼───┤ │ |
|---|
| 1844 | │KP←│Beg│KP→│ ∓ │ Beg invokes click of the keyboard mouse |
|---|
| 1845 | ├───┼───┼───┼───┤ |
|---|
| 1846 | │End│KP↓│PgD│ │ |
|---|
| 1847 | ├───┴───┼───┤ │ |
|---|
| 1848 | │ Ins │Del│Ent│ |
|---|
| 1849 | └───────┴───┴───┘ |
|---|
| 1850 | |
|---|
| 1851 | === Fünfte Ebene – Miniatur === |
|---|
| 1852 | ┌───┬───┬───┬───┐ |
|---|
| 1853 | │ ≈ │ ⌀ │ ⊙ │ ⊖ │ |
|---|
| 1854 | ├───┼───┼───┼───┤ |
|---|
| 1855 | │ ≪ │ ∩ │ ≫ │ │ |
|---|
| 1856 | ├───┼───┼───┤ │ |
|---|
| 1857 | │ ⊂ │ ⊶ │ ⊃ │ ⊕ │ |
|---|
| 1858 | ├───┼───┼───┼───┤ |
|---|
| 1859 | │ ≤ │ ∪ │ ≥ │ │ |
|---|
| 1860 | ├───┴───┼───┤ │ |
|---|
| 1861 | │ ‱ │ ′ │Ent│ |
|---|
| 1862 | └───────┴───┴───┘ |
|---|
| 1863 | |
|---|
| 1864 | === Sechste Ebene – Miniatur === |
|---|
| 1865 | ┌───┬───┬───┬───┐ |
|---|
| 1866 | │ ≡ │ ∣ │ ⊗ │ ∸ │ |
|---|
| 1867 | ├───┼───┼───┼───┤ |
|---|
| 1868 | │ ⌈ │ ⋂ │ ⌉ │ │ |
|---|
| 1869 | ├───┼───┼───┤ │ |
|---|
| 1870 | │ ⊆ │ ⊷ │ ⊇ │ ∔ │ |
|---|
| 1871 | ├───┼───┼───┼───┤ |
|---|
| 1872 | │ ⌊ │ ∪ │ ⌋ │ │ |
|---|
| 1873 | ├───┴───┼───┤ │ |
|---|
| 1874 | │ □ │ ″ │Ent│ |
|---|
| 1875 | └───────┴───┴───┘ |
|---|
| 1876 | == Tipp == |
|---|
| 1877 | Trägt man unter Linux/Mac/BSD folgende Zeilen in die ~/.bashrc, ~/.zshrc oder |
|---|
| 1878 | vergleichbares ein, bekommt man anschließend mittels Eingabe von »neo« oder |
|---|
| 1879 | »num« die aktuelle Belegung in der Konsole angezeigt: |
|---|
| 1880 | alias num='grep -m 1 -B 15 "┴───────┘" PFAD_ZUR_DATEI/neo20.txt' |
|---|
| 1881 | alias neo='grep -m 1 -B 15 "┴──────┘" PFAD_ZUR_DATEI/neo20.txt' |
|---|
| 1882 | |
|---|
| 1883 | Dazu muss »PFAD_ZUR_DATEI« durch den Pfad zu dieser Datei ersetzt werden. |
|---|
| 1884 | |
|---|
| 1885 | Im Verzeichnis linux/bin sind umfangreichere Skripte mit größerer Funktionalität. |
|---|
| 1886 | |
|---|
| 1887 | == Zeichenerläuterungen == |
|---|
| 1888 | Ξ … Xi, griechischer Majuskel (U039E) |
|---|
| 1889 | ≙ … entspricht (U2259) |
|---|
| 1890 | Λ … Lambda, griechischer Majuskel (U039B) |
|---|
| 1891 | ℂ … Menge der komplexen Zahlen (U2102) |
|---|
| 1892 | Ω … Omega, griechischer Majuskel (U03A9) |
|---|
| 1893 | √ … Wurzel aus (U221A) |
|---|
| 1894 | Ψ … Psi, griechischer Majuskel (U03A8) |
|---|
| 1895 | Γ … Gamma, griechischer Majuskel (U0393) |
|---|
| 1896 | Φ … Phi, griechischer Majuskel (U03A6) |
|---|
| 1897 | ℚ … Menge der rationalen Zahlen (U211A) |
|---|
| 1898 | ∘ … Verknüpfungsoperator (U2218) |
|---|
| 1899 | ∮ … Integral über eine geschlossene Kurve (U222E) |
|---|
| 1900 | ∫ … Integral (U222B) |
|---|
| 1901 | ∀ … Allquantor ; für alle (U2200) |
|---|
| 1902 | ∃ … Existenzquantor ; es gibt (U2203) |
|---|
| 1903 | ∈ … Element von (U2208) |
|---|
| 1904 | Σ … Sigma, griechischer Majuskel (U03A3) |
|---|
| 1905 | ℕ … Menge der natürlichen Zahlen (U2115) |
|---|
| 1906 | ℝ … Menge der reellen Zahlen (U211D) |
|---|
| 1907 | ∂ … partielle Ableitung (U2202) |
|---|
| 1908 | Δ … Delta, griechischer Majuskel (U0394) |
|---|
| 1909 | ∇ … Nablaoperator (Gradient, Divergenz, Rotation) (U2207) |
|---|
| 1910 | ∝ … proportional zu (U221D) |
|---|
| 1911 | ℑ … Imaginärteil einer komplexen Zahl (U2111) |
|---|
| 1912 | ℜ … Realteil einer komplexen Zahl (U211C) |
|---|
| 1913 | ℵ … Kardinalzahlen, Aleph-Symbol (U2135) |
|---|
| 1914 | Π … Pi, griechischer Majuskel (U03A0) |
|---|
| 1915 | ℤ … Menge der ganzen Zahlen (U2124) |
|---|
| 1916 | ⇒ … Implikation ; daraus folgt ; hinreichend für (U21D2) |
|---|
| 1917 | ⇔ … Äquivalenzzeichen (U21D4) |
|---|
| 1918 | ⇐ … notwendig für ; nur dann, wenn (U21D0) |
|---|
| 1919 | Θ … Theta, griechischer Majuskel (U0398) |
|---|
| 1920 | ≡ … identisch (U2261) |
|---|
| 1921 | □ … Beweisende (qed) (U25A1) |
|---|
| 1922 | ⊙ … direkte Summe ; Vektor aus der Ebene zeigend (U2299) |
|---|
| 1923 | ⊗ … Tensorprodukt ; Vektor in die Ebene zeigend (U2297) |
|---|
| 1924 | ∞ … unendlich (U221E) |
|---|
| 1925 | ∋ … enthält das Element (U220B) |
|---|
| 1926 | ª … weiblicher Ordinalindikator (2ª) (00AA) |
|---|
| 1927 | º … männlicher Ordinalindikator (1º) (00BA) |
|---|
| 1928 | |
|---|
| 1929 | == Hinweise zu Doppelbelegungen in Unicode == |
|---|
| 1930 | Griechische Minuskel und Majuskel besitzten in der Regel eine weitere Bedeutung, z.B. |
|---|
| 1931 | • Δ für Differenz oder Fehler |
|---|
| 1932 | • Θ für homöopathische Urtinktur |
|---|
| 1933 | • Γ für Gammafunktion |
|---|
| 1934 | |
|---|
| 1935 | Einige finden sich darum an mehreren Stellen im Unicode, um (eventuelle) Unterschiede |
|---|
| 1936 | deutliche machen zu können. Zur Platzersparnis haben wir stets eines (das einfachste |
|---|
| 1937 | und allgemeinste) Zeichen aufgenommen: |
|---|
| 1938 | • Ω (U03A9) ; Einheit des Widerstandes Ohm (U2126) |
|---|
| 1939 | • Σ (U03A3) ; Summenzeichen (U2211) |
|---|
| 1940 | • Δ (U0394) ; Laplaceoperator (2206) ; Dreieck, symmetrische Differenz (25B3) |
|---|
| 1941 | • ∇ (U2207) ; Dreieck (U25BD) |
|---|
| 1942 | • Π (U03A0) ; Produktzeichen ∏ (U220F) |
|---|
| 1943 | • µ (U03BC) ; SI-Vorsilbe micro (U00B5) |
|---|
| 1944 | NEO_REFERENZ |
|---|
| 1945 | } |
|---|
| 1946 | |
|---|
| 1947 | neo_neo () |
|---|
| 1948 | { |
|---|
| 1949 | cat <<NEO_NEO |
|---|
| 1950 | #!/bin/sh |
|---|
| 1951 | |
|---|
| 1952 | if [ -f "\${NEO_CONFIG}" ]; then |
|---|
| 1953 | . "\${NEO_CONFIG}" || die "Failed to source \${NEO_CONFIG}" |
|---|
| 1954 | elif [ -f "\${HOME}"/.neorc ]; then |
|---|
| 1955 | . "\${HOME}"/.neorc || die "Failed to source \${HOME}/.neorc" |
|---|
| 1956 | elif [ -f /etc/neo.conf ]; then |
|---|
| 1957 | . /etc/neo.conf || die "Failed to source /etc/neo.conf" |
|---|
| 1958 | else |
|---|
| 1959 | echo "No configuration file found. Using default values, this might fail!" |
|---|
| 1960 | fi |
|---|
| 1961 | |
|---|
| 1962 | NEO_REFERENCE=\${NEO_REFERENCE:-\$HOME/neo/neo20.txt} |
|---|
| 1963 | |
|---|
| 1964 | if [ 0 = \$# ]; then |
|---|
| 1965 | grep -m 1 -B 15 "┴──────┘" "\${NEO_REFERENCE}" |
|---|
| 1966 | else |
|---|
| 1967 | for NUM in \$@; do |
|---|
| 1968 | if [ \$((\$NUM)) -ge 1 -a \$((\$NUM)) -le 6 ]; then |
|---|
| 1969 | grep -B 11 -m "\$NUM" "└───┴──┴──┴───────────┴──┴──┴──┴───┘" "\${NEO_REFERENCE}" | tail -n 12 |
|---|
| 1970 | else |
|---|
| 1971 | echo "Benutzung: \`basename \$0\` [1-6]" |
|---|
| 1972 | echo " Wenn der Aufruf ohne Zahl erfolgt, werden alle Ebenen ausgegeben." |
|---|
| 1973 | echo " Ansonsten werden nur die Ebenen ausgegeben, die angegeben sind." |
|---|
| 1974 | exit 1 |
|---|
| 1975 | fi |
|---|
| 1976 | done |
|---|
| 1977 | fi |
|---|
| 1978 | NEO_NEO |
|---|
| 1979 | } |
|---|
| 1980 | |
|---|
| 1981 | neo_num () |
|---|
| 1982 | { |
|---|
| 1983 | cat <<NEO_NUM |
|---|
| 1984 | #!/bin/sh |
|---|
| 1985 | |
|---|
| 1986 | if [ -f "\${NEO_CONFIG}" ]; then |
|---|
| 1987 | . "\${NEO_CONFIG}" || die "Failed to source \${NEO_CONFIG}" |
|---|
| 1988 | elif [ -f "\${HOME}"/.neorc ]; then |
|---|
| 1989 | . "\${HOME}"/.neorc || die "Failed to source \${HOME}/neo.conf" |
|---|
| 1990 | elif [ -f /etc/neo.conf ]; then |
|---|
| 1991 | . /etc/neo.conf || die "Failed to source /etc/neo.conf" |
|---|
| 1992 | else |
|---|
| 1993 | echo "No configuration file found. Using default values, this might fail!" |
|---|
| 1994 | fi |
|---|
| 1995 | |
|---|
| 1996 | NEO_REFERENCE=\${NEO_REFERENCE:-\$HOME/neo/neo20.txt} |
|---|
| 1997 | |
|---|
| 1998 | if [ 0 = \$# ]; then |
|---|
| 1999 | grep -m 1 -B 15 "┴───────┘" "\${NEO_REFERENCE}" |
|---|
| 2000 | else |
|---|
| 2001 | for NUM in \$@; do |
|---|
| 2002 | if [ \$((\$NUM)) -ge 1 -a \$((\$NUM)) -le 6 ]; then |
|---|
| 2003 | grep -B 11 -m "\$NUM" "└───────┴───┴───┘" "\${NEO_REFERENCE}" | tail -n 12 |
|---|
| 2004 | else |
|---|
| 2005 | echo "Benutzung: \`basename \$0\` [1-6]" |
|---|
| 2006 | echo " Wenn der Aufruf ohne Zahl erfolgt, werden alle Ebenen ausgegeben." |
|---|
| 2007 | echo " Ansonsten werden nur die Ebenen ausgegeben, die angegeben sind." |
|---|
| 2008 | exit 1 |
|---|
| 2009 | fi |
|---|
| 2010 | done |
|---|
| 2011 | fi |
|---|
| 2012 | NEO_NUM |
|---|
| 2013 | } |
|---|
| 2014 | |
|---|
| 2015 | neorc () |
|---|
| 2016 | { |
|---|
| 2017 | cat <<NEORC |
|---|
| 2018 | # This file contains the configuration for the Neo scripts |
|---|
| 2019 | |
|---|
| 2020 | # To use the scripts ›neo‹ and ›num‹ you should specify the full path to the |
|---|
| 2021 | # Neo reference |
|---|
| 2022 | NEO_REFERENCE="\$HOME/neo/neo20.txt" |
|---|
| 2023 | |
|---|
| 2024 | |
|---|
| 2025 | # Select the neo Variant to be used when using an X Server |
|---|
| 2026 | # Values are "xkbmap", "xmodmap", "xprog", "alternative" or "evdev" |
|---|
| 2027 | # default is xkbmap, this variable should always be set |
|---|
| 2028 | NEO_X_VARIANTE="xmodmap" |
|---|
| 2029 | |
|---|
| 2030 | |
|---|
| 2031 | # When using xkbmap, you may specify which xkbmap should be used, the default |
|---|
| 2032 | # is "de" (This is useful if you installed the symbols file under a different |
|---|
| 2033 | # name): |
|---|
| 2034 | #NEO_XKBMAP=de |
|---|
| 2035 | |
|---|
| 2036 | # You can also specify the xkbmap variant to be used, the default is "neo": |
|---|
| 2037 | #NEO_XKBVARIANT=neo |
|---|
| 2038 | |
|---|
| 2039 | |
|---|
| 2040 | # When using a xmodmap, you may specify the full path to the xmodmap to be used. |
|---|
| 2041 | # Default: |
|---|
| 2042 | NEO_XMODMAP="\$HOME/neo/neo_de.xmodmap" |
|---|
| 2043 | #NEO_XMODMAP_XPROG="\$HOME/neo/neo_de_x-prog.xmodmap" |
|---|
| 2044 | #NEO_XMODMAP_ALTERNATIVE="\$HOME/neo/neo_de_alternative.xmodmap" |
|---|
| 2045 | #NEO_XMODMAP_EVDEV="\$HOME/neo/neo_de_evdev.xmodmap" |
|---|
| 2046 | |
|---|
| 2047 | |
|---|
| 2048 | # Standard keyboard layout to switch back to when executing "uiae": |
|---|
| 2049 | #STD_XKBMAP=de |
|---|
| 2050 | |
|---|
| 2051 | # Standard layout variant to switch back to when executing "uiae": |
|---|
| 2052 | #STD_XKBVARIANT=nodeadkeys |
|---|
| 2053 | |
|---|
| 2054 | # Numlock status when switching to standard keyboard layout using "uiae", |
|---|
| 2055 | # values are "on" and "off": |
|---|
| 2056 | #NUM_LOCK_STATUS=on |
|---|
| 2057 | |
|---|
| 2058 | |
|---|
| 2059 | # For Neo without an X System set the path to the console keymap |
|---|
| 2060 | NEO_CONSOLE_KEYMAP="\$HOME/neo/neo" # if necessary add „.map“ |
|---|
| 2061 | |
|---|
| 2062 | # Set the standard console keymap to switch back to |
|---|
| 2063 | #STD_CONSOLE_KEYMAP="de-latin1-nodeadkeys" |
|---|
| 2064 | |
|---|
| 2065 | |
|---|
| 2066 | # If you installed one of these programs in a non-standard path you may, |
|---|
| 2067 | # uncomment the variable and change the path to the executable: |
|---|
| 2068 | #PATH_XMODMAP=/usr/bin/xmodmap |
|---|
| 2069 | #PATH_SETXKBMAP=/usr/bin/setxkbmap |
|---|
| 2070 | #PATH_LOADKEYS=/usr/bin/loadkeys |
|---|
| 2071 | #PATH_SUDO=/usr/bin/sudo |
|---|
| 2072 | #PATH_SETLEDS=/usr/bin/setleds |
|---|
| 2073 | #PATH_NUMLOCKX=/usr/bin/numlockx |
|---|
| 2074 | #PATH_XSET=/usr/bin/xset |
|---|
| 2075 | |
|---|
| 2076 | NEORC |
|---|
| 2077 | } |
|---|
| 2078 | #!/bin/bash |
|---|
| 2079 | |
|---|
| 2080 | profile_neo() { |
|---|
| 2081 | cat <<PROFIL |
|---|
| 2082 | |
|---|
| 2083 | # NEO: |
|---|
| 2084 | PATH=\$PATH:$inst_dir/ # für asdf und uiae |
|---|
| 2085 | export PATH # für asdf und uiae |
|---|
| 2086 | asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO |
|---|
| 2087 | PROFIL |
|---|
| 2088 | } |
|---|
| 2089 | |
|---|
| 2090 | profile_qwertz() { |
|---|
| 2091 | cat <<PROFIL |
|---|
| 2092 | |
|---|
| 2093 | # NEO: |
|---|
| 2094 | PATH=\$PATH:$inst_dir/ # für asdf und uiae |
|---|
| 2095 | export PATH # für asdf und uiae |
|---|
| 2096 | # asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO |
|---|
| 2097 | PROFIL |
|---|
| 2098 | } |
|---|
| 2099 | |
|---|
| 2100 | neo_path() { |
|---|
| 2101 | cat <<NEO_PATH |
|---|
| 2102 | PATH=$PATH:$inst_dir |
|---|
| 2103 | export PATH |
|---|
| 2104 | echo "Die Belegung wird nun auf NEO geändert…" |
|---|
| 2105 | asdf |
|---|
| 2106 | NEO_PATH |
|---|
| 2107 | } |
|---|
| 2108 | |
|---|
| 2109 | # *** main program *** |
|---|
| 2110 | clear |
|---|
| 2111 | echo |
|---|
| 2112 | echo " *** NEO – Ergonomie und Zeichenvielfalt ***" |
|---|
| 2113 | echo |
|---|
| 2114 | echo |
|---|
| 2115 | echo " Ihr System wird untersucht…" |
|---|
| 2116 | echo |
|---|
| 2117 | |
|---|
| 2118 | # check for an existing neo configuration |
|---|
| 2119 | if [ -f "${NEO_CONFIG}" ]; then |
|---|
| 2120 | . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" |
|---|
| 2121 | elif [ -f "${HOME}"/.neorc ]; then |
|---|
| 2122 | . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc" |
|---|
| 2123 | elif [ -f /etc/neo.conf ]; then |
|---|
| 2124 | . /etc/neo.conf || die "Failed to source /etc/neo.conf" |
|---|
| 2125 | else |
|---|
| 2126 | |
|---|
| 2127 | # no configuration file found → install NEO |
|---|
| 2128 | install_options |
|---|
| 2129 | neo_path > $inst_dir/starte_neo |
|---|
| 2130 | echo |
|---|
| 2131 | echo -e "Um NEO nun jetzt zu aktivieren geben Sie bitte »${green}. $inst_dir/starte_neo${normal}« (mit Punkt und Leerzeichen!) ein." |
|---|
| 2132 | echo -e "Danach oder nach dem nächsten Login kann jederzeit mit ${green}asdf${normal} von QWERTZ zu NEO und mit ${green}uiae${normal} von NEO zu QWERTZ gewechselt werden." |
|---|
| 2133 | exit |
|---|
| 2134 | fi |
|---|
| 2135 | |
|---|
| 2136 | |
|---|
| 2137 | # configuration file found → delete/deinstall options |
|---|
| 2138 | deinstall_options |
|---|
| 2139 | exit |
|---|
| 2140 | |
|---|