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

# hidbus(4)

generic HID bus driver

## NAME

**hidbus** – generic HID bus driver

## SYNOPSIS

To compile this driver into the kernel, place the following lines in your kernel configuration file:

**device hidbus** **device hid**

Alternatively, to load the driver as a module at boot time, place the following line in [loader.conf(5)](/man/loader.conf/5.md):

```
hidbus_load="YES"
```

## DESCRIPTION

The **hidbus** driver provides support for multiple HID driver attachments to single HID transport backend. See [iichid(4)](/man/iichid/4.md) or [usbhid(4)](/man/usbhid/4.md).

Each HID device can have several components, e.g., a keyboard and a mouse. These components use different report identifiers (a byte) combined into groups called collections to distinguish which one data is coming from. The **hidbus** driver has other drivers attached that handle particular kinds of devices and **hidbus** broadcasts data to all of them.

## SYSCTL VARIABLES

The following variables are available as both [sysctl(8)](/man/sysctl/8.md) variables and [loader(8)](/man/loader/8.md) tunables:

- *hw.hid.hidbus.debug*

  Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0.

## SEE ALSO

[hconf(4)](/man/hconf/4.md), [hcons(4)](/man/hcons/4.md), [hgame(4)](/man/hgame/4.md), [hidraw(4)](/man/hidraw/4.md), [hkbd(4)](/man/hkbd/4.md), [hms(4)](/man/hms/4.md), [hmt(4)](/man/hmt/4.md), [hpen(4)](/man/hpen/4.md), [hrfkill(4)](/man/hrfkill/4.md), [hsctrl(4)](/man/hsctrl/4.md), hskbd(4), [iichid(4)](/man/iichid/4.md), [usbhid(4)](/man/usbhid/4.md)

## HISTORY

The **hidbus** driver first appeared in FreeBSD 13.0.

## AUTHORS

The **hidbus** driver was written by Vladimir Kondratyev ⟨*wulf@FreeBSD.org*⟩.
