Re: [ANN] HID report descriptor library and tool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Feb 27, 2010 at 03:13:19PM +0300, Nikolai Kondrashov wrote:
> Hello everyone,
> 
> I would like to announce a HID report descriptor library and tool I'm making
> in my spare time, as a part of the DIGImend project [1]. It is called
> simply "hidrd".
> 
> It is aimed to replace the HID Descriptor Tool [2], produced by the USB
> Implementers Forum, and address its shortcomings. To me these are mainly the
> inability to read native descriptor format, GUI-only interface, and
> instability, plus it is Windows-only (although it runs under WINE).
> 
> The ultimate goal is to make a command-line tool which could be used to
> conveniently make your own and modify existing descriptors. So the idea is
> to implement conversion to/from some format more suitable for human
> consumption and editing. XML was chosen for a start. Yeah, I know, some
> people consider it ugly and not that convenient, but it was the easiest way
> to me.
> 
> The tool is called "hidrd-convert" and currently can only convert from the
> native format to XML. However it could already be useful for a developer
> wishing to better understand a particular descriptor, or HID report
> descriptors as a whole. The next major release (0.2) will include conversion
> from XML to the native format.
> 
> Here is how the output looks for a Microsoft's Natural Ergonomic Keyboard:
> 
> <?xml version="1.0"?>
> <descriptor xmlns="http://digimend.sourceforge.net";
>             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>             xsi:schemaLocation="http://digimend.sourceforge.net hidrd.xsd">
>   <usage_page>desktop<!-- Generic desktop controls --></usage_page>
>   <usage>desktop_keyboard<!-- Keyboard (06, top-level) --></usage>
>   <COLLECTION type="application">
>     <usage_page>led<!-- LEDs --></usage_page>
>     <usage_minimum>01<!-- Top-level --></usage_minimum>
>     <usage_maximum>03<!-- Top-level --></usage_maximum>
>     <logical_minimum>0</logical_minimum>
>     <logical_maximum>1</logical_maximum>
>     <report_size>1</report_size>
>     <report_count>3</report_count>
>     <output>
>       <variable/>
>     </output>
>     <usage>4B</usage>
>     <report_count>1</report_count>
>     <output>
>       <variable/>
>     </output>
>     <report_count>4</report_count>
>     <output>
>       <constant/>
>     </output>
>     <usage_page>keyboard<!-- Keyboard/keypad --></usage_page>
>     <usage_minimum>keyboard_kb_leftcontrol<!-- Keyboard left control (E0) --></usage_minimum>
>     <usage_maximum>keyboard_kb_right_gui<!-- Keyboard right GUI (E7) --></usage_maximum>
>     <report_count>8</report_count>
>     <input>
>       <variable/>
>     </input>
>     <report_size>8</report_size>
>     <report_count>1</report_count>
>     <input>
>       <constant/>
>     </input>
>     <usage_minimum>keyboard_none<!-- No event (00) --></usage_minimum>
>     <usage_maximum>keyboard_kb_lang2<!-- Keyboard LANG2 (91) --></usage_maximum>
>     <logical_maximum>255</logical_maximum>
>     <report_count>6</report_count>
>     <input/>
>   </COLLECTION>
> </descriptor>
> 
> This is produced by running the hidrd-convert tool like this:
> hidrd-convert -o xml descriptor.bin descriptor.xml
> 
> I can show you some a bit more interesting examples (including a Genius
> tablet and the PS3 gamepad) on request (since they are bigger).
> 
> The hidrd release 0.1.1 could be downloaded here:
> https://sourceforge.net/projects/digimend/files/hidrd/0.1/hidrd-0.1.1.tar.gz/download
> You can also visit the hidrd section on the DIGImend project page [3].
> 
> Any comments and feedback are welcome, of course :)

Can you make a plain text output, like what `lsusb -v` produces?
XML gives me the heebie jeebies.

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux