#!/bin/sh # $Id: km,v 1.6 2007/09/23 08:23:54 tpowa Exp $ ANSWER="/tmp/.km" PATH=$PATH:/tmp/bin:/tmp/usr/bin:/tmp/sbin:/tmp/usr/sbin BASEDIR="/usr/share/kbd" domenu() { menutype=$1 ; shift text=$1 ; shift height=$1 ; shift width=$1 ; shift mheight=$1 ; shift dialog --cancel-label "Skip" --$menutype "$text" $height $width $mheight $* } if [ ! -d $BASEDIR/keymaps ]; then echo "Cannot load keymaps, as none were found in $BASEDIR/keymaps" >&2 exit 1 else echo "Scanning for keymaps..." KEYMAPS= for i in `find $BASEDIR/keymaps -follow -name "*.gz" | sed 's|^.*/||g' | sort`; do KEYMAPS="$KEYMAPS $i -" done domenu menu "Select A Keymap" 22 60 16 $KEYMAPS 2>$ANSWER keymap=`cat $ANSWER` echo $keymap > /tmp/.keymap fi if [ ! -d $BASEDIR/consolefonts ]; then echo "Cannot load consolefonts, as none were found in $BASEDIR/consolefonts" >&2 else echo "Scanning for fonts..." FONTS= # skip .cp.gz and partialfonts files for now see bug #6112, #6111 for i in `find $BASEDIR/consolefonts -maxdepth 1 ! -name '*.cp.gz' -name "*.gz" | sed 's|^.*/||g' | sort`; do FONTS="$FONTS $i -" done domenu menu "Select A Console Font" 22 60 16 $FONTS 2>$ANSWER font=`cat $ANSWER` echo $font > /tmp/.font fi if [ "$keymap" ]; then echo "Loading keymap: $keymap" loadkeys -q $BASEDIR/keymaps/$keymap fi if [ "$font" ]; then echo "Loading font: $font" for i in `seq 1 4`; do if [ -d /dev/vc ]; then setfont $BASEDIR/consolefonts/$font -C /dev/vc/${i} else setfont $BASEDIR/consolefonts/$font -C /dev/tty${i} fi done fi clear exit 0