usb4bsd: Bring in FreeBSD's libusbhid, usbhidctl and USB kernel code.
[dragonfly.git] / usr.bin / u4bhidctl / usbhidctl.1
1 .\" $NetBSD: usbhidctl.1,v 1.8 1999/05/11 21:03:58 augustss Exp $
2 .\" $FreeBSD$
3 .\"
4 .\" Copyright (c) 1998 The NetBSD Foundation, Inc.
5 .\" All rights reserved.
6 .\"
7 .\" This code is derived from software contributed to The NetBSD Foundation
8 .\" by Lennart Augustsson.
9 .\"
10 .\" Redistribution and use in source and binary forms, with or without
11 .\" modification, are permitted provided that the following conditions
12 .\" are met:
13 .\" 1. Redistributions of source code must retain the above copyright
14 .\"    notice, this list of conditions and the following disclaimer.
15 .\" 2. Redistributions in binary form must reproduce the above copyright
16 .\"    notice, this list of conditions and the following disclaimer in the
17 .\"    documentation and/or other materials provided with the distribution.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGE.
30 .\"
31 .Dd August 01, 2011
32 .Dt USBHIDCTL 1
33 .Os
34 .Sh NAME
35 .Nm usbhidctl
36 .Nd manipulate USB HID devices
37 .Sh SYNOPSIS
38 .Nm
39 .Fl f Ar device
40 .Op Fl t Ar table
41 .Op Fl v
42 .Op Fl x
43 .Fl r
44 .Nm
45 .Fl f Ar device
46 .Op Fl t Ar table
47 .Op Fl l
48 .Op Fl v
49 .Op Fl x
50 .Fl a
51 .Nm
52 .Fl f Ar device
53 .Op Fl t Ar table
54 .Op Fl l
55 .Op Fl n
56 .Op Fl v
57 .Op Fl x
58 .Ar item ...
59 .Nm
60 .Fl f Ar device
61 .Op Fl t Ar table
62 .Op Fl v
63 .Op Fl z
64 .Fl w
65 .Ar item=value ...
66 .Sh DESCRIPTION
67 The
68 .Nm
69 utility can be used to dump and modify the state of a USB HID (Human
70 Interface Device).
71 Each named
72 .Ar item
73 is printed.
74 If the
75 .Fl w
76 flag is specified
77 .Nm
78 attempts to set the specified items to the given values.
79 .Pp
80 The options are as follows:
81 .Bl -tag -width Ds
82 .It Fl a
83 Show all items and their current values if device returns.
84 .It Fl f Ar device
85 Specify a path name for the device to operate on.
86 .It Fl l
87 Loop and dump the device data every time it changes.
88 .It Fl n
89 Suppress printing of the item name.
90 .It Fl r
91 Dump the report descriptor.
92 .It Fl t Ar table
93 Specify a path name for the HID usage table file.
94 .It Fl v
95 Be verbose.
96 .It Fl w
97 Change item values.
98 Only 'output' and 'feature' kinds can be set with this option.
99 .It Fl x
100 Dump data in hexadecimal as well as decimal.
101 .It Fl z
102 Reset reports to zero before processing
103 .Fl w
104 arguments. If not specified, current values will be requested from device.
105 .El
106 .Sh SYNTAX
107 .Nm
108 compares the names of items specified on the command line against the human
109 interface items reported by the USB device.
110 Each human interface item is mapped from its native form to a human readable
111 name, using the HID usage table file.
112 Command line items are compared with the generated item names,
113 and the USB HID device is operated on when a match is found.
114 .Pp
115 Each human interface item is named by the
116 .Qq page
117 it appears in, the
118 .Qq usage
119 within that page, and the list of
120 .Qq collections
121 containing the item.
122 Each collection in turn is also identified by page, and
123 the usage within that page.
124 .Pp
125 On the
126 .Nm
127 command line the page name is separated from the usage name with the character
128 .Sq Cm \&: .
129 The collections are separated by the character
130 .Sq Cm \&. .
131 .Pp
132 Some devices give the same name to more than one item.
133 .Nm
134 supports isolating each item by appending a
135 .Sq Cm \&# .
136 character and a decimal item instance number, starting at zero.
137 .Sh FILES
138 .Pa /usr/share/misc/usb_hid_usages
139 The default HID usage table.
140 .Sh SEE ALSO
141 .Xr usbhid 3 ,
142 .Xr uhid 4 ,
143 .Xr usb 4
144 .Sh HISTORY
145 The
146 .Nm
147 command appeared in
148 .Nx 1.4 .