.\" $NetBSD: bthidev.4,v 1.9 2007/12/02 19:59:11 wiz Exp $
.\"
.\" Copyright (c) 2006 Itronix Inc.
.\" All rights reserved.
.\"
.\" Written by Iain Hibbert for Itronix Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of Itronix Inc. may not be used to endorse
.\" or promote products derived from this software without specific
.\" prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
.\" ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd April 10, 2007
.Dt BTHIDEV 4
.Os
.Sh NAME
.Nm bthidev
.Nd Bluetooth Human Interface Device support
.Sh SYNOPSIS
.Cd "bthidev* at bthub?"
.Pp
.Cd "btkbd* at bthidev? reportid ?"
.Cd "btms* at bthidev? reportid ?"
.Sh DESCRIPTION
The
.Nm
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
.Nm
driver may have several children attached that handle particular
components and dispatches data to them based on the report id.
.Pp
Normally, Bluetooth HIDs will be attached using the
.Xr btdevctl 8
program.
The following properties are used by the
.Nm
driver during autoconfiguration:
.Bl -tag -width interrupt_psmXX
.It local-bdaddr
Local device address.
.It remote-bdaddr
Remote device address.
.It service-name
The
.Nm
driver matches the
.Sq HID
service.
.It control-psm
This, if set, will indicate the PSM to use for the Control channel.
If not set,
.Dv L2CAP_PSM_HID_CNTL
will be used.
.It interrupt-psm
This, if set, will indicate the PSM to use for the Interrupt channel.
If not set,
.Dv L2CAP_PSM_HID_INTR
will be used.
.It descriptor
This required binary blob is the HID descriptor containing information about
reports the device will produce, and obtained via SDP.
.It reconnect
If this boolean value is set, and is true, then the
.Nm
driver will initiate reconnections to the remote device when no
connection is present.
.It link-mode
This optional string represents the link mode of the baseband link, and
may be one of
.Sq auth ,
.Sq encrypt ,
or
.Sq secure .
.El
.Pp
When the
.Nm
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.
.Sh SEE ALSO
.Xr bluetooth 4 ,
.Xr bthub 4 ,
.Xr btkbd 4 ,
.Xr btms 4 ,
.Xr btdevctl 8
.Sh HISTORY
The
.Nm
driver was written by
.An Iain Hibbert
under the sponsorship of Itronix, Inc. and first appeared in
.Nx 4.0 .