» mp.essentials HID nodes
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

mp.essentials HID nodes

New HID nodes are out. Get them in mp.essentials at https://vvvvpm.github.io/#mp.essentials

microdee, Monday, Feb 4th 2019 Digg | Tweet | Delicious 4 comments  
seltzdesign 07/03/2019 - 16:17

Hey microdee

Just playing around with the new HID nodes and your example patch in the picture above.

We have several SpaceMouse Wireless, so I thought I'd share some of my findings:

1. The VID for 3DConnexion is: 9583 (256f in hex)

2. Here is a complete list of all PIDs and VIDs: https://www.3dconnexion.co.uk/nc/service/faqs/faq/how-can-i-check-if-my-usb-3d-mouse-is-recognized-by-windows.html

3. In your example you sift for "Space", but the newer SpaceMouses use the universal receiver which will create 9 HID Devices, conviniently they are all called "3DConnexion Universal Receiver" /s So basically trying to find the active one is a matter of trial and error I have found so far. The info for all 9 devices is identical.

4. I couldn't get it to output any data trying all 9 devices :/

Really hoping for something that works well for SpaceMouse. All the current solutions in VVVV and VL are either buggy or slow.

microdee 08/03/2019 - 20:25

unfortunately I don't have access to wireless spacemice to test this, only wired. If it's anything like the Steam Controller wireless receiver then they might instantiate all possible connected device slots. Keep in mind these nodes are spreadable so you can open all 9 devices and actually determine which spacemouse is active based on the ChangeCounter. Don't forget to turn on Read to receive data (it's there and off by default for performance reasons). DevicePath of the HidDevice node should be unique for each HID interface, I'm sure you can use that to distinguish between individual spacemice in runtime.

If despite all of that no data is received from them, then they changed their HID protocol for the wireless spacemice which is sad.

seltzdesign 12/03/2019 - 11:09

microdee Thanks for the tips. I just tried it again and I don't know what I did differently, but it seems to be working now - might just be because I did a restart and havent opened anything else that might use SpaceMouse. Just changed the sift to "3Dconnexion" and added another GetSlice before Device. Getting some byte values that correlate to all the movements. I'm getting 52 floats out of the data, 2 for each axis at the end and the buttons towards the beginning.

Do you have a patch that does the conversion to angles and frame differences already? Otherwise I'll just make one up quickly. Seems pretty straightforward, one float for direction, one for angle - times 6 for all the axis.

microdee 13/03/2019 - 04:51

in mp.essentials there's the SpaceMouse (HID) module, it's based on the old HID node still but you can connect the dots ;)

  • 1

anonymous user login


~6d ago

joreg: @zaid please ask this in the forum: https://discourse.vvvv.org/

~6d ago

zaid: how can i detect a changing spread in gamma? the old workflow with a change and select node isnt possible. cheers

~7d ago

joreg: @dawoof such a question is probably better asked in the forum or chat

~8d ago

dawoof: hey vvvvers, What are yall's fav depth-camera for body tracking? (dancing in this case) eyeing the ZED but the delivery time is long

~11d ago

andresc4: DX11 Particles + Kinect2 + real led cube https://www.instagram.com/p/Ci6xWGjrFmK/

~13d ago

joreg: @manuel: good stuff, thanks for sharing!

~14d ago

manuel: this happened in september vvvv+ableton https://www.youtube.com/watch?v=X2kFsho3ajA

~14d ago

guest: SSR