diff options
Diffstat (limited to 'linux/bin/asdf')
-rwxr-xr-x | linux/bin/asdf | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/linux/bin/asdf b/linux/bin/asdf index 4eeab10..5ee7b5b 100755 --- a/linux/bin/asdf +++ b/linux/bin/asdf @@ -8,7 +8,7 @@ #prevent CapsLock while ›asdf‹ is running xmodmap -e "clear Lock" 2> /dev/null -# colours in the Bash +# colour definitions normal="\033[0m" red="\033[31m" orange="\033[33m" @@ -30,6 +30,48 @@ NEO_XMODMAP_XPROG=${NEO_XMODMAP_XPROG:-$HOME/neo/neo_de_x-prog.xmodmap} NEO_XMODMAP_ALTERNATIVE=${NEO_XMODMAP_ALTERNATIVE:-$HOME/neo/neo_de_alternative.xmodmap} NEO_XMODMAP_EVDEV=${NEO_XMODMAP_EVDEV:-$HOME/neo/neo_de_evdev.xmodmap} NEO_CONSOLE_KEYMAP=${NEO_CONSOLE_KEYMAP:-$HOME/neo/neo.map} +die() { + $ECHO_e "${red}$@${normal}" >&2 + $ECHO_e "${red}Die Belegung konnte nicht auf NEO geändert werden.${normal}" >&2 + exit 1 +} + +die2() { + set_xkbmap de + die "Fehler beim Laden der Xmodmap $@." +} + +numlock_manually() { + $ECHO_e "${orange}$1${normal}" >&2 + $ECHO_e "Bitte jetzt ${orange}NumLock${normal} von Hand auf ${orange}$2${normal} schalten und ${orange}Enter${normal} drücken um fortzufahren…" >&2 + read enter +} + +set_xmodmap() { + if [ -f "$@" ]; then + set_xkbmap lv + xmodmap "$@" || die2 $@ + else + die "Die Xmodmap-Datei ${orange}$@${red} gibt es nicht." + fi +} + +set_xkbmap() { + setxkbmap "$@" || die "Die xkbmap ${orange}$@${red} wurde nicht gefunden." +} + +set_keymap() { + if [ -f "$@" ]; then + if [ "${EUID}" = 0 ]; then + loadkeys "$@" || die "Fehler beim Laden der Keymap ${orange}$@${red}." + else + sudo loadkeys "$@" || die "Fehler bei der Verwendung von ${orange}sudo${red}, um die Belegung zu ändern." + fi + else + die "Die keymap-Datei ${orange}$@${red} gibt es nicht." + fi +} + help() { cat <<HELP @@ -79,48 +121,6 @@ else $ECHO_e "${red}Keine Konfigurationsdatei für NEO gefunden.\nDas Verwenden der Standardwerte kann fehlschlagen!${normal}" >&2 fi -die() { - $ECHO_e "${red}$@${normal}" >&2 - $ECHO_e "${red}Die Belegung konnte nicht auf NEO geändert werden.${normal}" >&2 - exit 1 -} - -die2() { - set_xkbmap de - die "Fehler beim Laden der Xmodmap $@." -} - -numlock_manually() { - $ECHO_e "${orange}$1${normal}" >&2 - $ECHO_e "Bitte jetzt ${orange}NumLock${normal} von Hand auf ${orange}$2${normal} schalten und ${orange}Enter${normal} drücken um fortzufahren…" >&2 - read enter -} - -set_xmodmap() { - if [ -f "$@" ]; then - set_xkbmap lv - xmodmap "$@" || die2 $@ - else - die "Die Xmodmap-Datei ${orange}$@${red} gibt es nicht." - fi -} - -set_xkbmap() { - setxkbmap "$@" || die "Die xkbmap ${orange}$@${red} wurde nicht gefunden." -} - -set_keymap() { - if [ -f "$@" ]; then - if [ "${EUID}" = 0 ]; then - loadkeys "$@" || die "Fehler beim Laden der Keymap ${orange}$@${red}." - else - sudo loadkeys "$@" || die "Fehler bei der Verwendung von ${orange}sudo${red}, um die Belegung zu ändern." - fi - else - die "Die keymap-Datei ${orange}$@${red} gibt es nicht." - fi -} - if [ -n "$SSH_CONNECTION" ]; then die "In einer ssh-session kann die Belegung nicht geändert werden." fi |