#!/bin/sh
LC_COLLATE=C

schreiben1 () {
	if [[ $2 == [a-z] ]]; then
		printf "                   keycode %3s = %-22s\n" $1 $2
		if [[ $4 && $4 != "VoidSymbol" ]]; then
			printf "           altgr   keycode %3s = %-22s\n" $1 $4
		fi
		if [[ $5 && $5 != "VoidSymbol" ]]; then
			printf "   shift   altgr   keycode %3s = %-22s\n" $1 $5
		fi
	else
		printf "                   keycode %3s = %-22s%-22s%-22s%-22s\n" $1 $2 $3 $4 $5
	fi
	if [[ $6 && $6 != "VoidSymbol" ]]; then
		printf "           shiftl  keycode %3s = %-22s\n" $1 $6
	fi
	if [[ $7 && $7 != "VoidSymbol" ]]; then
		printf "   shift   shiftl  keycode %3s = %-22s\n" $1 $7
	fi
	if [[ $8 && $8 != "VoidSymbol" ]]; then
		printf "   altgr   shiftl  keycode %3s = %-22s\n" $1 $8
	fi
}

schreiben2 () {
	printf "                   keycode %3s = %-22s%-22s%-22s%-22s\n" $1 $2 $3 $4 $5
	if [[ $8 && $8 != "VoidSymbol" ]]; then
		printf "           shiftl  keycode %3s = %-22s\n" $1 $8
	fi
	if [[ $9 && $9 != "VoidSymbol" ]]; then
		printf "   shift   shiftl  keycode %3s = %-22s\n" $1 $9
	fi
	if [[ $6 && $6 != "VoidSymbol" ]]; then
		printf "   altgr   shiftl  keycode %3s = %-22s\n" $1 $6
	fi
}

lesen() {
# Aufruf: lesen <Anzahl> <Zeilennummer in der Kurzreferenz> <Keycode der ersten Taste> <Tastaturfeld>
	typeset -i zeile keycode
	zeile=$2
	keycode=$3
	for i in $(seq 1 $1)
	do
		a=`head -$zeile kurzreferenz | tail -1`
		schreiben$4 $keycode $a
		zeile=zeile+1
		keycode=keycode+1
	done
}

cat console.sondertasten
echo
echo
echo "! ----Space key-------------------------------------------------------------"
lesen 1 2 57 1

echo
echo "! ----dead keys-------------------------------------------------------------"
lesen 1 3 41 1
lesen 1 4 13 1
lesen 1 5 27 1

echo
echo "! --------------------------------------------------------------------------"
echo "! Row 1 (number row)"
echo "! --------------------------------------------------------------------------"
lesen 11 6 2 1

echo
echo "! --------------------------------------------------------------------------"
echo "! Row 2 (upper row)"
echo "! --------------------------------------------------------------------------"
lesen 11 17 16 1


echo
echo "! --------------------------------------------------------------------------"
echo "! Row 3 (home row, middle row)"
echo "! --------------------------------------------------------------------------"
lesen 11 28 30 1

echo
echo "! --------------------------------------------------------------------------"
echo "! Row 4 (lower row)"
echo "! --------------------------------------------------------------------------"
lesen 10 39 44 1

echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 1 (uppest row)"
echo "! --------------------------------------------------------------------------"
lesen 1 49 69 2
lesen 1 50 98 2
lesen 1 51 55 2
lesen 1 52 74 2

echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 2 (upper row)"
echo "! --------------------------------------------------------------------------"
lesen 3 53 71 2
lesen 1 56 78 2

echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 3 (home row, middle row)"
echo "! --------------------------------------------------------------------------"
lesen 3 57 75 2

echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 4 (lower row)"
echo "! --------------------------------------------------------------------------"
lesen 3 60 79 2

echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 5 (lowest row)"
echo "! --------------------------------------------------------------------------"
lesen 2 64 82 2

cat console.more_control

echo
echo
echo "! --------------------------------------------------------------------------"
echo "! Strings and Compose"
echo "! --------------------------------------------------------------------------"
echo "# string F100 = \"setleds +num\n\""

#cat console.string_compose