---
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://new.carta.tech/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)](/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)](/iichid/4.md) or [usbhid(4)](/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)](/sysctl/8.md) variables and [loader(8)](/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)](/hconf/4.md), [hcons(4)](/hcons/4.md), [hgame(4)](/hgame/4.md), [hidraw(4)](/hidraw/4.md), [hkbd(4)](/hkbd/4.md), [hms(4)](/hms/4.md), [hmt(4)](/hmt/4.md), [hpen(4)](/hpen/4.md), [hrfkill(4)](/hrfkill/4.md), [hsctrl(4)](/hsctrl/4.md), hskbd(4), [iichid(4)](/iichid/4.md), [usbhid(4)](/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*⟩.
