slitaz-tools view tinyutils/tazkeymap @ rev 190

Add tazdialog
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed May 14 13:52:28 2008 +0000 (2008-05-14)
parents c0871b90c912
children 564833d84fbb
line source
1 #!/bin/sh
2 #
3 # Tazkeymap - SliTaz GNU/Linux keymap config using loadkeys and dialog boxes.
4 # Configuration file is : /etc/kbd.conf
5 #
6 # (C) SliTaz GNU/Linux - 20080427 <pankso@slitaz.org> - GNU gpl.
7 #
8 : ${DIALOG=tazdialog}
10 # Script functions.
11 status()
12 {
13 local CHECK=$?
14 echo -en "\\033[70G[ "
15 if [ $CHECK = 0 ]; then
16 echo -en "\\033[1;33mOK"
17 else
18 echo -en "\\033[1;31mFailed"
19 fi
20 echo -e "\\033[0;39m ]"
21 }
23 # Check if user is root.
24 #
25 if test $(id -u) != 0; then
26 echo ""
27 echo "You must be root to run `basename $0`!"
28 echo "Type 'su' and root password to become super-user."
29 echo ""
30 exit 1
31 fi
33 # Get current keymap if it exist.
34 if [ -f /etc/keymap.conf ]; then
35 CUR=`cat /etc/keymap.conf`
36 else
37 CUR="none"
38 fi
40 # Dialog menu.
41 #
42 exec 3>&1
43 value=`$DIALOG --clear \
44 --title " SliTaz keymap configuration " \
45 --menu "\nPlease select your keymap, current config: $CUR" 15 70 5 \
46 "fr_CH-latin1" "Suisse Romande" \
47 "fr-latin1" "France" \
48 "be-latin1" "Belgique" \
49 "br-abnt2" "Brazil" \
50 "cf" "Canada/Quebec" \
51 "croat" "Croat" \
52 "cz-lat2" "Czech" \
53 "de_CH-latin1" "Schweizer Deutsch" \
54 "de-latin1" "Deutchland" \
55 "dk-latin1" "Danemark" \
56 "dvorak" "Dvorak" \
57 "dvorak-r" "Dvorak (right-hand)" \
58 "dvorak-l" "Dvorak (left-hand)" \
59 "es" "Spain/Mexico" \
60 "fi-latin1" "Finland" \
61 "hu" "Hungria" \
62 "it" "Italia" \
63 "is-latin1" "Island" \
64 "jp106" "Japan" \
65 "nl2" "Netherlands" \
66 "no-latin1" "Norway" \
67 "pl2" "Poland" \
68 "pt-latin1" "Portugal" \
69 "ru" "Russia" \
70 "se-lat6" "Sweden" \
71 "sg-latin1" "Singapore " \
72 "uk" "United Kingdom" \
73 "us-acentos" "USA Acentos" \
74 "us" "USA" \
75 2>&1 1>&3`
76 retval=$?
77 exec 3>&-
79 case $retval in
80 0)
81 continue ;;
82 1)
83 echo "Cancel pressed."
84 exit 0 ;;
85 255)
86 if test -n "$value" ; then
87 echo "$value"
88 else
89 echo "ESC pressed."
90 exit 0
91 fi ;;
92 esac
94 # If it's a reconfiguration give an info message.
95 if [ -f /etc/keymap.conf ]; then
96 $DIALOG --clear \
97 --title " Keyboard mapping information " \
98 --msgbox "\n
99 Please logout you current session and login again to use $value
100 keyboard.\n" 16 70
101 fi
103 # Now we can load the selected kmap file from /usr/share/kbd/keymaps.
104 #
105 echo "$value" > /etc/keymap.conf
106 if [ -x /bin/loadkeys ]; then
107 loadkeys $value
108 else
109 loadkmap < /usr/share/kmap/$value.kmap
110 fi
112 exit 0