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