# Defaults for bluez

# start bluetooth on boot?
# compatibility note: if this variable is _not_ found bluetooth will start
BLUETOOTH_ENABLED=1

# This setting used to switch HID devices (e.g mouse/keyboad) to HCI mode, that
# is you will have bluetooth functionality from your dongle instead of only
# HID. This is accomplished for supported devices by udev in
# /lib/udev/rules.d/62-bluez-hid2hci.rules by invoking hid2hci with correct
# parameters.
# See /usr/share/doc/bluez/NEWS.Debian.gz for further information.

# Older daemons like pand dund and hidd can be found in bluez-compat package as
# they are deprecated and provided for backward compatibility only.

# Note that not every bluetooth dongle is capable of switching back to HID mode,
# see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=355497
HID2HCI_ENABLED=0
HID2HCI_UNDO=0
