Configuration of device orientation possible?

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Configuration of device orientation possible?

Post by spainman » Wed Jun 25, 2014 7:09 am

I received a Spacemouse Wireless today (most beautiful peripherial ever btw!) and I have a pretty special question. Most likely it is not possible but who knows...3dxware 10 is so full of hidden featues... :wink:

The thing is that it feels more natural to me to use the device rotated round about 45° clockwise so that the left button is round about at 11 o'clock near my index finger and the right button at about 5 o'clock right below my thumb.

Is it possible to configure the driver so that the rotated device orientation is taken into account?

Years ago I modified a space navigator mechanically (enamel wire connection from main pcb to knob pcb and mounted knob in a rotated position after removing the alignment notches) but that was hours of delicate surgery and patience and of course would void the warrenty. I would prefer to just do it in software instead if it is possible.

If a configuration of the rotation is not possible maybe a filter driver could perform the coordinate transformation or maybe there is already a suitable interface to hook and preprocess the input data? You guys may even just need to recompile the fw with an extra

Code: Select all

 #define DEV_ORIENTATION -45
that would do just that :wink: I do all kind of sw and hw development myself so you can keep it as technical as needed.

Any input is highly appreciated! Thanks in advance.

jwick
Moderator
Moderator
Posts: 2670
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Configuration of device orientation possible?

Post by jwick » Thu Jun 26, 2014 1:30 am

I think that is the first time I've heard a request for a non-90 rotation. This would require FW changes or it would be limited to Windows with 3DxWare running.
It's easy to rotate it 90 degrees.

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Thu Jun 26, 2014 2:41 am

Yes - I was sure that this would be 'special'. Windows is all I need so if there is a way I would appreciate further information on how to proceed.
I opened another thread regarding the low update/sampling rate with the wireless device - I hope that can be solved otherwise I will return the device. That would of course make the rotation thing obsolete...

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Thu Jun 26, 2014 2:47 am

Anyway - What would I have to do for a 90° rotation? That would already help considering the wide buttons...

jwick
Moderator
Moderator
Posts: 2670
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Configuration of device orientation possible?

Post by jwick » Thu Jun 26, 2014 2:58 am

Of course none of this can be done with the current GUI. But you are free to go into the XML and switch each axis from whatever output it is using now, to the output you want to use.

For example, change an
<Output><ActionID>HIDMultiAxis_X
to
<Output><ActionID>HIDMultiAxis_Y
to do a 90 degree rotation.

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Thu Jun 26, 2014 5:49 am

Okay - thank you. That makes sense.

Do you have information regarding the low update rate? The thing is that I need a quick clarification just in case that there is no solution to return the device in time for a refund :(

jwick
Moderator
Moderator
Posts: 2670
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Configuration of device orientation possible?

Post by jwick » Thu Jun 26, 2014 5:52 am

How are you measuring this data rate?

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Thu Jun 26, 2014 9:15 am

The setup is pretty easy and works fine.

I use NX and Fraps to display the view port frame rate, Vsync off. The frame rate with the test model easily reaches ~290Hz while moving the model with fast logitech gaming mouse (device update rate speced at 1000Hz).

- Using the Space Explorer, Space Pilot or Space Navigator the frame rate during rotation/movement results in consistent 59-63Hz which matches the update rate you mentioned in the thread viewtopic.php?f=19&t=1151

- Using the Spacemouse Wireless in contrast the framerate fluctuates in the range of 38-41Hz (completely same setup, tested wired to the usb port and wireless, with and without the other 3d mice connected)
I rule out rf issues - there are no significant fluctuations in the framerate and my rf enviroment in the 2.4GHz ism band is pretty silent (probed with a nw analyzer).

It might seem picky but the movements at 40Hz feel really choppy being used to have consistent 60fps - even for occasional use.
I hope you see that the measurements make sense. Could you please answer the eminent question - is it a hardware limitation or not?
Thank you.

UtaSH
Moderator
Moderator
Posts: 3468
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Re: Configuration of device orientation possible?

Post by UtaSH » Fri Jun 27, 2014 2:24 am

Hello spainman.

we have made a change to the very first version of the firmware of the SpaceMouse Wireless. Would you please check which firmware version your device has? Connect it with the cable and unplug the receiver. You can then find the version of the firmware in the UI in the 'About box'. Please check as well the firmware version of the receiver: unplug the cable from the SMW and plug in the receiver. The about box will now show the firmware version of the receiver. (You might have to move the mouse cursor over the string of the version and see the version in the tooltip.)

Let me know what you find out. We might have a firmware update for your device.

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Fri Jun 27, 2014 9:28 am

Okay - receiver has fw version 4.36 and the mouse is v. 4.37
Are updates available? Thanks for the great support so far!

Fred
Moderator
Moderator
Posts: 997
Joined: Wed Dec 06, 2006 7:15 am
Location: Rochester, NY
Contact:

Re: Configuration of device orientation possible?

Post by Fred » Fri Jun 27, 2014 10:39 am

Please check your Inbox I have sent you instructions for receiving the firmware upgrade.

jwick
Moderator
Moderator
Posts: 2670
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Configuration of device orientation possible?

Post by jwick » Thu Jan 25, 2018 5:53 am

This post shows how to rotate the device 90 degrees.

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Thu Jan 25, 2018 8:08 am

Thank you. But 90° still doesn't quite cut it. Still using the mechanically 45" modified space navigator instead of the wireless one.
Really can't manage ergonomically with the button placement.
Actually I started working yesterday night on a software solution by intercepting and transforming the data before hiddev.dll.

spainman
Posts: 53
Joined: Mon Jun 04, 2007 8:58 am

Re: Configuration of device orientation possible?

Post by spainman » Thu Jan 25, 2018 10:35 pm

@jwick / 3dconnexion

Asking for your help here:
As planned I've implemented a solution that intercepts the data before 3dxservice and applies a coordinate system rotation. This happens transparently from the point of view of 3dxservice. It just issues it's ReadFile/GetOverlappedResult calls and gets it's buffer filled with rotated coordinates instead of the originals.

Works fine besides a small issue and this is where I really would appreciate a hint:
For small translations in the horizontal plane the original incoming coordinates are filtered to emphasize linear movements along one of the two axis. E.g. when X is deflected slightly from zero, Y sticks to zero until a certain deflection threshold is reached that is beyond the regular dead band. In other words, a slight translation along X or Y makes the corresponding axis dominant.

Of course this filtering collides with my idea of using the device at an arbitrary orientation. Small translations result in a slightly nervous zigzag.
So is there any way to disable the described axis filtering?
E.g. directly via a hid or usb command? Or event easier using an entry point in one of the modules loaded in 3dxservice?

I would really appreciate if you could share some insight on this matter.

jwick
Moderator
Moderator
Posts: 2670
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Configuration of device orientation possible?

Post by jwick » Fri Jan 26, 2018 2:27 am

Try setting the ResponseCurve to linear (1.0).

For most apps it is:
<Settings>
<ResponseCurve>1.7</ResponseCurve>
...

Post Reply