HID and SpaceMouse (Desperate)

Steps causing the bug to occur

  1. Connect SpaceMouse
  2. Create composition with HID nodes
  3. Space mouse and controls are detected, see attached screen shot.
  4. But I never get an events or data values from any of the nodes that supply values.

Have you found a workaround?

No.
Tested with Catalina and Big Sur.
Tested both the current and beta version of the 3dConnexion drivers.
Tested Vuo 2.3 and 2.2.1.
Note that the SpaceMouse is working for other applications … Blender, GoogleEarth, ZBrushCore.

Other notes

  • Vuo version: 2.3.0
  • macOS version: macOS 11
  • CPU: arm64
  • How severely does this bug affect you? It prevents me from completing a specific task with Vuo.

It used to work, I’ve used the SpaceMouse and Vuo in exhibitions in the past. Pre-Catalina. Can’t say what version of Vuo.
I’ve used Vuo for the two iDomes in this exhibition
https://www.fgs.org.tw/mandy/bmsr02/en-bmsr.html
They had trackballs but want to change to the SpaceMouse.

If this is a bug, I would entertain providing funds to get it fixed urgently.

hidtest.vuo (3.27 KB)

Screen Shot 2021-05-29 at 6.44.38 pm.png

The Get HID Values and Get Control Values nodes provide static information about the HID device. What you probably want here is Receive HID Controls. (Hmm, we should review the node names and documentation; I see how that could be confusing.)

We have confirmed that Receive HID Controls in Vuo 2.3.0 is working on macOS 11.4 for one device, at least.

You could perhaps test with File > Open Example > Move Icosahedron with Space Navigator (changing the selected device on Receive HID Controls).

If that doesn’t solve your problem, let me know and we can arrange for paid priority support.

Based on further discussion with @pbourke, we think the problem is that the SpaceMouse sends HID Reports (not yet supported by Vuo) instead of HID Controls (already supported). There is a similar device, the SpaceNavigator, that does work with Vuo. Created a feature request for the SpaceMouse.

As suggested I ordered a Space Navigator … I get the same issue as with the SpaceMouse. Controls are listed but I get no values.
The device registers as a SpaceNavigator in Vuo.
Works in other apps. The icosahedron example doesn’t work.
So seems like a different issue.

OK, here’s a clue. The icosahedron demo works on a machine with OS 10.15.7 (Catalina) but not on a machine with 11.2.3 (Big Sur).
Still looking … but is it some security issue with application receiving keystrokes?

I retested the Space Navigator with Vuo 2.3.2 on macOS 11 to try to see what’s different, why it would work here but not on your system.

Tested both the current and beta version of the 3dConnexion drivers.

One difference is that I didn’t install any drivers. I just plugged the device into the USB port and it worked.

is it some security issue with application receiving keystrokes?

I looked through System Preferences and the only possibly relevant setting I found was under Security & Privacy > Privacy > Input Monitoring. Vuo 2.3.2 is in the list with its checkbox checked.

@pbourke confirmed that the problem was the 3DxWare drivers. In Vuo 2.4.2 we noted this in the vuo.hid node set documentation under Troubleshooting.

any updates?

I get this message

VuoCompositi:VuoModuleCac [24246:16feeb00] VuoHidDevice.c:192 VuoHidDevice_realize() Matching by location: name=SpaceNavigator (3Dconnexion Multi-axis Controller) location=12000000 product=046d:c626 usage=0001:0008[ 0.653s]

VuoCompositi:VuoModuleCac [24246:16feeb00] VuoHidIo.cc:159 VuoHid_openDevice() Error: Couldn’t open IOHIDManager: IOKit Common: exclusive access and device already open[ 0.653s]

VuoCompositi:VuoModuleCac [24246:16feeb00] VuoHidDevice.c:192 VuoHidDevice_realize() Matching by location: name=SpaceNavigator (3Dconnexion Multi-axis Controller) location=12000000 product=046d:c626 usage=0001:0008[ 0.653s]

VuoCompositi:VuoModuleCac [24246:16feeb00] VuoHidIo.cc:253 VuoHid_make() Warning: HID device ‘SpaceNavigator (3Dconnexion Multi-axis Controller)’ isn’t currently available. I’ll keep trying.

if I kill 3D process helper daemon, Vuo can get access to the HID. It seems to get the raw numbers and scales them correctly.

with the helper terminated, the device also generates xy mouse movements on the cursor.

to recover the helper: log out, log in.  

@pbourke reported:

As it happens all is now good, with both SpaceMouse and the SpaceNavigator, I’ve created installations with both on the latest MacOS … as long as one does not try to install their drivers.

It is still a messy solution.

  1. if you don’t install the drivers, other programs using those drivers won’t function correctly.

  2. killing the helper daemon is something some users might not know how to do. Particularly if it is undocumented.

  3. when I contacted 3dconnexion about using their device to look at youtube 360 videos , they said “the device was not designed as a 2D mouse, kill the driver, but it will not do rotations.” This is a significant potential application of their hardware product integrating with a major service provider. Why would they not make an obvious solution that could result in a significant market share of sales?

  4. killing the driver means all filters are removed, so I am getting every event (100+ per second), which are controlling roll, pitch, & yaw of the equirectangular to fisheye converter node to choke causes jumps that are erratic. Drivers usually provide smoothing and time windows to prevent this.

I have been dealing with 3Dconnexion for 15 years, back when users had to beg for a Mac driver and it took them two years. This should be straight forward using the USB-HID standards. When they got bought by Logitech, I expected better integration, at least with Logitech products. Minimally they should have a feature in their driver to turn it on/off and and some mechanism for HID-USB or OSC compliance, short of killing their driver.

Here is a related HID question, a fork in the road for my designs. Besides 3Dconnexion, I could use my BCF-2000. It is fairly dated, nice equipment but like 3Dconnexion, issues with software integration requiring 3rd party software work arounds that are no longer supported. Do you see the future where OSC (MIDI) is the only reliable way to manage HID design? That is, just ditch these hardware devices that are not OSC compliant, and go with an Ipad exclusively?  

  1. killing the driver means all filters are removed, so I am getting every event (100+ per second), which are controlling roll, pitch, & yaw of the equirectangular to fisheye converter node to choke causes jumps that are erratic. Drivers usually provide smoothing and time windows to prevent this.

Perhaps either Vuo’s “drop events” option for event throttling or the use of a Hold Value node (as in File > Open Example > Data > Store Mouse Position) could help to reduce the overwhelming quantity of events, and a Keep Average node could help with smoothing. On Add support for SpaceNavigator, @pbourke also mentioned filtering out events below a certain threshold.

Besides 3Dconnexion, I could use my BCF-2000. It is fairly dated, nice equipment but like 3Dconnexion, issues with software integration requiring 3rd party software work arounds that are no longer supported.

Have you tried Vuo’s built-in BCF2000 nodes? Search the node library for “bcf”.

Once you’ve used SysEx Librarian to upload the SysEx config to the BCF2000, you can use the BCF2000 with Vuo without any other 3rd-party software.

I own a couple BCF2000s, and played around with it on basic testing a couple years ago, with reduced functionality. I like the unit a lot, but since Behringer dropped it, I am marginal to invest more time with it.

I got touchOSC working last night on my phone, so I am going that direction.

Run into a bigger problem that is driving me nuts, this erratic trackpad control of vuo. Vuo editor keeps moving around randomly, zooming in/out. Something to do with two fingers. Opened another comment on that, on another thread. Only happening on vuo.