April 10, 2007 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 NetBSD4.0.