1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/bin/sh
KdeKeyboardLayout ()
{
KXKBRC=/home/${LIVE_USERNAME}/.kde/share/config/kxkbrc
# Checking if package is already configured
if [ -e /var/lib/live/config/kdekeyboardlayout ] || \
[ ! -e ${KXKBRC} ]
then
return
fi
echo -n " kdekeyboardlayout"
for _PARAMETER in ${_CMDLINE}
do
case "${_PARAMETER}" in
live-config.keyboard-layouts=*|keyboard-layouts=*)
LIVE_KEYBOARD_LAYOUTS="${_PARAMETER#*keyboard-layouts=}"
;;
live-config.keyboard-model=*|keyboard-model=*)
LIVE_KEYBOARD_MODEL="${_PARAMETER#*keyboard-model=}"
;;
live-config.keyboard-options=*|keyboard-options=*)
LIVE_KEYBOARD_OPTIONS="${_PARAMETER#*keyboard-options=}"
;;
live-config.keyboard-variants=*|keyboard-variants=*)
LIVE_KEYBOARD_VARIANTS="${_PARAMETER#*keyboard-variants=}"
;;
esac
done
if [ -z "$LIVE_KEYBOARD_LAYOUTS" ]
then
LIVE_KEYBOARD_LAYOUTS=us
fi
Configure_kdekeyboardlayout
}
Configure_kdekeyboardlayout ()
{
COL="$(awk -F'=' '{if($1=="DisplayNames"){gsub(",","\n",$2); print $2}}' "$KXKBRC" | grep -nw "$LIVE_KEYBOARD_LAYOUTS" | cut -d: -f1)"
if [ "$COL" = 1 ]; then
true # nothing to do, already first position
elif [ "$COL" ]; then
sed -i 's/^\(DisplayNames\|LayoutList\)=\(.*\),\('$LIVE_KEYBOARD_LAYOUTS'[^,]*\)/\1=\3,\2,/; s/^\(DisplayNames\|LayoutList\)=\([^,]*,.*\)'$LIVE_KEYBOARD_LAYOUTS'[^,]*/\1=\2,/; s/,,*/,/g; s/,$//' "$KXKBRC"
else
sed -i 's/^\(DisplayNames\|LayoutList\)=/\1='$LIVE_KEYBOARD_LAYOUTS',/; s/,$//' "$KXKBRC"
fi
# Creating state file
touch /var/lib/live/config/kdekeyboardlayout
}
KdeKeyboardLayout
|