Page MenuHome

3DConnexion SpaceMouse Pro Wireless buttons ignored in Blender 2.72b on Mac and (VirtualPC) Windows 7 Ultimate
Closed, ResolvedPublic

Description

System Information
Mac OS X 10.10.1

Blender Version
Broken: always (This is a new device, Device IDs may not yet exist in Blender, Unknown)
Worked: never (This is a new device, Device IDs may not yet exist in Blender, Unknown)

Short description of error
This device is new from 3DConnexion. it is a "Space Mouse Pro Wireless". The joystick works fine but all of the device buttons are ignored. Buttons can not be assigned in the User Prefs. To verify I used an old 3DConnexion SpaceExplorer and it works as intended. This has been tested on another Mac running Mac OS X 10.9 and this bug persists.

Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps

Using the default startup scene, plug in 3D Connexion "SpaceMouse Pro Wireless" and press any of the buttons; Blender does not respond to any device button input, Joystick works as intended.

Here is an email from 3DConnexion Developers:

"There are some applications that have support for the 3D mouse, but do not make use of our driver. Those applications are reading the 3D data directly from the device. We call this interface “raw input”. These applications usually know the existing devices, but when we launch a new product – as we did just recently the SpaceMouse Wireless – they do not know the device. The vendor ID and the product ID are unknown to them. That means that the new products do not work with those applications until the vendor of the application adds it.

please ask him to address the issue with the vendor of the application"

Event Timeline

J. McElhaney (chargedneuron) created this task.
J. McElhaney (chargedneuron) raised the priority of this task from to Needs Triage by Developer.

See your post:

https://developer.blender.org/rB480b1030f911ac65a0ee5b0ffa8bcad2b0fc8323

intern/ghost/intern/GHOST_NDOFManager.h line 34

"NDOF_UnknownDevice, // <-- motion will work fine, buttons are ignored"

Julian Eisel (Severin) claimed this task.

Hey @J. McElhaney (chargedneuron),
things like this are hard to solve for us, since we need the device to recreate it.
@Campbell Barton (campbellbarton), do you know more here? Like if this is even supposed to work?

Other than that, a missing support isn't no bug, it's a To Do.

However, thanks for the report :)

Julian Eisel (Severin) changed Type from Bug to To Do.Dec 3 2014, 5:26 PM
Julian Eisel (Severin) removed Julian Eisel (Severin) as the assignee of this task.
Julian Eisel (Severin) triaged this task as Normal priority.

Here is the device info you need...

SpaceMouse Pro Wireless:

Product ID:	0xc631
Vendor ID:	0x256f
Version:	4.38
Speed:	Up to 12 Mb/sec
Manufacturer:	3Dconnexion
Location ID:	0x14100000 / 13
Current Available (mA):	500
Current Required (mA):	500

This is from your "intern/ghost/intern/GHOST_NDOFManager.cpp" File with the correct mappings (edited).

static const NDOF_ButtonT SpaceMousePro_HID_map[] = {

NDOF_BUTTON_MENU,
NDOF_BUTTON_FIT,
NDOF_BUTTON_TOP,
NDOF_BUTTON_NONE, // left
NDOF_BUTTON_RIGHT,
NDOF_BUTTON_FRONT,
NDOF_BUTTON_NONE, // bottom
NDOF_BUTTON_NONE, // back
NDOF_BUTTON_ROLL_CW,
NDOF_BUTTON_NONE, // roll ccw
NDOF_BUTTON_NONE, // iso 1
NDOF_BUTTON_NONE, // iso 2
NDOF_BUTTON_1,
NDOF_BUTTON_2,
NDOF_BUTTON_3,
NDOF_BUTTON_4,
NDOF_BUTTON_NONE, // 5
NDOF_BUTTON_NONE, // 6
NDOF_BUTTON_NONE, // 7
NDOF_BUTTON_NONE, // 8
NDOF_BUTTON_NONE, // 9
NDOF_BUTTON_NONE, // 10
NDOF_BUTTON_NONE, // esc key
NDOF_BUTTON_NONE, // alt key
NDOF_BUTTON_NONE, // shift key
NDOF_BUTTON_NONE, // ctrl key
NDOF_BUTTON_ROTATE,

};

And a Visual Map with Device Key Bindings.

Any other info you need?

Thanks so much for the new device info @J. McElhaney (chargedneuron)! That's more than enough to get it working & I'll make the change tonight.

Thanks Mike. I'll get the transmitter's USB HID ID tonight. Just in case it differs from the device.

Found new device IDs at https://github.com/janoc/libndofdev/blob/master/ndofdev.c, which matches the info reported above (plus a few more). Changing device detect code like so:

switch (vendor_id) {
   case 0x046D: // Logitech (3Dconnexion was a subsidiary)
      // ...
      break;
   case 0x256F: // 3Dconnexion
      switch (product_id) {
         case 0xC62E: // plugged in
         case 0xC62F: // wireless
            m_deviceType = NDOF_SpaceMouseWireless;
            // ...
            break;
         case 0xC631: // plugged in
         case 0xC632: // wireless
            m_deviceType = NDOF_SpaceMouseProWireless;
            // ...
            break;

I'll verify these with 3Dconnexion later.

Awesome Mike!

I'll let 3DConnection Customer Service (Derrick) know in the morning that a fix is in the pipeline.

What is the "normal" time a release / fix should be expected to become public (ie: v2.72c, etc) so I can let others know?

Many Thanks!

As soon as I can figure out git authentication :/

[Edit] Nevermind, 3DConnexion has updated their Product ID list since I last looked.

Thanks for chiming in Teh. No I'm not sure, but we seem to be using the same source for our info. Plus new info from this bug report which says 0xC631 is the SpaceMouse Pro Wireless when using the cable.

The new data in the bug report is correct according to 3DConnexion's FAQ .. http://www.3dconnexion.com/index.php?id=200&faq_red=faq/27

They clarified the wording from the last time I was there, so my initial reply to this thread was incorrect.

Nice to see you still have your fingers in this. :)

Just to verify, below is the Wireless USB HID data I show for the Transceiver;

SpaceMouse Pro Wireless Receiver:

Product ID:	0xc632
Vendor ID:	0x256f
Version:	4.38
Speed:	Up to 12 Mb/sec
Manufacturer:	3Dconnexion
Location ID:	0x14100000 / 9
Current Available (mA):	500
Current Required (mA):	98

@Mike Erwin (merwin), did you find out how git authentication works? - (Would like to see this closed asap ;) ) It's pretty easy once you found out how. Just follow the steps on the wiki

I'll download the next build and let you know what happens. Thanks Team Blender!

Mac OS X 32 bit works! Waiting on other scheduled builds for testing.

Mac OS X 64 bit works! Ill test the Windows builds in Virtual PC when their builds post.

Thanks for the quick turn around and my hats off to Mike for tackling this issue with lightning speed. I'll let the 3DConnexion guys know we are all systems go!

Now I can get back to work! =)