You need _ABS (Correction (21-Mar-2013): use DIPROPAXISMODE_REL) for the SpacePilot PRO and all future devices. The older devices need _REL (Correction (21-Mar-2013): use DIPROPAXISMODE_ABS). The device HID descriptor has changed, starting at the SPP.
It is best that you explicitly check for the older devices (SpaceNavigator, SpaceNavigator for Notebooks, SpaceExplorer, SpacePilot) and assume that all future devices, that you can't explicitly check for, are all _ABS.
Okay, if we should check DIPROP_INSTANCENAME, could you list here the possible strings that will match to devices operating in old DIPROPAXISMODE_REL mode?
Thank you.
jwick wrote:SpaceMouse Pro PID = 0xc62b
Use DIPROPAXISMODE_ABS. (Correction (21-Mar-2013): use DIPROPAXISMODE_REL)
Thank you for that.
The problem reported by our user that it did rotation all the time (DirectInput only).
Do we need some additional settings for that model, or it's a bug somewhere?
DeeMAGE wrote:
The problem reported by our user that it did rotation all the time (DirectInput only).
Do we need some additional settings for that model, or it's a bug somewhere?
What do you mean by that? It doesn't do translation? It just rotates all the time even if the user isn't touching it? It does all 6DOF all the time? What happens if the user disconnects and reconnects it?
Well obviously I've lost my mind (or just reading my incorrect posts above rather than looking at my own code).
You do have to use DIPROPAXISMODE_REL for SPP, SMP, SN, SE and future devices. OTOH, it doesn't work great. The values accelerate very quickly way out of control. Perhaps there is something else we need to do in that sample code to stop that.
Speaking of future devices, 3Dconnexion is no longer using the Logitech Vendor ID. You also have to check for the 3Dconnexion Vendor ID, which is 0x256f.
Future devices also have a different report format, but DI seems to handle that fine.
jwick wrote:_REL. OK. I'll go edit those incorrect posts....
Well if you look at my initial post, SpacePilot PRO does not work in REL mode, it works fine in ABS only...
Interesting. The SPP does not work at all well for me in _ABS mode. It acts like a joystick centered at 32k, which is what I would expect.
We will have to dig a little deeper to find out what is going on.
What OS are you on?
What version of DX?
What 3DxWare driver, if any, version?