slitaz-tools rev 959

tazx: keyboard_conf(): conditionally update 40-Keyboard.conf
author Aleksej Bobylev <al.bobylev@gmail.com>
date Tue Nov 17 16:11:09 2015 +0200 (2015-11-17)
parents 465ebc61ed8d
children f29d39a9b6f7
files tinyutils/tazx
line diff
     1.1 --- a/tinyutils/tazx	Thu Nov 12 11:37:45 2015 +0200
     1.2 +++ b/tinyutils/tazx	Tue Nov 17 16:11:09 2015 +0200
     1.3 @@ -194,7 +194,17 @@
     1.4  			layout=${keymap%-abnt2}
     1.5  	esac
     1.6  
     1.7 -	cat > $keyboard_config << EOC
     1.8 +	update_conf=''
     1.9 +	if [ -e "$keyboard_config" ]; then
    1.10 +		actual_layout="$(awk 'BEGIN{FS="\""}{if($2=="XkbLayout")print $4}' $keyboard_config)"
    1.11 +		# config not matched '/etc/keymap.conf', update
    1.12 +		[ "$layout" != "$actual_layout" ] && update_conf='1'
    1.13 +	else
    1.14 +		# config absent, create
    1.15 +		update_conf='1'
    1.16 +	fi
    1.17 +
    1.18 +	[ -n "$update_conf" ] && cat > $keyboard_config << EOC
    1.19  Section "InputClass"
    1.20  	Identifier "Keyboard Defaults"
    1.21  	MatchIsKeyboard "yes"