» 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

Shoutbox

~8d ago

joreg: Postponed: Next vvvv beginner course starting April 29: https://thenodeinstitute.org/courses/vvvv-beginner-class-summer-2024/

~1mth ago

~1mth ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/

~2mth ago

schlonzo: Love the new drag and drop functionality for links in latest previews!

~2mth ago

joreg: Workshop on 29 02: Create Sequencers and Precise Clock Based Tools. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-08-create-sequencers-and-precise-clock-based-tools-in-vvvv-gamma/