xref: /freebsd/usr.sbin/bluetooth/bthidd/bthidd.8 (revision bdcbfde31e8e9b343f113a1956384bdf30d1ed62)
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.\"
27.Dd April 30, 2018
28.Dt BTHIDD 8
29.Os
30.Sh NAME
31.Nm bthidd
32.Nd Bluetooth HID daemon
33.Sh SYNOPSIS
34.Nm
35.Fl h
36.Nm
37.Op Fl a Ar BD_ADDR
38.Op Fl c Ar file
39.Op Fl H Ar file
40.Op Fl p Ar file
41.Op Fl t Ar val
42.Op Fl u
43.Sh DESCRIPTION
44The
45.Nm
46daemon handles remote Bluetooth HID devices.
47.Pp
48The options are as follows:
49.Bl -tag -width indent
50.It Fl a Ar BD_ADDR
51Specify the local address to listen on.
52By default, the server will listen on
53.Dv ANY
54address.
55The address can be specified as BD_ADDR or name.
56If a name was specified, the
57.Nm
58daemon will attempt to resolve the name via
59.Xr bt_gethostbyname 3 .
60.It Fl c Ar file
61Specify path to the configuration file.
62The default path is
63.Pa /etc/bluetooth/bthidd.conf .
64.It Fl d
65Do not detach from the controlling terminal, i.e., run in foreground.
66.It Fl H Ar file
67Specify path to the known HIDs file.
68The default path is
69.Pa /var/db/bthidd.hids .
70.It Fl h
71Display usage message and exit.
72.It Fl p Ar file
73Specify path to the PID file.
74The default path is
75.Pa /var/run/bthidd.pid .
76.It Fl t Ar val
77Specify client rescan interval in seconds.
78The
79.Nm
80daemon will periodically scan for newly configured Bluetooth HID devices or
81disconnected
82.Dq passive
83Bluetooth HID devices and will attempt to establish an outgoing connection.
84The default rescan interval is 10 seconds.
85.It Fl u
86Enable support for input event device protocol.
87Requires evdev and uinput drivers to be loaded with
88.Xr kldload 8
89or compiled into the kernel.
90.El
91.Sh KNOWN LIMITATIONS
92The
93.Nm
94daemon currently does not handle key auto repeat and double click mouse events.
95Those events work under
96.Xr X 7 Pq Pa ports/x11/xorg-docs
97just fine,
98but not in text console.
99.Pp
100This manual page needs more work.
101A manual page documenting the format of the
102.Pa /etc/bluetooth/bthidd.conf
103configuration file is needed as well.
104.Sh FILES
105.Bl -tag -width ".Pa /etc/bluetooth/bthidd.conf" -compact
106.It Pa /etc/bluetooth/bthidd.conf
107.It Pa /var/db/bthidd.hids
108.It Pa /var/run/bthidd.pid
109.El
110.Sh SEE ALSO
111.Xr kbdmux 4 ,
112.Xr vkbd 4 ,
113.Xr bthidcontrol 8
114.Sh AUTHORS
115.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com
116.Sh CAVEATS
117Any Bluetooth HID device that has
118.Dv HUP_KEYBOARD
119or
120.Dv HUP_CONSUMER
121entries in its descriptor is considered as
122.Dq keyboard .
123For each
124.Dq keyboard
125Bluetooth HID device,
126the
127.Nm
128daemon will use a separate instance of the virtual keyboard interface
129.Xr vkbd 4 .
130Therefore the
131.Xr kbdmux 4
132driver must be used to properly multiplex input from multiple keyboards.
133