mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-19 19:40:37 +02:00
66 lines
1.5 KiB
Bash
Executable file
66 lines
1.5 KiB
Bash
Executable file
#!/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
|
|
|