Changeset 1366
- Timestamp:
- 01/04/09 04:40:02 (4 years ago)
- Location:
- linux/bin
- Files:
-
- 4 added
- 3 removed
- 1 modified
-
erzeuge_installation/erzeuge.installation (deleted)
-
erzeuge_installation/erzeuge.installiere_neo (added)
-
erzeuge_installation/installation.1 (deleted)
-
erzeuge_installation/installiere_neo.1 (added)
-
erzeuge_installation/installiere_neo.2 (added)
-
erzeuge_installation/neo.conf.erzeuge.installiere_neo (added)
-
erzeuge_installation/neo.conf.installation (deleted)
-
installiere_neo (modified) (35 diffs)
Legend:
- Unmodified
- Added
- Removed
-
linux/bin/installiere_neo
r1312 r1366 1 1 #!/bin/bash 2 2 # Copyright 2008 Pascal Hauck <pascal.hauck@web.de> 3 # Distributed under the terms of the GNU General Public License v34 3 5 4 # ======= Installation ======= 6 5 # Um NEO auf Ihrem System zu (dauerhaft) zu installieren, genügt es, dieses Skript auszuführen 7 6 # z.B. in der Konsole die folgenden beiden Zeilen eingeben: 8 # chmod u+x installation 9 # ./installation 10 # Nun ist NEO auf Ihrem System dauerhaft installier 11 # Ein Wechsel zurück zu QWERTZ ist jederzeit mit ›uiae‹ leicht möglich 12 13 # Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, vor die Zeile, die mit 14 # asdf # mit einem # am Zeilenanfang 15 # beginnt und sich in der Datei $HOME/.profile befinden, ein # zu setzen 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 16 18 # ============================== 17 19 … … 23 25 24 26 # ======= Bemerkungen ========== 25 # Dieses Skript ist eine rudimentäre Installation. Derzeit gibt es keine Konfigurationsmöglichkeit.26 # Es wird immer das Standardverzeichnis $ HOME/neoverwendet27 # Dieses Skript ist eine rudimentäre Installation. 28 # Es wird immer das Standardverzeichnis $inst_dir verwendet 27 29 # Es gibt keine graphische Installation 28 30 # Dennoch kann dieses Skrip helfen, NEO auf eine einfache Weise zu installieren. … … 32 34 33 35 # colours in the Bash 34 B="\033[30m" 35 R="\033[31m" 36 G="\033[32m" 37 38 datei() { # cut files from the complete file ›installiere_neo‹ 39 grep -A10000 "#neo: $1 --- Beginn" installation | grep -B10000 "#neo: $1 --- Ende" | grep -v "#neo:" 40 } 41 42 erzeuge() { # create directories, files and entries 43 case $1 in 44 d) # directory 45 if [ -d $2 ] # if already exists 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? 46 57 then 47 echo -e "Das Verzeichnis ${R}$2${B} gibt es bereits – wird verwendet…" 58 echo "Datei $2 wird überschrieben!" 59 rm -f $2 # remove if user wants to overwrite 48 60 else 49 echo -e "Erstelle $2" 50 mkdir $2 # create 51 fi 52 ;; 53 f) # file 54 if [ -f $3 ] # if already exists 55 then 56 echo -e "Die Datei ${R}$3${B} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite 57 if [ "$overwrite" = "J" ] # overwrite? 58 then 59 echo "Datei $3 wird überschrieben!" 60 rm -f $3 # remove if user wants to overwrite 61 else 62 echo -e "Datei ${R}$3${B} gibt es schon → Installation abgebrochen" 63 exit 64 fi 65 fi 66 echo "Erstelle Datei $3" # create 67 datei $2 > $3 68 ;; 69 l) # soft link 70 if [ -d $HOME/bin/ ] # $HOME/bin has to exist! 71 then 72 echo "Verzeichnis $HOME/bin/ gefunden" 73 else 74 echo -e "Verzeichnis ${R}$HOME/bin${B} wird erwartet, ist aber nicht vorhanden" 75 echo "Außerdem wird erwartet, dass /$HOME/bin in der Umgebungsvariable \$PATH ist" 76 echo "Istallation wird abgebrochen." 61 echo -e "Datei ${red}$2${normal} gibt es schon → Installation abgebrochen" 77 62 exit 78 63 fi 79 if [ -f $HOME/bin/$2 ] # if already exists 80 then 81 echo -e "Datei ${R}$HOME/bin/$2${B} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite 82 if [ "$overwrite" = "J" ] # overwrite? 83 then 84 echo "Datei $2 wird überschrieben!" 85 rm -f $HOME/bin/$2 # remove if user wants to overwrite 86 else 87 echo -e "Datei ${R}$2${B} gibt es schon → Installation abgebrochen" 88 exit 89 fi 90 fi 91 echo "Erstelle Link $HOME/bin/$2" 92 ln -s $HOME/neo/$2 $HOME/bin # create 93 ;; 94 esac 95 } 96 97 entferne(){ # remove files for uninstall option 98 echo "Entferne $1" 99 rm $1 || echo -e "${R}Konnte die Datei $1 nicht entfernen!${B}" 100 } 101 102 deinstall() { #remove all directories, files and entries made by ›installiere_neo‹ 103 echo 104 echo 105 rmfromprofile 106 entferne $HOME/.neorc 107 entferne $HOME/bin/uiae 108 entferne $HOME/neo/uiae 109 entferne $HOME/bin/asdf 110 entferne $HOME/neo/asdf 111 entferne $HOME/neo/neo.map 112 entferne $HOME/neo/neo_de.xmodmap 113 echo "Entferne $HOME/neo/" 114 rmdir $HOME/neo/ || echo -e "${R}Konnte das Verzeichenis $HOME/neo/ nicht entfernen!${B}" 115 } 116 117 rmfromprofile() { # remove the entry in $HOME/.profile 118 grep -v "^\# NEO:$" $HOME/.profile | grep -v "asdf \# mit" > $HOME/profile.neo.tmp 119 rm /$HOME/.profile 120 mv $HOME/profile.neo.tmp $HOME/.profile 121 } 122 123 124 # *** main program *** 125 clear 126 echo 127 echo " *** NEO – Ergonomie und Zeichenvielfalt ***" 128 echo 129 echo 130 echo " Ihr System wird untersucht…" 131 echo 132 133 # check for an existing neo configuration 134 if [ -f "${NEO_CONFIG}" ]; then 135 . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" 136 elif [ -f "${HOME}"/.neorc ]; then 137 . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc" 138 elif [ -f /etc/neo.conf ]; then 139 . /etc/neo.conf || die "Failed to source /etc/neo.conf" 140 else 141 142 # no configuration file found → install NEO 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 { 143 72 echo "Bislang gibt es kein vollständig konfiguriertes NEO auf Ihrem System" 144 73 echo … … 154 83 echo 155 84 echo 156 echo -e " Wenn ${ G}installiere_neo${B} ein weiteres Mal aufgerufen wird, haben weitere Optionen – z.B. die Deinstallation von NEO"85 echo -e " Wenn ${green}installiere_neo${normal} ein weiteres Mal aufgerufen wird, haben weitere Optionen – z.B. die Deinstallation von NEO" 157 86 echo 158 87 … … 166 95 echo 167 96 echo "Nach dem Login wird NEO die Standardbelegung sein." 168 echo -e "Um dies zu ändern, kann ${ G}installiere_neo${B} ein weiteres Mal ausgeführt werden."169 echo 97 echo -e "Um dies zu ändern, kann ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." 98 echo -e ${red} 170 99 read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" 100 echo -e ${normal} 171 101 ;; 172 102 1) 173 103 echo 174 echo "Das Standardlayout wird nich verändert."175 echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${ G}asdf${B} wechseln."176 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} 177 107 read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" 108 echo -e ${normal} 178 109 ;; 179 110 *) … … 187 118 188 119 echo 189 echo 190 echo " Installation von NEO mit xmodmap wird gestartet…" 120 echo "Installation von NEO mit xmodmap wird gestartet…" 191 121 echo 192 122 echo 193 123 194 124 # *** main installation process *** 195 # creating a directory $HOME/neo with NEO files 196 # linking ›asdf‹ and ›uiae‹ scripts to $HOME/bin 197 erzeuge d $HOME/neo 198 erzeuge f xmodmap $HOME/neo/neo_de.xmodmap 199 erzeuge f console $HOME/neo/neo.map 200 erzeuge f asdf $HOME/neo/asdf 201 chmod u+x $HOME/neo/asdf 202 erzeuge l asdf 203 erzeuge f uiae $HOME/neo/uiae 204 chmod u+x $HOME/neo/uiae 205 erzeuge l uiae 206 erzeuge f neorc $HOME/.neorc 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 neorc $HOME/.neorc 207 142 208 143 # entry in $HOME/.profile with NEO or QWERTZ as standard keyboard layout after login … … 211 146 echo 212 147 echo "Nach dem Login wird NEO die Standardbelegung sein." 213 echo -e "Um dies zu ändern, kann ${ G}installiere_neo${B} ein weiteres Mal ausgeführt werden."148 echo -e "Um dies zu ändern, kann ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." 214 149 rmfromprofile 215 datei profile.neo > $HOME/neo/neo.profile 216 cat $HOME/neo/neo.profile >> $HOME/.profile 217 rm $HOME/neo/neo.profile 150 profile_neo >> $HOME/.profile 218 151 ;; 219 152 1) 220 153 echo 221 154 echo "Das Standardlayout wird nich verändert." 222 echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${G}asdf${B} wechseln."223 155 rmfromprofile 224 datei profile.qwertz > $HOME/neo/neo.profile 225 cat $HOME/neo/neo.profile >> $HOME/.profile 226 rm $HOME/neo/neo.profile 156 profile_qwertz >> $HOME/.profile 227 157 ;; 228 158 esac 229 230 # starting NEO layout 231 echo 232 echo "Die Belegung wird nun auf NEO geändert…" 233 cd $HOME/neo 234 ./asdf xmodmap 235 echo -e "Um zu QWERTZ zurückzukehren, genügt es, die Abrollbewegung ${G}uiae${B} einzugeben." 236 exit 237 fi 238 239 240 # configuration file found → delete/deinstall options 159 } 160 161 # remove files for uninstall option 162 remove() 163 { 164 echo "Entferne $1" 165 rm $1 || echo -e "${red}Konnte die Datei $1 nicht entfernen!${normal}" 166 } 167 168 # remove all directories, files and entries made by ›installiere_neo‹ 169 deinstall() 170 { 171 echo 172 echo 173 rmfromprofile 174 remove $HOME/.neorc 175 remove $inst_dir/starte_neo 176 remove $inst_dir/uiae 177 remove $inst_dir/asdf 178 remove $inst_dir/neo.map 179 remove $inst_dir/neo_de.xmodmap 180 echo "Entferne $inst_dir/" 181 rmdir $inst_dir/ || echo -e "${red}Konnte das Verzeichenis $inst_dir/ nicht entfernen!${normal}" 182 } 183 184 # show options if NEO is already installed 185 deinstall_options() 186 { 241 187 echo "Es gibt auf Ihrem System bereits eine Konfiguration für NEO." 242 188 echo … … 244 190 echo 245 191 echo " [1] NEO zukünftig nicht mehr als Standardbelegung" 246 echo -e " NEO wird nicht länger direkt nach dem Login zur Verfügung stehen, wohl aber nach Eingabe von ${ G}adsf${B}."192 echo -e " NEO wird nicht länger direkt nach dem Login zur Verfügung stehen, wohl aber nach Eingabe von ${green}adsf${normal}." 247 193 echo 248 194 echo … … 251 197 echo 252 198 echo 253 echo " Diese Optionen funktionieren nur dann zuverlässig, wenn NEO auch mit ${G}installiere_neo${B} installiert wurde"199 echo -e " Diese Optionen funktionieren nur dann zuverlässig, wenn NEO auch mit ${green}installiere_neo${normal} installiert wurde" 254 200 echo 255 201 256 202 deinstalloption="" 257 while [ ! $deinstalloption ] # choose between deleting NEO as standard layout or delete NEO at all258 do # if deleted as standard layout only, ›asdf‹ is still working203 while [ ! $deinstalloption ] # choose between deleting NEO as standard layout or delete NEO at all 204 do # if deleted as standard layout only, ›asdf‹ is still working 259 205 echo 260 206 read -p "Wählen Sie eine Option [1,2]: " -e deinstalloption … … 262 208 2) 263 209 echo 264 echo -e "Alle zuvor von ${G}installiere_neo${B} vorgenommen Änderungen am System werden gelöscht!" 210 echo -e "Alle zuvor von ${green}installiere_neo${normal} vorgenommen Änderungen am System werden gelöscht!" 211 echo -e ${red} 212 read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" 213 echo -e ${normal} 214 cd $inst_dir 215 ./uiae 216 deinstall # full deinstallation 265 217 echo 266 read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" 267 deinstall # full deinstallation 218 echo -e "Alle von ${green}installiere_neo${normal} gemachten Änderungen an Ihrem System wurden entfernt." 268 219 ;; 269 220 1) 270 221 echo 271 222 echo "NEO wird als Standardbelegung entfernt" 272 echo -e "Zu NEO kann man weiterhin jederzeit mit der Abrollbewegung ${G}asdf${B} wechseln." 223 echo -e "Zu NEO kann man weiterhin jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." 224 echo -e ${red} 225 read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" 226 echo -e ${normal} 273 227 echo 274 read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" 228 rmfromprofile # alter the entry in $HOME/.profile; first: remove old entry 229 profile_qwertz >> $HOME/.profile # write the new entry 275 230 echo 276 rmfromprofile # alter the entry in $HOME/.profile; first: remove old entry 277 echo >> $HOME/.profile # write the new entry 278 echo "# NEO:" >> $HOME/.profile 279 echo "# asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO" >> $HOME/.profile 231 echo "Nach dem nächsten Login wird NEO nicht mehr die Standardbelegung sein. " 280 232 ;; 281 233 *) … … 287 239 esac 288 240 done 289 exit 290 291 #neo: xmodmap --- Beginn 241 } 242 243 neo_xmodmap () 244 { 245 cat <<NEO_XMODMAP 292 246 !! ~/.xmodmap 293 247 !! … … 303 257 !! <mailinglist at neo-layout dot org> 304 258 !! 305 !! $Revision: 1293 $, $Date: 2008-12-19 09:39:48 +0100 (Fr, 19 Dez 2008)$259 !! \$Revision: 1293 \$, \$Date: 2008-12-19 09:39:48 +0100 (Fr, 19 Dez 2008) \$ 306 260 !! http://pebbles.schattenlauf.de/layout.php 307 261 !! … … 414 368 ! called T1 ˆ ˜ ˚ ˘ ˇ (keypad-mouse mode) ¯ 415 369 keycode 21 = dead_grave NoSymbol dead_diaeresis U1FFE NoSymbol NoSymbol NoSymbol NoSymbol 416 ! called T2 ` ¨ ῾ dasia (asper)370 ! called T2 \` ¨ ῾ dasia (asper) 417 371 keycode 35 = dead_acute dead_cedilla dead_stroke U1FBF dead_doubleacute NoSymbol dead_abovedot NoSymbol 418 372 ! called T3 ´ ¸ / ᾿ psili (lenis) ˝ ˙ … … 439 393 440 394 keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol rightarrow NoSymbol 441 ! $ ¥ κ ¤ →395 ! \$ ¥ κ ¤ → 442 396 keycode 17 = 8 doublelowquotemark singlelowquotemark leftanglebracket NoSymbol NoSymbol infinity NoSymbol 443 397 ! „ ‚ ⟨ (bra) ∞ … … 515 469 ! ü Ü # ℜ real part 516 470 keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab ISO_Left_Tab U2111 NoSymbol 517 ! ö Ö $ ℑ imaginary part471 ! ö Ö \$ ℑ imaginary part 518 472 keycode 54 = adiaeresis Adiaeresis bar Greek_eta Next Next U2135 NoSymbol 519 473 ! ä Ä | η ℵ alef symbol … … 521 475 ! ~ π Π Π 522 476 keycode 56 = z Z grave Greek_zeta Undo Redo U2124 NoSymbol 523 ! ` ζ ℤ integers477 ! \` ζ ℤ integers 524 478 525 479 keycode 57 = b B plus Greek_beta colon NoSymbol U21D0 NoSymbol … … 620 574 ! Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit 621 575 ! eingerastetem Mod4) erfolgen. 622 #neo: xmodmap --- Ende 623 #neo: console --- Beginn 576 NEO_XMODMAP 577 } 578 579 neo_console () 580 { 581 cat <<NEO_CONSOLE 624 582 ! neo.map - german NEO keyboard layout 625 583 ! 2008 Pascal Hauck, <pascal.hauck@web.de> … … 1239 1197 ! -------------------------------------------------------------------------- 1240 1198 # string F100 = "setleds +num\n" 1241 #neo: console --- Ende 1242 #neo: asdf --- Beginn 1199 NEO_CONSOLE 1200 } 1201 1202 neo_asdf () 1203 { 1204 cat <<NEO_ASDF 1243 1205 #!/bin/sh 1244 1206 # Copyright 2008 Bernd Steinhauser <berniyh@exherbo.org> … … 1248 1210 # Distributed under the terms of the GNU General Public License v3 1249 1211 1250 if [ -f " ${NEO_CONFIG}" ]; then1251 . " ${NEO_CONFIG}" || die "Failed to source${NEO_CONFIG}"1252 elif [ -f " ${HOME}"/.neorc ]; then1253 . " ${HOME}"/.neorc || die "Failed to source${HOME}/.neorc"1212 if [ -f "\${NEO_CONFIG}" ]; then 1213 . "\${NEO_CONFIG}" || die "Failed to source \${NEO_CONFIG}" 1214 elif [ -f "\${HOME}"/.neorc ]; then 1215 . "\${HOME}"/.neorc || die "Failed to source \${HOME}/.neorc" 1254 1216 elif [ -f /etc/neo.conf ]; then 1255 1217 . /etc/neo.conf || die "Failed to source /etc/neo.conf" … … 1259 1221 1260 1222 # Default paths 1261 PATH_XMODMAP= ${PATH_XMODMAP:-/usr/bin/xmodmap}1262 PATH_SETXKBMAP= ${PATH_SETXKBMAP:-/usr/bin/setxkbmap}1263 PATH_LOADKEYS= ${PATH_LOADKEYS:-/usr/bin/loadkeys}1264 PATH_SUDO= ${PATH_SUDO:-/usr/bin/sudo}1265 PATH_SETLEDS= ${PATH_SETLEDS:-/usr/bin/setleds}1266 PATH_NUMLOCKX= ${PATH_NUMLOCKX:-/usr/bin/numlockx}1267 PATH_XSET= ${PATH_XSET:-/usr/bin/xset}1223 PATH_XMODMAP=\${PATH_XMODMAP:-/usr/bin/xmodmap} 1224 PATH_SETXKBMAP=\${PATH_SETXKBMAP:-/usr/bin/setxkbmap} 1225 PATH_LOADKEYS=\${PATH_LOADKEYS:-/usr/bin/loadkeys} 1226 PATH_SUDO=\${PATH_SUDO:-/usr/bin/sudo} 1227 PATH_SETLEDS=\${PATH_SETLEDS:-/usr/bin/setleds} 1228 PATH_NUMLOCKX=\${PATH_NUMLOCKX:-/usr/bin/numlockx} 1229 PATH_XSET=\${PATH_XSET:-/usr/bin/xset} 1268 1230 1269 1231 # Default values 1270 NEO_X_VARIANTE= ${NEO_X_VARIANTE:-xkbmap}1271 NEO_X_VARIANTE= ${1-$NEO_X_VARIANTE}1272 NEO_XKBMAP= ${NEO_XKBMAP:-de}1273 NEO_XKBVARIANT= ${NEO_XKBVARIANT:-neo}1274 NEO_XMODMAP= ${NEO_XMODMAP:-$HOME/neo/neo_de.xmodmap}1275 NEO_XMODMAP_XPROG= ${NEO_XMODMAP_XPROG:-$HOME/neo/neo_de_x-prog.xmodmap}1276 NEO_XMODMAP_ALTERNATIVE= ${NEO_XMODMAP_ALTERNATIVE:-$HOME/neo/neo_de_alternative.xmodmap}1277 NEO_XMODMAP_EVDEV= ${NEO_XMODMAP_EVDEV:-$HOME/neo/neo_de_evdev.xmodmap}1278 NEO_CONSOLE_KEYMAP= ${NEO_CONSOLE_KEYMAP:-$HOME/neo/neo.map}1232 NEO_X_VARIANTE=\${NEO_X_VARIANTE:-xkbmap} 1233 NEO_X_VARIANTE=\${1-\$NEO_X_VARIANTE} 1234 NEO_XKBMAP=\${NEO_XKBMAP:-de} 1235 NEO_XKBVARIANT=\${NEO_XKBVARIANT:-neo} 1236 NEO_XMODMAP=\${NEO_XMODMAP:-\$HOME/neo/neo_de.xmodmap} 1237 NEO_XMODMAP_XPROG=\${NEO_XMODMAP_XPROG:-\$HOME/neo/neo_de_x-prog.xmodmap} 1238 NEO_XMODMAP_ALTERNATIVE=\${NEO_XMODMAP_ALTERNATIVE:-\$HOME/neo/neo_de_alternative.xmodmap} 1239 NEO_XMODMAP_EVDEV=\${NEO_XMODMAP_EVDEV:-\$HOME/neo/neo_de_evdev.xmodmap} 1240 NEO_CONSOLE_KEYMAP=\${NEO_CONSOLE_KEYMAP:-\$HOME/neo/neo.map} 1279 1241 1280 1242 die() { 1281 echo " $@" >&21243 echo "\$@" >&2 1282 1244 exit 1 1283 1245 } 1284 1246 1285 1247 set_xmodmap() { 1286 if [ -e " ${PATH_XMODMAP}" ]; then1287 if [ -f " $@" ]; then1248 if [ -e "\${PATH_XMODMAP}" ]; then 1249 if [ -f "\$@" ]; then 1288 1250 set_xkbmap lv 1289 " ${PATH_XMODMAP}" "$@" || ( set_xkbmap de ; die "Failed to set xmodmap$@." )1251 "\${PATH_XMODMAP}" "\$@" || ( set_xkbmap de ; die "Failed to set xmodmap \$@." ) 1290 1252 else 1291 die "Cannot use $@ for xmodmap."1253 die "Cannot use \$@ for xmodmap." 1292 1254 fi 1293 1255 else … … 1297 1259 1298 1260 set_xkbmap() { 1299 if [ -e " ${PATH_SETXKBMAP}" ]; then1300 " ${PATH_SETXKBMAP}" "$@" || die "Failed to select xkbmap$@."1261 if [ -e "\${PATH_SETXKBMAP}" ]; then 1262 "\${PATH_SETXKBMAP}" "\$@" || die "Failed to select xkbmap \$@." 1301 1263 else 1302 1264 die "setxkbmap not found, cannot set xkbmap." … … 1305 1267 1306 1268 set_keymap() { 1307 if [ -e " ${PATH_LOADKEYS}" ]; then1308 if [ -f " $@" ]; then1309 if [ " ${EUID}" = 0 ]; then1310 " ${PATH_LOADKEYS}" "$@" || die "Failed to set keymap$@."1311 elif [ -e " ${PATH_SUDO}" ]; then1312 " ${PATH_SUDO}" "${PATH_LOADKEYS}" "$@" || die "Failed to set keymap using sudo."1269 if [ -e "\${PATH_LOADKEYS}" ]; then 1270 if [ -f "\$@" ]; then 1271 if [ "\${EUID}" = 0 ]; then 1272 "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap \$@." 1273 elif [ -e "\${PATH_SUDO}" ]; then 1274 "\${PATH_SUDO}" "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap using sudo." 1313 1275 else 1314 1276 die "You need root priviliges to change the keymap." 1315 1277 fi 1316 1278 else 1317 die "keymap file $@ does not exist."1279 die "keymap file \$@ does not exist." 1318 1280 fi 1319 1281 else … … 1322 1284 } 1323 1285 1324 if [ -n " $SSH_CONNECTION" ]; then1286 if [ -n "\$SSH_CONNECTION" ]; then 1325 1287 die "Cannot set keybord layout in a ssh session." 1326 1288 fi 1327 1289 1328 if [ -z ${DISPLAY} ]; then1329 set_keymap " ${NEO_CONSOLE_KEYMAP}"1330 1331 if [ -e " ${PATH_SETLEDS}" ]; then1332 " ${PATH_SETLEDS}" +num || die "Failed to set NUM status."1290 if [ -z \${DISPLAY} ]; then 1291 set_keymap "\${NEO_CONSOLE_KEYMAP}" 1292 1293 if [ -e "\${PATH_SETLEDS}" ]; then 1294 "\${PATH_SETLEDS}" +num || die "Failed to set NUM status." 1333 1295 else 1334 1296 die "setleds does not exist, cannot set NUM status." 1335 1297 fi 1336 1298 else 1337 if [ -e " ${PATH_NUMLOCKX}" ]; then1338 " ${PATH_NUMLOCKX}" off || die "Failed to turn off Numlock."1299 if [ -e "\${PATH_NUMLOCKX}" ]; then 1300 "\${PATH_NUMLOCKX}" off || die "Failed to turn off Numlock." 1339 1301 else 1340 1302 die "numlockx not found, cannot turn off Numlock." 1341 1303 fi 1342 1304 1343 if [ -e " ${PATH_XSET}" ]; then1305 if [ -e "\${PATH_XSET}" ]; then 1344 1306 for modifier in 51 94; do 1345 " ${PATH_XSET}" -r ${modifier} || die "Failed to unset repeat for modifier${modifier}."1307 "\${PATH_XSET}" -r \${modifier} || die "Failed to unset repeat for modifier \${modifier}." 1346 1308 done 1347 1309 for deadkey in 21 35 49; do 1348 " ${PATH_XSET}" -r ${deadkey} || die "Failed to unset repeat for deadkey${deakey}."1310 "\${PATH_XSET}" -r \${deadkey} || die "Failed to unset repeat for deadkey \${deakey}." 1349 1311 done 1350 1312 else … … 1352 1314 fi 1353 1315 1354 case " ${NEO_X_VARIANTE}" in1316 case "\${NEO_X_VARIANTE}" in 1355 1317 xkbmap) 1356 set_xkbmap " ${NEO_XKBMAP}" "${NEO_XKBVARIANT}"1318 set_xkbmap "\${NEO_XKBMAP}" "\${NEO_XKBVARIANT}" 1357 1319 ;; 1358 1320 xmodmap) 1359 set_xmodmap " ${NEO_XMODMAP}"1321 set_xmodmap "\${NEO_XMODMAP}" 1360 1322 ;; 1361 1323 xprog) 1362 set_xmodmap " ${NEO_XMODMAP_XPROG}"1324 set_xmodmap "\${NEO_XMODMAP_XPROG}" 1363 1325 ;; 1364 1326 alternative) 1365 set_xmodmap " ${NEO_XMODMAP_ALTERNATIVE}"1327 set_xmodmap "\${NEO_XMODMAP_ALTERNATIVE}" 1366 1328 ;; 1367 1329 evdev) 1368 set_xmodmap " ${NEO_XMODMAP_EVDEV}"1330 set_xmodmap "\${NEO_XMODMAP_EVDEV}" 1369 1331 ;; 1370 1332 *) 1371 die "Unknown Neo X variant ${NEO_X_VARIANTE}."1333 die "Unknown Neo X variant \${NEO_X_VARIANTE}." 1372 1334 ;; 1373 1335 esac 1374 1336 fi 1375 1337 1376 #neo: asdf --- Ende 1377 #neo: uiae --- Beginn 1338 NEO_ASDF 1339 } 1340 1341 neo_uiae () 1342 { 1343 cat <<NEO_UIAE 1378 1344 #!/bin/sh 1379 1345 # Copyright 2008 Bernd Steinhauser <berniyh@exherbo.org> … … 1383 1349 # Distributed under the terms of the GNU General Public License v3 1384 1350 1385 if [ -f " ${NEO_CONFIG}" ]; then1386 . " ${NEO_CONFIG}" || die "Failed to source${NEO_CONFIG}"1387 elif [ -f " ${HOME}"/.neorc ]; then1388 . " ${HOME}"/.neorc || die "Failed to source${HOME}/.neorc"1351 if [ -f "\${NEO_CONFIG}" ]; then 1352 . "\${NEO_CONFIG}" || die "Failed to source \${NEO_CONFIG}" 1353 elif [ -f "\${HOME}"/.neorc ]; then 1354 . "\${HOME}"/.neorc || die "Failed to source \${HOME}/.neorc" 1389 1355 elif [ -f /etc/neo.conf ]; then 1390 1356 . /etc/neo.conf || die "Failed to source /etc/neo.conf" … … 1394 1360 1395 1361 # Default paths 1396 PATH_XMODMAP= ${PATH_XMODMAP:-/usr/bin/xmodmap}1397 PATH_SETXKBMAP= ${PATH_SETXKBMAP:-/usr/bin/setxkbmap}1398 PATH_LOADKEYS= ${PATH_LOADKEYS:-/usr/bin/loadkeys}1399 PATH_SUDO= ${PATH_SUDO:-/usr/bin/sudo}1400 PATH_SETLEDS= ${PATH_SETLEDS:-/usr/bin/setleds}1401 PATH_NUMLOCKX= ${PATH_NUMLOCKX:-/usr/bin/numlockx}1402 PATH_XSET= ${PATH_XSET:-/usr/bin/xset}1362 PATH_XMODMAP=\${PATH_XMODMAP:-/usr/bin/xmodmap} 1363 PATH_SETXKBMAP=\${PATH_SETXKBMAP:-/usr/bin/setxkbmap} 1364 PATH_LOADKEYS=\${PATH_LOADKEYS:-/usr/bin/loadkeys} 1365 PATH_SUDO=\${PATH_SUDO:-/usr/bin/sudo} 1366 PATH_SETLEDS=\${PATH_SETLEDS:-/usr/bin/setleds} 1367 PATH_NUMLOCKX=\${PATH_NUMLOCKX:-/usr/bin/numlockx} 1368 PATH_XSET=\${PATH_XSET:-/usr/bin/xset} 1403 1369 1404 1370 # Default values 1405 STD_X_VARIANTE= ${STD_X_VARIANTE:-xkbmap}1406 STD_XKBMAP= ${STD_XKBMAP:-de}1407 STD_XKBVARIANT= ${STD_XKBVARIANT:-nodeadkeys}1408 STD_CONSOLE_KEYMAP=" ${STD_CONSOLE_KEYMAP:-de-latin1-nodeadkeys}"1409 NUM_LOCK_STATUS= ${NUM_LOCK_STATUS:-on}1371 STD_X_VARIANTE=\${STD_X_VARIANTE:-xkbmap} 1372 STD_XKBMAP=\${STD_XKBMAP:-de} 1373 STD_XKBVARIANT=\${STD_XKBVARIANT:-nodeadkeys} 1374 STD_CONSOLE_KEYMAP="\${STD_CONSOLE_KEYMAP:-de-latin1-nodeadkeys}" 1375 NUM_LOCK_STATUS=\${NUM_LOCK_STATUS:-on} 1410 1376 1411 1377 die() { 1412 echo " $@" >&21378 echo "\$@" >&2 1413 1379 exit 1 1414 1380 } 1415 1381 1416 1382 set_xmodmap() { 1417 if [ -e " ${PATH_XMODMAP}" ]; then1418 if [ -f " $@" ]; then1419 " ${PATH_XMODMAP}" "$@" || die "Failed to set xmodmap$@."1383 if [ -e "\${PATH_XMODMAP}" ]; then 1384 if [ -f "\$@" ]; then 1385 "\${PATH_XMODMAP}" "\$@" || die "Failed to set xmodmap \$@." 1420 1386 else 1421 die "Cannot use $@ for xmodmap."1387 die "Cannot use \$@ for xmodmap." 1422 1388 fi 1423 1389 else … … 1427 1393 1428 1394 set_xkbmap() { 1429 if [ -e " ${PATH_SETXKBMAP}" ]; then1430 " ${PATH_SETXKBMAP}" "$@" || die "Failed to select xkbmap$@."1395 if [ -e "\${PATH_SETXKBMAP}" ]; then 1396 "\${PATH_SETXKBMAP}" "\$@" || die "Failed to select xkbmap \$@." 1431 1397 else 1432 1398 die "setxkbmap not found, cannot set xkbmap." … … 1435 1401 1436 1402 set_keymap() { 1437 if [ -e " ${PATH_LOADKEYS}" ]; then1438 if [ -f " $@" ]; then1439 if [ " ${EUID}" = 0 ]; then1440 " ${PATH_LOADKEYS}" "$@" || die "Failed to set keymap$@."1441 elif [ -e " ${PATH_SUDO}" ]; then1442 " ${PATH_SUDO}" "${PATH_LOADKEYS}" "$@" || die "Failed to set keymap using sudo."1403 if [ -e "\${PATH_LOADKEYS}" ]; then 1404 if [ -f "\$@" ]; then 1405 if [ "\${EUID}" = 0 ]; then 1406 "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap \$@." 1407 elif [ -e "\${PATH_SUDO}" ]; then 1408 "\${PATH_SUDO}" "\${PATH_LOADKEYS}" "\$@" || die "Failed to set keymap using sudo." 1443 1409 else 1444 1410 die "You need root priviliges to change the keymap." 1445 1411 fi 1446 1412 else 1447 die "keymap file $@ does not exist."1413 die "keymap file \$@ does not exist." 1448 1414 fi 1449 1415 else … … 1452 1418 } 1453 1419 1454 if [ -n " $SSH_CONNECTION" ]; then1420 if [ -n "\$SSH_CONNECTION" ]; then 1455 1421 die "Cannot set keybord layout in a ssh session." 1456 1422 fi 1457 1423 1458 if [ -z ${DISPLAY} ]; then1459 set_keymap " ${NEO_CONSOLE_KEYMAP}"1460 1461 if [ -e " ${PATH_SETLEDS}" ]; then1462 if [ " ${NUM_LOCK_STATUS}" = "on" ]; then1463 " ${PATH_SETLEDS}" -num || die "Failed to set num lock status to on."1424 if [ -z \${DISPLAY} ]; then 1425 set_keymap "\${NEO_CONSOLE_KEYMAP}" 1426 1427 if [ -e "\${PATH_SETLEDS}" ]; then 1428 if [ "\${NUM_LOCK_STATUS}" = "on" ]; then 1429 "\${PATH_SETLEDS}" -num || die "Failed to set num lock status to on." 1464 1430 else 1465 " ${PATH_SETLEDS}" +num || die "Failed to set num lock status to off."1431 "\${PATH_SETLEDS}" +num || die "Failed to set num lock status to off." 1466 1432 fi 1467 1433 else … … 1469 1435 fi 1470 1436 else 1471 if [ -e " ${PATH_XSET}" ]; then1437 if [ -e "\${PATH_XSET}" ]; then 1472 1438 for modifier in 51 94; do 1473 " ${PATH_XSET}" r ${modifier} || die "Failed to set repeat for modifier${modifier}."1439 "\${PATH_XSET}" r \${modifier} || die "Failed to set repeat for modifier \${modifier}." 1474 1440 done 1475 1441 for deadkey in 21 35 49; do 1476 " ${PATH_XSET}" r ${deadkey} || die "Failed to set repeat for deadkey${deakey}."1442 "\${PATH_XSET}" r \${deadkey} || die "Failed to set repeat for deadkey \${deakey}." 1477 1443 done 1478 1444 else … … 1480 1446 fi 1481 1447 1482 case " ${STD_X_VARIANTE}" in1448 case "\${STD_X_VARIANTE}" in 1483 1449 xkbmap) 1484 set_xkbmap " ${STD_XKBMAP}" "${STD_XKBVARIANT}"1450 set_xkbmap "\${STD_XKBMAP}" "\${STD_XKBVARIANT}" 1485 1451 ;; 1486 1452 xmodmap) 1487 1453 set_xkbmap de 1488 set_xmodmap " ${STD_XMODMAP}"1454 set_xmodmap "\${STD_XMODMAP}" 1489 1455 ;; 1490 1456 *) 1491 die "Unknown standard X variant ${STD_X_VARIANTE}."1457 die "Unknown standard X variant \${STD_X_VARIANTE}." 1492 1458 ;; 1493 1459 esac 1494 1460 1495 if [ -e " ${PATH_NUMLOCKX}" ]; then1496 if [ " ${NUM_LOCK_STATUS}" = "on" ]; then1497 " ${PATH_NUMLOCKX}" on || die "Failed to set num lock status to on."1461 if [ -e "\${PATH_NUMLOCKX}" ]; then 1462 if [ "\${NUM_LOCK_STATUS}" = "on" ]; then 1463 "\${PATH_NUMLOCKX}" on || die "Failed to set num lock status to on." 1498 1464 else 1499 " ${PATH_NUMLOCKX}" off || die "Failed to set num lock status to off."1465 "\${PATH_NUMLOCKX}" off || die "Failed to set num lock status to off." 1500 1466 fi 1501 1467 else … … 1504 1470 fi 1505 1471 1506 #neo: uiae --- Ende 1507 #neo: neorc --- Beginn 1472 NEO_UIAE 1473 } 1474 1475 neorc () 1476 { 1477 cat <<NEORC 1508 1478 # This file contains the configuration for the Neo scripts 1509 1479 … … 1525 1495 # When using a xmodmap, you may specify the full path to the xmodmap to be used. 1526 1496 # Default: 1527 NEO_XMODMAP=" $HOME/neo/neo_de.xmodmap"1528 #NEO_XMODMAP_XPROG=" $HOME/neo/neo_de_x-prog.xmodmap"1529 #NEO_XMODMAP_ALTERNATIVE=" $HOME/neo/neo_de_alternative.xmodmap"1530 #NEO_XMODMAP_EVDEV=" $HOME/neo/neo_de_evdev.xmodmap"1497 NEO_XMODMAP="\$HOME/neo/neo_de.xmodmap" 1498 #NEO_XMODMAP_XPROG="\$HOME/neo/neo_de_x-prog.xmodmap" 1499 #NEO_XMODMAP_ALTERNATIVE="\$HOME/neo/neo_de_alternative.xmodmap" 1500 #NEO_XMODMAP_EVDEV="\$HOME/neo/neo_de_evdev.xmodmap" 1531 1501 1532 1502 … … 1543 1513 1544 1514 # For Neo without an X System set the path to the console keymap 1545 NEO_CONSOLE_KEYMAP=" $HOME/neo/neo" # if necessary add „.map“1515 NEO_CONSOLE_KEYMAP="\$HOME/neo/neo" # if necessary add „.map“ 1546 1516 1547 1517 # Set the standard console keymap to switch back to … … 1559 1529 #PATH_XSET=/usr/bin/xset 1560 1530 1561 #neo: neorc --- Ende 1562 #neo: profile.neo --- Beginn 1531 NEORC 1532 } 1533 #!/bin/bash 1534 1535 profile_neo() { 1536 cat <<PROFIL 1563 1537 1564 1538 # NEO: 1565 asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO 1566 #neo: profile.neo --- Ende 1567 #neo: profile.qwertz --- Beginn 1539 PATH=\$PATH:$inst_dir/ # für asdf und uiae 1540 export PATH # für asdf und uiae 1541 asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO 1542 PROFIL 1543 } 1544 1545 profile_qwertz() { 1546 cat <<PROFIL 1568 1547 1569 1548 # NEO: 1570 # asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO 1571 #neo: profile.qwertz --- Ende 1572 1549 PATH=\$PATH:$inst_dir/ # für asdf und uiae 1550 export PATH # für asdf und uiae 1551 # asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO 1552 PROFIL 1553 } 1554 1555 neo_path() { 1556 cat <<NEO_PATH 1557 PATH=$PATH:$inst_dir 1558 export PATH 1559 echo "Die Belegung wird nun auf NEO geändert…" 1560 asdf 1561 NEO_PATH 1562 } 1563 1564 # *** main program *** 1565 clear 1566 echo 1567 echo " *** NEO – Ergonomie und Zeichenvielfalt ***" 1568 echo 1569 echo 1570 echo " Ihr System wird untersucht…" 1571 echo 1572 1573 # check for an existing neo configuration 1574 if [ -f "${NEO_CONFIG}" ]; then 1575 . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" 1576 elif [ -f "${HOME}"/.neorc ]; then 1577 . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc" 1578 elif [ -f /etc/neo.conf ]; then 1579 . /etc/neo.conf || die "Failed to source /etc/neo.conf" 1580 else 1581 1582 # no configuration file found → install NEO 1583 install_options 1584 neo_path > $inst_dir/starte_neo 1585 echo 1586 echo -e "Um NEO nun jetzt zu aktivieren geben Sie bitte »${green}. $inst_dir/starte_neo${normal}« (mit Punkt und Leerzeichen!) ein." 1587 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." 1588 exit 1589 fi 1590 1591 1592 # configuration file found → delete/deinstall options 1593 deinstall_options 1594 exit 1595
