# 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