---
name: "usbhid"
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/usbhid/4"
---

# usbhid(4)

USB HID transport driver

## NAME

**usbhid** – USB HID transport driver

## SYNOPSIS

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

**device usbhid**

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

```
usbhid_load="YES"
```

## DESCRIPTION

The **usbhid** driver provides a interface to USB Human Interface Devices (HIDs).

## SYSCTL VARIABLES

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

- *hw.usb.usbhid.enable*

  Enable **usbhid** and make its priority greater than other USB HID drivers, such as [ukbd(4)](/ukbd/4.md), [ums(4)](/ums/4.md), and [uhid(4)](/uhid/4.md). Default is 1.

- *hw.usb.usbhid.debug*

  Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. Debug messages are printed on the system console and can be viewed using [dmesg(8)](/dmesg/8.md).

## SEE ALSO

[ehci(4)](/ehci/4.md), [hkbd(4)](/hkbd/4.md), [hms(4)](/hms/4.md), [ohci(4)](/ohci/4.md), [uhci(4)](/uhci/4.md), [usb(4)](/usb/4.md), [xhci(4)](/xhci/4.md), [usbconfig(8)](/usbconfig/8.md)

## HISTORY

The **usbhid** driver first appeared in FreeBSD 13.0. It was enabled by default in FreeBSD 15.0.

## AUTHORS

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