HID Receive

I am working on a setup with multiple Multitouch Screens connected to the same computer.

There is an unresolved 5 year old Windows issue, so I thought about creating my own touch management, going from the pure HID information of the Touch Devices. But so far I cannot get the HID nodes to work properly.

If I select one of the devices in HID (Devices), it generates a longish Report Descriptor, and it seems to output reports too. When I copy the descriptor string into HIDDecoder (Devices) and provide one of the given Report IDs, it is even creating some pins.
But it is not sending any data through those pins.

Anyone here have experience with HID? Is there something I am doing wrong?


see also

RawInput seems to be the weapon of choice.

I remember though that I used the HID nodes with some infrared overlay to get a kind of touchdown information (left click) that wasn’t coming through the mouse nodes.

Just out of curiosity, which screens are you using?

Some wild guesses:

Did you install a specific driver or was the touchscreen supported by windows “out of the box”? If you did install the driver maybe removing it helps, because then windows doesn’t know what it is dealing with and doesn’t lock access? Or vice versa install a specific driver if there is one …

meanimal’s hid modules solved my issues with kontrol f1
you can find them at the bottom of the hid documentation page

as bjoern said, use rawinput.
and cast the data directly to a matching struct of your data.
found it to be much more realiable than hid, especially with touchdata, where you want to receive more than one packet per frame.

about the lock, i had no problem hooking into a digitizer. use subclassing for window handles if necessary which is conveniently provided by elias already if you inherit from WindowInputNode