# works for both keyboard and mouse.

KEYBOARD=`cat /var/lib/bluetooth/*/names | grep -i keyboard | awk '{printf "%s ",$1; $1=""; gsub(/^[ ]*/, "", $0); print "\"" $0 "\"" }'` 
MOUSE=`cat /var/lib/bluetooth/*/names | grep -i mouse | awk '{printf "%s ",$1; $1=""; gsub(/^[ ]*/, "", $0); print "\"" $0 "\"" }'`

if [ "x$KEYBOARD" = x ] && [ "x$MOUSE" = x ] ; then
  echo "---"
  ls /var/lib/bluetooth/
  echo "---"
  cat /var/lib/bluetooth/*/names
  echo "---"
  exit 1
fi

ZENTITLE='"Bluetooth Devices"'
ZENTEXT='"Choose the connected device:"'
BTMAC=`eval zenity --list --title=$ZENTITLE --text=$ZENTEXT --column="mac" --column="name" --hide-column=1 $KEYBOARD $MOUSE`
DEVMAC=`echo dev_$BTMAC | sed 's/:/_/g'`
#echo $DEVMAC
BTDIR=`\
  dbus-send --system --print-reply \
            --dest=org.bluez / org.bluez.Manager.DefaultAdapter \
  | grep "/org" | awk '{print $NF}' | sed 's/\"//g'`

#echo $BTDIR

BTDEV=$BTDIR/$DEVMAC
#echo $BTDEV
#exit

dbus-send --system --print-reply \
          --dest=org.bluez $BTDEV \
             org.bluez.Input.Connect

