slitaz-tools view tinyutils/tazkeymap @ rev 568

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