UHID(4) | Device Drivers Manual | UHID(4) |
NAME¶
uhid — USB generic HID supportSYNOPSIS¶
To compile this driver into the kernel, place the following line in your kernel configuration file:device uhid
Alternatively, to load the driver as a module at boot time, place the following
line in loader.conf(5):
uhid_load="YES"
DESCRIPTION¶
The uhid driver provides support for all HID (Human Interface Device) interfaces in USB devices that do not have a special driver. The device handles the following ioctl(2) calls:USB_GET_REPORT_ID
(int)- Get the report identifier used by this HID report.
USB_GET_REPORT_DESC
(struct usb_ctl_report_desc)- Get the HID report descriptor. Using this descriptor the
exact layout and meaning of data to/from the device can be found. The
report descriptor is delivered without any processing.
struct usb_ctl_report_desc { int ucrd_size; u_char ucrd_data[1024]; /* filled data size will vary */ };
USB_SET_IMMED
(int)- Sets the device in a mode where each read(2) will return the current value of the input report. Normally a read(2) will only return the data that the device reports on its interrupt pipe. This call may fail if the device does not support this feature.
USB_GET_REPORT
(struct usb_ctl_report)- Get a report from the device without waiting for data on
the interrupt pipe. The report field indicates which
report is requested. It should be
UHID_INPUT_REPORT
,UHID_OUTPUT_REPORT
, orUHID_FEATURE_REPORT
. This call may fail if the device does not support this feature.struct usb_ctl_report { int ucr_report; u_char ucr_data[1024]; /* used data size will vary */ };
USB_SET_REPORT
(struct usb_ctl_report)- Set a report in the device. The
report field indicates which report is to be set. It
should be
UHID_INPUT_REPORT
,UHID_OUTPUT_REPORT
, orUHID_FEATURE_REPORT
. This call may fail if the device does not support this feature.
FILES¶
- /dev/uhid?
SEE ALSO¶
usbhidctl(1), usb(4)HISTORY¶
The uhid driver appeared in NetBSD 1.4. This manual page was adopted from NetBSD byTom Rhodes ⟨trhodes@FreeBSD.org⟩ in April 2002.
November 22, 2006 | Debian |