26 June 2016

USB HID and Windows 10

TL;DR;
Docklight Scripting V2.1 USB HID support didn't work on Windows 10. Here is an updated version with additional improvements:
http://docklight.de/download/Docklight_Scripting_v21x_customer_support.zip

The Problem
Apparently, Windows 10 has a different behavior concerning HID access than earlier versions. Docklight Scripting uses HIDAPI from Alan Ott / Signal 11, and the problem was recently detected and resolved in the HIPAPI implementation (see https://github.com/signal11/hidapi/issues/231). 

The Solution
We updated Docklight Scripting's HIDAPI code, so it can now successfully open a HID connection in Windows 10:


We also added two Docklight-specific improvements concerning USB HID access:

Added support for variable Output Report IDs
You can work now with varying, non-zero Output Report IDs using the :I communication channel option, e.g.
USBHID:4D8:F708:I
Now the first character of your Send Sequences is used as the Output Report ID (instead of the default ID = 0 used with standard settings), and the rest of the sequence is the actual payload data.
So a Send Sequence like
15.06.2016 12:47:40.291 [TX] - 02 01 02 56 0D
defines 02 as Output Report ID, and transmits 01 02 56 0D as payload data. (Plus additional zero padding bytes until the required report size is reached.)

Optional arguments for Output ID and Output Report Size override
Use the following extended Communication Channel definition:
USBHID:vendorId:productId:[P|I],outputID,outputPayloadSize
e.g.
USBHID:4D8:F708:,1,63
or
USBHID:4D8:F708:P,2
Output Reports will then be sent using the outputID provided instead of the default zero, and outputPayloadSize instead of the value reported by Windows (HID_CAPS.OutputReportByteLength).

So for any HID related works, we highly recommend to download the latest Docklight Scripting Customer support version:
http://docklight.de/download/Docklight_Scripting_v21x_customer_support.zip

As mentioned earlier and as you can see from this post – we could always use more Docklight USB HID applications and feedback. So we’d love to hear about any situation where Docklight’s HID channel doesn’t work for you as expected, or if you are stuck with your actual application. We are happy to help. 


For our complete software and hardware portfolio, see our Docklight Product Overview.

Marco Flachmann and Oliver Heggelbacher
- The Docklight Developers -

docklight@fuh-edv.de