#!/bin/sh
if [ `id -u` != 0 ] ; then
#if not already root, call itself as root
        sudo gainroot <<EOF
exec $0 $*
EOF
        exit
fi

if [ "$1" = "scan" ] ; then
	hcitool scan
	exit
fi
[ -f ${0}.conf ] && source ${0}.conf  
#
if [ "$BDADDR" = "" ] ; then
	echo "Bluettoth keyboard not configured."
	echo "Edit ${0}.conf and set BDADDR, KBTYPE and PORTNUM variables."
	echo "You can use 'btkbd scan' to find keyboard address.  See README."
	exit 0
fi
BASEDIR=`dirname $0`
KBDDPID=`pidof kbdd`
if [ "$KBDDPID" = "" ] ; then
	insmod $BASEDIR/uinput.ko
	sdptool >/dev/null browse ${BDADDR} # || exit 1
	#rfcomm release rfcomm${PORTNUM}
	rfcomm bind rfcomm${PORTNUM} ${BDADDR}
	${BASEDIR}/kbdd </dev/null >/dev/null 2>/dev/null -t ${KBTYPE} -p /dev/rfcomm${PORTNUM} &
#	${BASEDIR}/kbdd -t ${KBTYPE} -p /dev/rfcomm${PORTNUM} &
else
	kill $KBDDPID
	sleep 1
	rfcomm release rfcomm${PORTNUM}
	rmmod uinput
fi
