slitaz-tools rev 166 2.1

Add tazkeymap (kbd ncuses/dialog to loadkeys/kbd
author Christophe Lincoln <pankso@slitaz.org>
date Fri May 02 20:52:02 2008 +0200 (2008-05-02)
parents 1008c0a8d7a5
children 6e8329393928
files tinyutils/tazkeymap
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tinyutils/tazkeymap	Fri May 02 20:52:02 2008 +0200
     1.3 @@ -0,0 +1,101 @@
     1.4 +#!/bin/sh
     1.5 +#
     1.6 +# Tazkeymap - SliTaz GNU/Linux keymap config using loadkeys and dialog boxes.
     1.7 +# Configuration file is : /etc/kbd.conf
     1.8 +# 
     1.9 +# (C) SliTaz GNU/Linux - 20080427 <pankso@slitaz.org> - GNU gpl.
    1.10 +#
    1.11 +: ${DIALOG=dialog}
    1.12 +
    1.13 +# Script functions.
    1.14 +status()
    1.15 +{
    1.16 +	local CHECK=$?
    1.17 +	echo -en "\\033[70G[ "
    1.18 +	if [ $CHECK = 0 ]; then
    1.19 +		echo -en "\\033[1;33mOK"
    1.20 +	else
    1.21 +		echo -en "\\033[1;31mFailed"
    1.22 +	fi
    1.23 +	echo -e "\\033[0;39m ]"
    1.24 +}
    1.25 +
    1.26 +# Check if user is root.
    1.27 +#
    1.28 +if test $(id -u) != 0; then
    1.29 +  echo ""
    1.30 +  echo "You must be root to run `basename $0`!"
    1.31 +  echo "Type 'su' and root password to become super-user."
    1.32 +  echo ""
    1.33 +  exit 1
    1.34 +fi
    1.35 +
    1.36 +# Get current keymap if it exist.
    1.37 +if [ -f /etc/keymap.conf ]; then
    1.38 +	CUR=`cat /etc/keymap.conf`
    1.39 +else
    1.40 +	CUR="none"
    1.41 +fi
    1.42 +
    1.43 +# Dialog menu.
    1.44 +#
    1.45 +exec 3>&1
    1.46 +value=`$DIALOG  --clear \
    1.47 +    --title " SliTaz keymap configuration " \
    1.48 +    --menu "\nPlease select your keymap, current config: $CUR" 15 70 5 \
    1.49 +"fr_CH-latin1"  "Suisse Romande" \
    1.50 +"fr-latin1"     "France" \
    1.51 +"be-latin1"     "Belgique" \
    1.52 +"br-abnt2"      "Brazil" \
    1.53 +"cf"            "Canada/Quebec" \
    1.54 +"croat"         "Croat" \
    1.55 +"cz-lat2"       "Czech" \
    1.56 +"de_CH-latin1"  "Schweizer Deutsch" \
    1.57 +"de-latin1"     "Deutchland" \
    1.58 +"dk-latin1"     "Danemark" \
    1.59 +"dvorak"        "Dvorak" \
    1.60 +"dvorak-r"      "Dvorak (right-hand)" \
    1.61 +"dvorak-l"      "Dvorak (left-hand)" \
    1.62 +"es"            "Spain/Mexico" \
    1.63 +"fi-latin1"     "Finland" \
    1.64 +"hu"            "Hungria" \
    1.65 +"it"            "Italia" \
    1.66 +"is-latin1"     "Island" \
    1.67 +"jp106"         "Japan" \
    1.68 +"nl2"           "Netherlands" \
    1.69 +"no-latin1"     "Norway" \
    1.70 +"pl2"           "Poland" \
    1.71 +"pt-latin1"     "Portugal" \
    1.72 +"ru"            "Russia" \
    1.73 +"se-lat6"       "Sweden" \
    1.74 +"sg-latin1"     "Singapore " \
    1.75 +"uk"            "United Kingdom" \
    1.76 +"us-acentos"    "USA Acentos" \
    1.77 +"us"            "USA" \
    1.78 +2>&1 1>&3`
    1.79 +retval=$?
    1.80 +exec 3>&-
    1.81 +
    1.82 +case $retval in
    1.83 +	0)
    1.84 +		continue ;;
    1.85 +	1)
    1.86 +		echo "Cancel pressed."
    1.87 +		exit 0 ;;
    1.88 +	255)
    1.89 +		if test -n "$value" ; then
    1.90 +			echo "$value"
    1.91 +		else
    1.92 +			echo "ESC pressed."
    1.93 +			exit 0
    1.94 +		fi ;;
    1.95 +esac
    1.96 +
    1.97 +export KEYMAP=$value
    1.98 +
    1.99 +# Now we can load the selected kmap file from /usr/share/kbd/keymaps.
   1.100 +#
   1.101 +echo "$KEYMAP" > /etc/keymap.conf
   1.102 +loadkeys $KEYMAP
   1.103 +
   1.104 +exit 0