# HG changeset patch # User Aleksej Bobylev # Date 1447769469 -7200 # Node ID c6b3e0d9a922219eb2ac7ac8354b770bf28b6cf1 # Parent 465ebc61ed8dc8704ca6d09c9b371aa317ad43d6 tazx: keyboard_conf(): conditionally update 40-Keyboard.conf diff -r 465ebc61ed8d -r c6b3e0d9a922 tinyutils/tazx --- a/tinyutils/tazx Thu Nov 12 11:37:45 2015 +0200 +++ b/tinyutils/tazx Tue Nov 17 16:11:09 2015 +0200 @@ -194,7 +194,17 @@ layout=${keymap%-abnt2} esac - cat > $keyboard_config << EOC + update_conf='' + if [ -e "$keyboard_config" ]; then + actual_layout="$(awk 'BEGIN{FS="\""}{if($2=="XkbLayout")print $4}' $keyboard_config)" + # config not matched '/etc/keymap.conf', update + [ "$layout" != "$actual_layout" ] && update_conf='1' + else + # config absent, create + update_conf='1' + fi + + [ -n "$update_conf" ] && cat > $keyboard_config << EOC Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes"