xref: /freebsd/usr.bin/usbhidctl/usbhidctl.1 (revision 3c4ba5f55438f7afd4f4b0b56f88f2bb505fd6a6)
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 1, 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.Op Fl z
51.Fl a
52.Nm
53.Fl f Ar device
54.Op Fl t Ar table
55.Op Fl l
56.Op Fl n
57.Op Fl v
58.Op Fl x
59.Op Fl z
60.Ar item ...
61.Nm
62.Fl f Ar device
63.Op Fl t Ar table
64.Op Fl v
65.Op Fl z
66.Fl w
67.Ar item=value ...
68.Sh DESCRIPTION
69The
70.Nm
71utility can be used to dump and modify the state of a USB HID (Human
72Interface Device).
73Each named
74.Ar item
75is printed.
76If the
77.Fl w
78flag is specified
79.Nm
80attempts to set the specified items to the given values.
81.Pp
82The options are as follows:
83.Bl -tag -width Ds
84.It Fl a
85Show all items and their current values if device returns.
86.It Fl f Ar device
87Specify a path name for the device to operate on.
88.It Fl l
89Loop and dump the device data every time it changes.
90.It Fl n
91Suppress printing of the item name.
92.It Fl r
93Dump the report descriptor.
94.It Fl t Ar table
95Specify a path name for the HID usage table file.
96.It Fl v
97Be verbose.
98.It Fl w
99Change item values.
100Only 'output' and 'feature' kinds can be set with this option.
101.It Fl x
102Dump data in hexadecimal as well as decimal.
103.It Fl z
104Reset reports to zero before processing other arguments.
105If not specified, current values will be requested from device.
106.El
107.Sh SYNTAX
108.Nm
109compares the names of items specified on the command line against the human
110interface items reported by the USB device.
111Each human interface item is mapped from its native form to a human readable
112name, using the HID usage table file.
113Command line items are compared with the generated item names,
114and the USB HID device is operated on when a match is found.
115.Pp
116Each human interface item is named by the
117.Qq page
118it appears in, the
119.Qq usage
120within that page, and the list of
121.Qq collections
122containing the item.
123Each collection in turn is also identified by page, and
124the usage within that page.
125.Pp
126On the
127.Nm
128command line the page name is separated from the usage name with the character
129.Sq Cm \&: .
130The collections are separated by the character
131.Sq Cm \&. .
132.Pp
133Some devices give the same name to more than one item.
134.Nm
135supports isolating each item by appending a
136.Sq Cm \&# .
137character and a decimal item instance number, starting at zero.
138.Sh FILES
139.Bl -tag -width 30n
140.It Pa /usr/share/misc/usb_hid_usages
141The default HID usage table.
142.El
143.Sh SEE ALSO
144.Xr usbhid 3 ,
145.Xr uhid 4 ,
146.Xr usb 4
147.Sh HISTORY
148The
149.Nm
150command appeared in
151.Nx 1.4 .
152