version 1.5, 2002/11/14 02:57:28 |
version 1.6, 2003/06/10 09:12:12 |
|
|
.Op Ar item=value ... |
.Op Ar item=value ... |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
.Nm |
.Nm |
can be used to output or modify the state of a USB HID (Human Interface |
can be used to output or modify the state of a USB HID (Human Interface Device). |
Device). If a list of items is present on the command line, then |
If a list of items is present on the command line, then |
.Nm |
.Nm |
prints the current value of those items for the specified device. If the |
prints the current value of those items for the specified device. |
|
If the |
.Fl w |
.Fl w |
flag is specified |
flag is specified |
.Nm |
.Nm |
|
|
Show all items and their current values. |
Show all items and their current values. |
This option fails if the device does not support the GET_REPORT command. |
This option fails if the device does not support the GET_REPORT command. |
.It Fl f Ar device |
.It Fl f Ar device |
Specify a path name for the device to operate on. If |
Specify a path name for the device to operate on. |
|
If |
.Ar device |
.Ar device |
is numeric, it is taken to be the USB HID device number. If it is a relative |
is numeric, it is taken to be the USB HID device number. |
path, it is taken to be the name of the device under |
If it is a relative path, it is taken to be the name of the device under |
.Pa /dev . |
.Pa /dev . |
An absolute path is taken to be the literal device pathname. |
An absolute path is taken to be the literal device pathname. |
.It Fl l |
.It Fl l |
Loop and dump the device data every time it changes. Only 'input' items are |
Loop and dump the device data every time it changes. |
displayed in this mode. |
Only 'input' items are displayed in this mode. |
.It Fl n |
.It Fl n |
Suppress printing of the item name when querying specific items. Only output |
Suppress printing of the item name when querying specific items. |
the current value. |
Only output the current value. |
.It Fl r |
.It Fl r |
Dump the USB HID report descriptor. |
Dump the USB HID report descriptor. |
.It Fl t Ar table |
.It Fl t Ar table |
Specify a path name for the HID usage table file. |
Specify a path name for the HID usage table file. |
.It Fl v |
.It Fl v |
Be verbose. Repeating this option increases verbosity. |
Be verbose. |
|
Repeating this option increases verbosity. |
.It Fl w |
.It Fl w |
Change item values. Only 'output' and 'feature' kinds can be set with this |
Change item values. |
option. |
Only 'output' and 'feature' kinds can be set with this option. |
.El |
.El |
.Sh FILES |
.Sh FILES |
.Pa /usr/share/misc/usb_hid_usages |
.Pa /usr/share/misc/usb_hid_usages |
|
|
.Sh SYNTAX |
.Sh SYNTAX |
.Nm |
.Nm |
parses the names of items specified on the command line against the human |
parses the names of items specified on the command line against the human |
interface items reported by the USB device. Each human interface item is |
interface items reported by the USB device. |
mapped from its native form to a human readable name, using the HID usage |
Each human interface item is mapped from its native form to a human readable |
table file. Command line items are compared with the generated item names, |
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. |
and the USB HID device is operated on when a match is found. |
.Pp |
.Pp |
Each human interface item is named by the |
Each human interface item is named by the |
|
|
.Qq usage |
.Qq usage |
within that page, and the list of |
within that page, and the list of |
.Qq collections |
.Qq collections |
containing the item. Each collection in turn is also identified by page, and |
containing the item. |
|
Each collection in turn is also identified by page, and |
the usage within that page. |
the usage within that page. |
.Pp |
.Pp |
On the |
On the |
|
|
.Pp |
.Pp |
As an alternative notation in items on the command line, the native numeric |
As an alternative notation in items on the command line, the native numeric |
value for the page name or usage can be used instead of the full human |
value for the page name or usage can be used instead of the full human |
readable page name or usage name. Numeric values can be specified in decimal, |
readable page name or usage name. |
octal or hexadecimal. |
Numeric values can be specified in decimal, octal or hexadecimal. |
.Sh EXAMPLES |
.Sh EXAMPLES |
On a standard USB mouse the item |
On a standard USB mouse the item |
.Dl Generic_Desktop:Mouse.Generic_Desktop:Pointer.Button:Button_2 |
.Dl Generic_Desktop:Mouse.Generic_Desktop:Pointer.Button:Button_2 |
reflects the current status of button 2. The |
reflects the current status of button 2. |
|
The |
.Qq button 2 |
.Qq button 2 |
item is encapsulated within two collections, the |
item is encapsulated within two collections, the |
.Qq Mouse |
.Qq Mouse |
|
|
.Qq Pointer |
.Qq Pointer |
collection in the |
collection in the |
.Qq Generic Desktop |
.Qq Generic Desktop |
page. The item itself is the usage |
page. |
|
The item itself is the usage |
.Qq Button_2 |
.Qq Button_2 |
in the |
in the |
.Qq Button |
.Qq Button |
page. |
page. |
.Pp |
.Pp |
An item can generally be named by omitting one or more of the page names. For |
An item can generally be named by omitting one or more of the page names. |
example the |
For example the |
.Qq button 2 |
.Qq button 2 |
item would usually just be referred to on the command line as: |
item would usually just be referred to on the command line as: |
.Dl $ usbhidctl -f /dev/mouse Mouse.Pointer.Button_2 |
.Dl $ usbhidctl -f /dev/mouse Mouse.Pointer.Button_2 |
.Pp |
.Pp |
Items can also be named by referring to parts of the item name with the |
Items can also be named by referring to parts of the item name with the |
numeric representation of the native HID usage identifiers. This is most |
numeric representation of the native HID usage identifiers. |
useful when items are missing from the HID usage table. The page identifier |
This is most useful when items are missing from the HID usage table. |
for the |
The page identifier for the |
.Qq Generic Desktop |
.Qq Generic Desktop |
page is 1, and the usage identifier for the usage |
page is 1, and the usage identifier for the usage |
.Qq Button_2 |
.Qq Button_2 |
|
|
.Pp |
.Pp |
Devices with human interface outputs can be manipulated with the |
Devices with human interface outputs can be manipulated with the |
.Fl w |
.Fl w |
option. For example, some USB mice have a Light Emitting Diode under software |
option. |
|
For example, some USB mice have a Light Emitting Diode under software |
control as usage 2 under page 0xffff, in the |
control as usage 2 under page 0xffff, in the |
.Qq Mouse |
.Qq Mouse |
collection. The following can be used to switch this LED off: |
collection. |
|
The following can be used to switch this LED off: |
.Dl $ usbhidctl -f /dev/mouse -w Mouse.0xffff:2=0 |
.Dl $ usbhidctl -f /dev/mouse -w Mouse.0xffff:2=0 |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr usbhidaction 1 , |
.Xr usbhidaction 1 , |
|
|
.An David Sainty Aq David.Sainty@dtsp.co.nz |
.An David Sainty Aq David.Sainty@dtsp.co.nz |
.Sh BUGS |
.Sh BUGS |
Some USB HID devices report multiple items with exactly the same usage |
Some USB HID devices report multiple items with exactly the same usage |
identifiers. The current naming scheme does not provide the means to specify |
identifiers. |
|
The current naming scheme does not provide the means to specify |
which of a set of identically named items you are referring to. |
which of a set of identically named items you are referring to. |