The
bthidev driver handles all Bluetooth Human Interface Devices. Each HID device can have several components, e.g., a keyboard and a mouse. These components use different report identifiers to distinguish which component data is coming from. The
bthidev driver may have several children attached that handle particular components and dispatches data to them based on the report id.
Normally, Bluetooth HIDs will be attached using the
btdevctl(8) program. The following properties are used by the
bthidev driver during autoconfiguration:
local-bdaddr
Local device address.
remote-bdaddr
Remote device address.
service-name
The bthidev driver matches the ‘HID' service.
control-psm
This, if set, will indicate the PSM to use for the Control channel. If not set, L2CAP_PSM_HID_CNTL will be used.
interrupt-psm
This, if set, will indicate the PSM to use for the Interrupt channel. If not set, L2CAP_PSM_HID_INTR will be used.
descriptor
This required binary blob is the HID descriptor containing information about reports the device will produce, and obtained via SDP.
reconnect
If this boolean value is set, and is true, then the bthidev driver will initiate reconnections to the remote device when no connection is present.
link-mode
This optional string represents the link mode of the baseband link, and may be one of ‘auth', ‘encrypt', or ‘secure'.
When the
bthidev driver has configured its children, it will initiate a connection to the remote device. If this fails and the reconnect flag is not set, it will then wait for the device to initiate the connection.