Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

NetBSD 6.1.5 - man page for usbhidctl (netbsd section 1)

USBHIDCTL(1)			   BSD General Commands Manual			     USBHIDCTL(1)

     usbhidctl -- manipulate USB HID devices

     usbhidctl -f device [-t table] [-lv] -a
     usbhidctl -f device [-t table] [-v] -r
     usbhidctl -f device [-t table] [-lnv] item [...]
     usbhidctl -f device [-t table] [-z] -w item=value [...]

     usbhidctl can be used to output or modify the state of a USB HID (Human Interface Device).
     If a list of items is present on the command line, then usbhidctl prints the current value
     of those items for the specified device.  If the -w flag is specified usbhidctl attempts to
     set the specified items to the given values.

     The options are as follows:

     -a      Show all items and their current values.  This option fails if the device does not
	     support the GET_REPORT command.

     -f device
	     Specify a path name for the device to operate on.	If device is numeric, it is taken
	     to be the USB HID device number.  If it is a relative path, it is taken to be the
	     name of the device under /dev.  An absolute path is taken to be the literal device

     -l      Loop and dump the device data every time it changes.  Only 'input' items are dis-
	     played in this mode.

     -n      Suppress printing of the item name when querying specific items.  Only output the
	     current value.

     -r      Dump the USB HID report descriptor.

     -t table
	     Specify a path name for the HID usage table file.

     -v      Be verbose.  Repeating this option increases verbosity.

     -w      Change item values.  Only 'output' and 'feature' kinds can be set with this option.

     -z      Reset all feature and output flags to zero before attempting to change them.  May be
	     required for changing item values (via -w) on devices that don't implement

     /usr/share/misc/usb_hid_usages The default HID usage table.

     usbhidctl parses the names of items specified on the command line against the human inter-
     face items reported by the USB device.  Each human interface item is mapped from its native
     form to a human readable name, using the HID usage table file.  Command line items are com-
     pared with the generated item names, and the USB HID device is operated on when a match is

     Each human interface item is named by the "page" it appears in, the "usage" within that
     page, and the list of "collections" containing the item.  Each collection in turn is also
     identified by page, and the usage within that page.

     On the usbhidctl command line the page name is separated from the usage name with the char-
     acter ':'.  The collections are separated by the character '.'.

     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 readable page name or usage name.
     Numeric values can be specified in decimal, octal or hexadecimal.

     Some devices give the same name to more than one item.  usbhidctl supports isolating each
     item by appending a '#'.  character and a decimal item instance number, starting at zero.

     On a standard USB mouse the item
     reflects the current status of button 2.  The "button 2" item is encapsulated within two
     collections, the "Mouse" collection in the "Generic Desktop" page, and the "Pointer" collec-
     tion in the "Generic Desktop" page.  The item itself is the usage "Button_2" in the "Button"

     An item can generally be named by omitting one or more of the page names.	For example the
     "button 2" item would usually just be referred to on the command line as:
	   usbhidctl -f /dev/mouse Mouse.Pointer.Button_2

     Items can also be named by referring to parts of the item name with the numeric representa-
     tion of the native HID usage identifiers.	This is most useful when items are missing from
     the HID usage table.  The page identifier for the "Generic Desktop" page is 1, and the usage
     identifier for the usage "Button_2" is 2, so the following can be used to refer to the
     "button 2" item:
	   usbhidctl -f /dev/mouse 1:Mouse.1:Pointer.Button:2

     Devices with human interface outputs can be manipulated with the -w option.  For example,
     some USB mice have a Light Emitting Diode under software control as usage 2 under page
     0xffff, in the "Mouse" collection.  The following can be used to switch this LED off:
	   usbhidctl -f /dev/mouse -w Mouse.0xffff:2=0

     The output below is from a device that uses the same name repeatedly.

	   % usbhidctl -f /dev/uhid0 -a

     The "Consumer_Control.Unassigned" name is used twice.  Each can be individually accessed by
     providing an instance number.  For example, to set the value for the first item:
	   usbhidctl -f /dev/uhid0 -w 'Consumer_Control.Unassigned#0=1'

     Another example is configuring multimedia keys on a keyboard.  First you would look in the
     dmesg(8) output, which uhid(4) devices are attached to the keyboard's uhidev(4) device and
     use usbhidctl to see how the controls are reported:
	   usbhidctl -f /dev/uhidX -lv -a
     Then press the special keys; you should see something like Consumer:Volume_Up etc.  Then
     create a configuration file containing the actions, like:

	   Consumer:Volume_Up	   1	   /usr/pkg/bin/dcop amarok player volumeUp &
	   Consumer:Volume_Down    1	   /usr/pkg/bin/dcop amarok player volumeDown &
	   Consumer:Mute	   1	   /usr/pkg/bin/dcop amarok player mute &
     and use
	   usbhidaction -c /path/to/file -f /dev/uhidX
     once during your X startup.

     usbhidaction(1), usbhid(3), uhid(4), usb(4)

     The usbhidctl command first appeared in NetBSD 1.4.

     David Sainty <David.Sainty@dtsp.co.nz>

BSD					  March 30, 2011				      BSD

All times are GMT -4. The time now is 05:14 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password