---
name: "bthidd"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/bthidd"
---

# bthidd(8)

Bluetooth HID daemon

## NAME

**bthidd** – Bluetooth HID daemon

## SYNOPSIS

**bthidd** **-h**

**bthidd** \[**-a** *BD\_ADDR*\] \[**-c** *file*\] \[**-H** *file*\] \[**-p** *file*\] \[**-t** *val*\] \[**-u**\]

## DESCRIPTION

The **bthidd** daemon handles remote Bluetooth HID devices.

The options are as follows:

- **-a** *BD\_ADDR*

  Specify the local address to listen on. By default, the server will listen on ANY address. The address can be specified as BD\_ADDR or name. If a name was specified, the **bthidd** daemon will attempt to resolve the name via [bt\_gethostbyname(3)](/bt_gethostbyname/3.md).

- **-c** *file*

  Specify path to the configuration file. The default path is */etc/bluetooth/bthidd.conf*.

- **-d**

  Do not detach from the controlling terminal, i.e., run in foreground.

- **-H** *file*

  Specify path to the known HIDs file. The default path is */var/db/bthidd.hids*.

- **-h**

  Display usage message and exit.

- **-p** *file*

  Specify path to the PID file. The default path is */var/run/bthidd.pid*.

- **-t** *val*

  Specify client rescan interval in seconds. The **bthidd** daemon will periodically scan for newly configured Bluetooth HID devices or disconnected “passive” Bluetooth HID devices and will attempt to establish an outgoing connection. The default rescan interval is 10 seconds.

- **-u**

  Enable support for input event device protocol. Requires evdev and uinput drivers to be loaded with [kldload(8)](/kldload/8.md) or compiled into the kernel.

## KNOWN LIMITATIONS

The **bthidd** daemon currently does not handle key auto repeat and double click mouse events. Those events work under [X(7)](/X/7.md) (*ports/x11/xorg-docs*) just fine, but not in text console.

This manual page needs more work. A manual page documenting the format of the */etc/bluetooth/bthidd.conf* configuration file is needed as well.

## FILES

- */etc/bluetooth/bthidd.conf*

  - */var/db/bthidd.hids*

  - */var/run/bthidd.pid*

  ## SEE ALSO

[kbdmux(4)](/kbdmux/4.md), [vkbd(4)](/vkbd/4.md), [bthidcontrol(8)](/bthidcontrol/8.md)

## AUTHORS

Maksim Yevmenkin ⟨*m\_evmenkin@yahoo.com*⟩

## CAVEATS

Any Bluetooth HID device that has HUP\_KEYBOARD or HUP\_CONSUMER entries in its descriptor is considered as “keyboard”. For each “keyboard” Bluetooth HID device, the **bthidd** daemon will use a separate instance of the virtual keyboard interface [vkbd(4)](/vkbd/4.md). Therefore the [kbdmux(4)](/kbdmux/4.md) driver must be used to properly multiplex input from multiple keyboards.
