Page MenuHomeFreeBSD

15.0: Note that usbhid(4) is the default
ClosedPublic

Authored by emaste on Nov 26 2025, 3:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jan 23, 6:18 AM
Unknown Object (File)
Mon, Jan 19, 9:28 PM
Unknown Object (File)
Dec 19 2025, 6:26 PM
Unknown Object (File)
Dec 19 2025, 10:30 AM
Unknown Object (File)
Dec 14 2025, 9:20 PM
Unknown Object (File)
Dec 14 2025, 7:54 AM
Unknown Object (File)
Dec 14 2025, 2:16 AM
Unknown Object (File)
Dec 9 2025, 4:09 PM
Subscribers

Diff Detail

Repository
R9 FreeBSD doc repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

emaste created this revision.

@wulf can we add a sentence or two about any user-facing impact, config changes, etc.? For most people it will be a no-op.

What about:

  • peripherals other than keyboard and mouse, like game controllers?
  • special keyboard function keys (volume, brightness, etc.)
  • FIDO keys handled by u2f
  • Interaction with HID devices on other than USB

@wulf can we add a sentence or two about any user-facing impact, config changes, etc.? For most people it will be a no-op.

What about:

  • peripherals other than keyboard and mouse, like game controllers?

usbhid enables support for following devices:

  • absolute mices for virtualized environments in hms(4)
  • digitizers and pens in hpen(4)
  • special keyboard function keys (volume, brightness, etc.) in hcons(4) and hsctrl(4)
  • game controllers. XBox360 and PS4 gamepads in xb360gp(4) and ps4dshock(4) and generic devices in hgame(4)
  • raw HID devices in hidraw(4)
  • FIDO keys handled by u2f

Should work like before neither device name nor protocol has been changed

  • Interaction with HID devices on other than USB

Not expected

Some users e.g. wsp(4) driver users may want to disable usbhid(4) for specific device due to different set of driver features. It is possible with setting of HQ_HID_IGNORE or UQ_HID_IGNORE quirks for device. See hidquirk(4) or usb_quirk(4) respectively.
Old uhid(4) features now are provided with hidraw(4) driver, Note that character device path now changed from /dev/uhid# to /dev/hidraw#. To use old path recompile kernel with option HIDRAW_MAKE_UHID_ALIAS added to kernel config. Hidraw(4) is not loaded by default. kldload hidraw.ko is required.

Old uhid(4) features now are provided with hidraw(4) driver, Note that character device path now changed from /dev/uhid# to /dev/hidraw#. To use old path recompile kernel with option HIDRAW_MAKE_UHID_ALIAS added to kernel config. Hidraw(4) is not loaded by default. kldload hidraw.ko is required.

But FIDO/U2F keys are handled by autoloaded u2f(4)

It also adds support for compound HID like keyboard and mice sharing the same USB interface

Looks like:

image.png (311×826 px, 77 KB)

We don't have many multi-paragraph entries so this looks a bit unusual, but I think it's ok

This revision was not accepted when it landed; it landed in state Needs Review.Nov 30 2025, 10:05 PM
This revision was automatically updated to reflect the committed changes.