HID Library/ VL.Devices - looking for a node to get data from any USB/HID controller

Hey hey,
There are already some nodes to access values ​​from HIDs (Kinect, VL devices,…) I’m looking for a patch/definition/node/.net for vvvv gamma to access the output-values ​​from any/all HID or USB controllers.
So far I’ve found some .net nodes (hidlibrary, HIDDevices, ect.) and tried around with them, but I can’t find a simple solution.
I’m explicitly trying a video editing device (contour ShuttleExpress) to be used as a control unit for some visuals.
I need the rawinput data of a connected USB controller/ HID (no matter which one).
I’m looking for a patch or definition with which I can get the data (PressButton down/up, Wheel, Crossfade, etc.) out as numerical values - like the mouse/keyboard node from Stride.
My first problem is to get the data which comes out from the controller. I can’t find a node that recognizes the device or I just don’t understand it.
I thought it was possible to access the data in the device manager or something similar so that I would get a list of the devices connected to the PC. In the next step I would select the controller and work with its values.
I’m not a programmer, just a musician with an affinity for programming. I’ve worked a lot with PureData, but wanted to run the visuals via vvvv gamma.
With PD I can simply output a list with the connected devices. Then I can select a device and work with the value - simple. In the screenshot of PD it is the device 5
With the nuget hidlibrary I usually get the message “no data observed”. I think this is a gap in my knowledge.
Google says there was a VL.Devices.Devices nuget for all devices but the VL.Devices package has been removed from the default installation of vvvv Gamma?

… an other screenshot of vvvv follows…

Thanks for help,

Screenshot 2024-01-30 121040

i’m not aware of such a package. can you point to where you found this info?

did you see the sample the hidlibrary nuget comes with: Home · mikeobrien/HidLibrary Wiki · GitHub

it suggests that you’d start with enumerating available devices… does this help already? let us know if you need more help.

Hey Joreg,
Thanks for your help. the sample is a good guide.
To enumerate needs a int32-Input but I have just hex-Vendor and Product-IDs.
I tried to convert with "toint32 and “tryParse” - node, but the is an error (screenshot)…


For simply enumerating the devices this should suffice:
HIDEnumeration.vl (6.9 KB)


That helps a lot. Now I get data from any device.
Sometimes it is a little buggy and freeze vvvv. I will try to fix it.
Thanks Joreg

1 Like