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 |