#  Program to set function keys captions for CryptoTerm emulator.
#  10.08.2001
#  www.cryptoterm.com
#  support@cryptoterm.com
#

PATH=/bin:/usr/bin

TTY=`tty`
COMM_START=''
COMM_MIDDLE=''
COMM_STOP=''
FKEY=''
SREDNIK=''
STTY=`stty -g`
IS_SHIFT=0
LABEL=''

if [ `uname` = 'Linux' ]
then 
    ECHO="echo -ne"
elif [ `uname` = 'AIX' ]
then
	ECHO="echo"
else
    ECHO="echo -n"
fi


if [ $# -lt 2 ]                                     
then     
        echo "Syntax: keylabel key_number(1-16) key_name [with_shift 1-yes, 0-no]" >&2
        exit 1                                       
fi

if [ $1 -lt 1 -o $1 -gt 16 ]
then
	echo "Parameter key_number must be between 1 and 16" >&2
	exit 1
fi

if [ $# -eq 2 ]
then
	IS_SHIFT=0
else
	if [ $3 -lt 0 -o $3 -gt 1 ]
	then
		echo "Parameter with_shift means: ">&2
		echo "	1 - key_name_with_shift,">&2
		echo "	0 - key_name_without_shift">&2
		exit 1
	else
		IS_SHIFT=$3
	fi
fi

case $TERM in
	"ansi"|"scoansi"|"vt100"|"vt220"|"vt320"|"linux"|"xterm")
		COMM_START=\\033[
		COMM_MIDDLE='z'
		COMM_STOP=\\015
		FKEY=`$ECHO $1`
		SREDNIK=";";;
	"wyse60"|"wy60")
		 # ESC z field label CR
             COMM_START=\\033z
	         COMM_MIDDLE=""
	         COMM_STOP=\\015
	         if [ $1 -lt 9 ]
		 then
		 	if [ $IS_SHIFT -eq 0 ]
			then
				FKEY=\\0`expr 59 + $1`
			else
				FKEY=\\`expr 119 + $1`
			fi
		 else
		 	if [ $IS_SHIFT -eq 0 ]
			then
			 	FKEY=\\0`expr 61 + $1`
			else
				FKEY=\\`expr 121 + $1`
			fi
		 fi
		 IS_SHIFT=""
		 SREDNIK="";;
	*)
	      $ECHO "Unknown terminal type: $TERM. ">&2
		exit 1;;
esac                                

LABEL=$2

if [ `uname` = 'AIX' ]
then 
	COMM_START=$COMM_START\\c
	FKEY=$FKEY\\c
	SREDNIK=$SREDNIK\\c
	IS_SHIFT=$IS_SHIFT\\c	
	COMM_MIDDLE=$COMM_MIDDLE\\c
	LABEL=$LABEL\\c
	COMM_STOP=$COMM_STOP\\c
fi


	stty -opost
	$ECHO $COMM_START>$TTY
	$ECHO $FKEY>$TTY
	$ECHO $SREDNIK>$TTY
	$ECHO $IS_SHIFT>$TTY
	$ECHO $COMM_MIDDLE>$TTY
	$ECHO $LABEL>$TTY
	$ECHO $COMM_STOP>$TTY
	stty $STTY
                                                  
