USBHIDCTL(1) FreeBSD General Commands Manual USBHIDCTL(1)


usbhidctlmanipulate USB HID devices


usbhidctl -f device [ -t table][ -v][ -x] -r

usbhidctl -f device [ -t table][ -l][ -v][ -x][ -z] -a

usbhidctl -f device [ -t table][ -l][ -n][ -v][ -x][ -z] item ...

usbhidctl -f device [ -t table][ -v][ -z] -w item=value ...


The usbhidctl utility can be used to dump and modify the state of a USB HID (Human Interface Device). Each named item is printed. If the -w flag is specified usbhidctl attempts to set the specified items to the given values.

The options are as follows:

Show all items and their current values if device returns.
-f device
Specify a path name for the device to operate on.
Loop and dump the device data every time it changes.
Suppress printing of the item name.
Dump the report descriptor.
-t table
Specify a path name for the HID usage table file.
Be verbose.
Change item values. Only 'output' and 'feature' kinds can be set with this option.
Dump data in hexadecimal as well as decimal.
Reset reports to zero before processing other arguments. If not specified, current values will be requested from device.


usbhidctl compares the names of items specified on the command line against the human interface items reported by the USB device. Each human interface item is mapped from its native form to a human readable name, using the HID usage table file. Command line items are compared with the generated item names, and the USB HID device is operated on when a match is found.

Each human interface item is named by the “page” it appears in, the “usage” within that page, and the list of “collections” containing the item. Each collection in turn is also identified by page, and the usage within that page.

On the usbhidctl command line the page name is separated from the usage name with the character ‘ :’. The collections are separated by the character ‘ .’.

Some devices give the same name to more than one item. usbhidctl supports isolating each item by appending a ‘ #’. character and a decimal item instance number, starting at zero.


The default HID usage table.


usbhid(3), uhid(4), usb(4)


The usbhidctl command appeared in NetBSD 1.4.
August 1, 2011 FreeBSD