xref: /freebsd/usr.sbin/bluetooth/bthidd/bthidd.8 (revision cc68614da8232d8baaca0ae0d0dd8f890f06623e)
1.\" Copyright (c) 2006 Maksim Yevmenkin <m_evmenkin@yahoo.com>
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $Id: bthidd.8,v 1.1 2006/09/07 21:36:55 max Exp $
26.\" $FreeBSD$
27.\"
28.Dd April 30, 2018
29.Dt BTHIDD 8
30.Os
31.Sh NAME
32.Nm bthidd
33.Nd Bluetooth HID daemon
34.Sh SYNOPSIS
35.Nm
36.Fl h
37.Nm
38.Op Fl a Ar BD_ADDR
39.Op Fl c Ar file
40.Op Fl H Ar file
41.Op Fl p Ar file
42.Op Fl t Ar val
43.Op Fl u
44.Sh DESCRIPTION
45The
46.Nm
47daemon handles remote Bluetooth HID devices.
48.Pp
49The options are as follows:
50.Bl -tag -width indent
51.It Fl a Ar BD_ADDR
52Specify the local address to listen on.
53By default, the server will listen on
54.Dv ANY
55address.
56The address can be specified as BD_ADDR or name.
57If a name was specified, the
58.Nm
59daemon will attempt to resolve the name via
60.Xr bt_gethostbyname 3 .
61.It Fl c Ar file
62Specify path to the configuration file.
63The default path is
64.Pa /etc/bluetooth/bthidd.conf .
65.It Fl d
66Do not detach from the controlling terminal, i.e., run in foreground.
67.It Fl H Ar file
68Specify path to the known HIDs file.
69The default path is
70.Pa /var/db/bthidd.hids .
71.It Fl h
72Display usage message and exit.
73.It Fl p Ar file
74Specify path to the PID file.
75The default path is
76.Pa /var/run/bthidd.pid .
77.It Fl t Ar val
78Specify client rescan interval in seconds.
79The
80.Nm
81daemon will periodically scan for newly configured Bluetooth HID devices or
82disconnected
83.Dq passive
84Bluetooth HID devices and will attempt to establish an outgoing connection.
85The default rescan interval is 10 seconds.
86.It Fl u
87Enable support for input event device protocol.
88Requires evdev and uinput drivers to be loaded with
89.Xr kldload 8
90or compiled into the kernel.
91.El
92.Sh KNOWN LIMITATIONS
93The
94.Nm
95daemon currently does not handle key auto repeat and double click mouse events.
96Those events work under
97.Xr X 7
98just fine,
99but not in text console.
100.Pp
101This manual page needs more work.
102A manual page documenting the format of the
103.Pa /etc/bluetooth/bthidd.conf
104configuration file is needed as well.
105.Sh FILES
106.Bl -tag -width ".Pa /etc/bluetooth/bthidd.conf" -compact
107.It Pa /etc/bluetooth/bthidd.conf
108.It Pa /var/db/bthidd.hids
109.It Pa /var/run/bthidd.pid
110.El
111.Sh SEE ALSO
112.Xr kbdmux 4 ,
113.Xr vkbd 4 ,
114.Xr bthidcontrol 8
115.Sh AUTHORS
116.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com
117.Sh CAVEATS
118Any Bluetooth HID device that has
119.Dv HUP_KEYBOARD
120or
121.Dv HUP_CONSUMER
122entries in its descriptor is considered as
123.Dq keyboard .
124For each
125.Dq keyboard
126Bluetooth HID device,
127the
128.Nm
129daemon will use a separate instance of the virtual keyboard interface
130.Xr vkbd 4 .
131Therefore the
132.Xr kbdmux 4
133driver must be used to properly multiplex input from multiple keyboards.
134