BTHIDEV(4) | Device Drivers Manual | BTHIDEV(4)

# NAME

`bthidev` —
Bluetooth Human Interface Device support

# SYNOPSIS

`bthidev* at bthub?`

`btkbd* at bthidev? reportid ?`
`btms* at bthidev? reportid ?`

# DESCRIPTION

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.

# SEE ALSO

bluetooth(4), bthub(4), btkbd(4), btms(4), btdevctl(8)

# HISTORY

The `bthidev` driver was written by Iain Hibbert under the sponsorship of Itronix, Inc. and first appeared in NetBSD 4.0.

April 10, 2007 | NetBSD 9.4