I just committed a change to the HID parser. I have changed the API so that the report descriptor gets parsed into a data structure once, rather than being re-scanned as a byte array all the time. This should greatly enhance the efficiency of the HID code. It will also make the code more maintainable, because the new API represents the report descriptor as an immutable data structure, rather than a mutable "parser state". The change is between tags before_PSE_12 and after_PSE_12, see cvs diff -u -r before_PSE_12 -r after_PSE_12 Note: the change affects newhidups and mge-shut. I have tested newhidups, but mge-shut still needs to be tested. -- Peter