#!/bin/sh

cli="/usr/bin/ICTApplication/ICTCliGateLite"

keyTmpFile="/tmp/.keyTmpFile"
senskeyd="/usr/bin/senskeyd"
hookd="/usr/bin/hookd"

usage()
{
	echo "Key Simulation Utility: simulate key event" 
	echo "Usage: key sim [ event ] <value>"
	echo "       key set [ on | off ]"
	echo "supported events: onhook, offhook, senskey"
}

exit_ko()
{
	echo "key KO"
	exit 1
}

exit_ok()
{
	echo "key OK"
	exit 0
}

#[ -x $cli ] || { echo "cannot run $cli";  exit_ko; }

[ $# -ne 0 ] ||  { usage; exit_ko; }
[ "$1" == "sim" ] || [ "$1" == "set" ] || { usage; exit_ko; }
if [ "$1" == "set" ] 
then
  if [ "$2" == "on" ]
  then
  [ -x $hookd ] || exit_ko
  [ -x $senskeyd ] || exit_ko

  $hookd display &
  echo "$!" > $keyTmpFile

  $senskeyd display &
  echo "$!" >> $keyTmpFile

  elif [ "$2" == "off" ]
  then
  [ -f "$keyTmpFile" ] || exit_ko
  kill -9 `tail -1 $keyTmpFile`
  kill -9 `head -n 1 $keyTmpFile`
  rm $keyTmpFile
  else
  usage
  exit_ko
  fi
else
[ -x $cli ] || { echo "cannot run $cli";  exit_ko; }
if [ "$2" == "onhook" ]
then $cli -event HOOK_STATUS_CHANGE -args int:STATUS=1
elif [ "$2" == "offhook" ]
then $cli -event HOOK_STATUS_CHANGE -args int:STATUS=0
elif [ "$2" == "senskey" ]
then
	case $3 in
	"1")
		$cli -event SENSKEY_MUTE -args int:STATUS=1
		$cli -event SENSKEY_MUTE -args int:STATUS=0
		;;
	"2")
		$cli -event SENSKEY_VOLUME_DOWN -args int:STATUS=1
		$cli -event SENSKEY_VOLUME_DOWN -args int:STATUS=0
		;;
	"3")
		$cli -event SENSKEY_VOLUME_UP -args int:STATUS=1
		$cli -event SENSKEY_VOLUME_UP -args int:STATUS=0
		;;
	"4")
		$cli -event SENSKEY_HANDS_FREE -args int:STATUS=1
		$cli -event SENSKEY_HANDS_FREE -args int:STATUS=0
		;;
	"5")
		$cli -event SENSKEY_USER -args int:STATUS=1
		$cli -event SENSKEY_USER -args int:STATUS=0
		;;
	"6")
		$cli -event SENSKEY_COMM -args int:STATUS=1
		$cli -event SENSKEY_COMM -args int:STATUS=0
		;;
	"7")
		$cli -event SENSKEY_DIAL -args int:STATUS=1
		$cli -event SENSKEY_DIAL -args int:STATUS=0
		;;
	"8")
		$cli -event SENSKEY_EVENT -args int:STATUS=1
		$cli -event SENSKEY_EVENT -args int:STATUS=0
		;;
	"9")
		$cli -event SENSKEY_HOME -args int:STATUS=1
		$cli -event SENSKEY_HOME -args int:STATUS=0
		;;
	esac
else
	usage
	exit_ko
fi
fi
exit_ok

