From a516f0e5306fd6f70336b0a0a13a022ed9c8314f Mon Sep 17 00:00:00 2001 From: Ulrich Dangel Date: Sat, 17 Oct 2009 16:27:21 +0200 Subject: [PATCH] grml-lang now modifies the keyboard config file. [Closes: issue437] --- usr_bin/grml-lang | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/usr_bin/grml-lang b/usr_bin/grml-lang index 19b0b69..3376d4c 100755 --- a/usr_bin/grml-lang +++ b/usr_bin/grml-lang @@ -6,16 +6,46 @@ # License: This file is licensed under the GPL v2. ################################################################################ +CONFFILE=/etc/sysconfig/keyboard +PN="$(basename $0)" + usage(){ echo "Usage: $0 " echo "supported values: at, ch, de, dvorak, es, 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 +} + if [ $# -lt "1" ] ; then usage exit -1 fi +[ -d /etc/sysconfig ] || sudo mkdir /etc/sysconfig + + +LANGUAGE="$1" + + +. /etc/grml/language-functions + +if [ ! -z "$KEYTABLE" ] ; then + setvalue KEYTABLE "$KEYTABLE" +fi + +if [ ! -z "XKEYBOARD" ] ; then + setvalue XKEYBOARD $XKEYBOARD +fi + + if [ -z "$DISPLAY" ] ;then if [ "$1" = "de" ] ; then echo "Loading keymap for Germany..." -- 2.1.4