diff options
Diffstat (limited to 'static/netbsd/man4/uhid.4')
| -rw-r--r-- | static/netbsd/man4/uhid.4 | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/static/netbsd/man4/uhid.4 b/static/netbsd/man4/uhid.4 new file mode 100644 index 00000000..c357d9ea --- /dev/null +++ b/static/netbsd/man4/uhid.4 @@ -0,0 +1,166 @@ +.\" $NetBSD: uhid.4,v 1.22 2012/05/14 04:55:07 wiz Exp $ +.\" +.\" Copyright (c) 1999, 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Lennart Augustsson. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 14, 2012 +.Dt UHID 4 +.Os +.Sh NAME +.Nm uhid +.Nd USB generic HID support +.Sh SYNOPSIS +.Cd "uhid* at uhidev? reportid ? flags N" +.Sh DESCRIPTION +The +.Nm +driver provides support for all HID (Human Interface Device) interfaces +in USB devices that do not have a special driver. +.Pp +Normally the +.Nm +driver is used when no other HID driver attaches to a device. +If +.Dq flags 1 +is specified, the +.Nm +driver will instead attach with a very high priority and always be used. +Together with the +.Cd vendor +and +.Cd product +locators on the +.Xr uhidev 4 +driver this can be used to force the +.Nm +driver to be used for a certain device. +.Pp +The device handles the following +.Xr ioctl 2 +calls: +.Pp +.Bl -tag -width indent +.It Dv USB_GET_REPORT_ID (int) +Get the report identifier used by this HID report. +.It Dv 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. +.Bd -literal +struct usb_ctl_report_desc { + int ucrd_size; + u_char ucrd_data[1024]; /* filled data size will vary */ +}; +.Ed +.It Dv USB_SET_IMMED (int) +Sets the device in a mode where each +.Xr read 2 +will return the current value of the input report. +Normally a +.Xr 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. +.It Dv USB_GET_REPORT (struct usb_ctl_report) +Get a report from the device without waiting for data on +the interrupt pipe. +The +.Dv report +field indicates which report is requested. +It should be +.Dv UHID_INPUT_REPORT , +.Dv UHID_OUTPUT_REPORT , +or +.Dv UHID_FEATURE_REPORT . +This call may fail if the device does not support this feature. +.Bd -literal +struct usb_ctl_report { + int ucr_report; + u_char ucr_data[1024]; /* used data size will vary */ +}; +.Ed +.It Dv USB_SET_REPORT (struct usb_ctl_report) +Set a report in the device. +The +.Dv report +field indicates which report is to be set. +It should be +.Dv UHID_INPUT_REPORT , +.Dv UHID_OUTPUT_REPORT , +or +.Dv UHID_FEATURE_REPORT . +This call may fail if the device does not support this feature. +.It Dv USB_GET_DEVICE_DESC (usb_device_descriptor_t) +Return the device descriptor. +.It Dv USB_GET_DEVICEINFO (struct usb_device_info) +Get an information summary for the device. +This call will not issue any USB transactions. +.It Dv USB_GET_STRING_DESC (struct usb_string_desc) +Get a string descriptor for the given language id and +string index. +.Bd -literal +struct usb_string_desc { + int usd_string_index; + int usd_language_id; + usb_string_descriptor_t usd_desc; +}; +.Ed +.El +.Pp +Use +.Xr read 2 +to get data from the device. +Data should be read in chunks of the size prescribed by the report +descriptor. +.Pp +Use +.Xr write 2 +send data to the device. +Data should be written in chunks of the size prescribed by the +report descriptor. +.Sh FILES +.Bl -tag -width Pa +.It Pa /dev/uhid? +.El +.Sh SEE ALSO +.Xr usbhidaction 1 , +.Xr usbhidctl 1 , +.Xr uhidev 4 , +.Xr usb 4 +.Sh HISTORY +The +.Nm +driver +appeared in +.Nx 1.4 . +Support for the +.Dv USB_GET_DEVICEINFO +and +.Dv USB_GET_STRING_DESC +ioctls appeared in +.Nx 2.0 . |
