X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_bin%2Fgrml-lang;h=0e774ae32c4760a1a13a26e04f864b2e7d21df19;hb=749ee8e3462c2e794f4a8b5d88c38ed838987b09;hp=15fd7f5ece82cbee5c7f0341dd2b801351f1632f;hpb=2281d0c16d2e4e77417ca11da22a7d45701a0193;p=grml-scripts.git diff --git a/usr_bin/grml-lang b/usr_bin/grml-lang index 15fd7f5..0e774ae 100755 --- a/usr_bin/grml-lang +++ b/usr_bin/grml-lang @@ -6,46 +6,32 @@ # License: This file is licensed under the GPL v2. ################################################################################ -CONFFILE=/etc/sysconfig/keyboard +CONFFILE=/etc/default/keyboard PN="$(basename $0)" usage(){ echo "Usage: $0 " - echo "supported values: at, ch, de, dvorak, es, jp, us, fr" + echo "supported values: at, ch, de, dvorak, es, fr, it, jp, us" } setvalue(){ [ -n "$2" ] || return 1 - # already present in conffile? - if grep -q ${1} $CONFFILE 2>/dev/null ; then - sudo sed -i "s#^${1}.*#${1}=${2}#" $CONFFILE - else - echo "$1=${2}" | sudo tee -a $CONFFILE >/dev/null - fi + sudo sed -i "s#^${1}=.*#${1}=\"${2}\"#" "${CONFFILE}" } if [ $# -lt "1" ] ; then - usage + usage >&2 exit 1 fi -[ -d /etc/sysconfig ] || sudo mkdir /etc/sysconfig - - LANGUAGE="$1" - . /etc/grml/language-functions -if [ ! -z "$KEYTABLE" ] ; then - setvalue KEYTABLE "$KEYTABLE" +if [ -n "$XKEYBOARD" ] ; then + setvalue XKBLAYOUT "$XKEYBOARD" fi -if [ ! -z "XKEYBOARD" ] ; then - setvalue XKEYBOARD $XKEYBOARD -fi - - if [ -z "$DISPLAY" ] ;then if [ "$1" = "de" ] ; then echo "Loading keymap for Germany..." @@ -59,6 +45,10 @@ if [ -z "$DISPLAY" ] ;then echo "Loading keymap for Switzerland..." sudo loadkeys i386/qwertz/sg-latin1.kmap.gz echo -e "\nDone." + elif [ "$1" = "it" ] ; then + echo "Loading keymap for Italy..." + sudo loadkeys i386/qwerty/it.kmap.gz + echo -e "\nDone." elif [ "$1" = "us" ] ; then echo 'Loading keymap us...' sudo loadkeys i386/qwerty/us-latin1.kmap.gz @@ -92,7 +82,11 @@ else else if [ "$1" = "de" ] ; then echo "Loading keymap for Germany..." - [ -r $HOME/.Xmodmap.german ] && xmodmap $HOME/.Xmodmap.german || setxkbmap de + if [ -r "${HOME}"/.Xmodmap.german ] ; then + xmodmap "${HOME}"/.Xmodmap.german || setxkbmap de + else + setxkbmap de + fi echo -e "\nDone." elif [ "$1" = "at" ] ; then echo "Loading keymap for Austria..." @@ -102,6 +96,10 @@ else echo "Loading keymap for Switzerland..." setxkbmap ch echo -e "\nDone." + elif [ "$1" = "it" ] ; then + echo "Loading keymap for Italy..." + setxkbmap it + echo -e "\nDone." elif [ "$1" = "jp" ] ; then echo "Loading keymap for Japan..." setxkbmap -model jp106 -layout jp @@ -112,7 +110,11 @@ else echo -e "\nDone." elif [ "$1" = "us" ] ; then echo 'Loading keymap us...' - [ -r $HOME/.Xmodmap ] && xmodmap $HOME/.Xmodmap || setxkbmap us + if [ -r "${HOME}"/.Xmodmap ] ; then + xmodmap "${HOME}"/.Xmodmap || setxkbmap us + else + setxkbmap us + fi echo -e "\nDone." elif [ "$1" = "es" ] ; then echo "Loading keymap es..."