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