Using Spacenavigatot rotated 90°

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Using Spacenavigatot rotated 90°

Post by mikycoud »

Hi,
It would be tremendously helpful if I could find a way to use my spacenavigator rotated 90° to the right.
In essence, taht means that the USB cable exit would now be located on the right hand side (as opposed to the front), and the 3D connexion logo would be to the left.
Of course that means changing a few axis in the config files, I imagine, but that should be feasible, right?
Why you ask?
Because after 4 years of using it, I still cannot get used to the location of the two tiny buttons on the left and rigth of the device. It's probably due to the way I like to hold my joystick, but it would be a lifechanger for me to have the buttons top and bottom instead of left and rigth.

Thanx for any input on how to best achieve this...

Mikael
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

Come on, I'm sure there's a way to achieve just that through those rather big and intimidating XML files.
I just need to be pointed in the right direction.
Although, to be hnoest, it would be even more aweesome if that request (rotate device 90°) was implemented in a future driver release. But let's be honest, what are the chaces of that happening, huh? :-)
SO back to XML....
ANyone?
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Using Spacenavigatot rotated 90°

Post by jwick »

While it is skiing off the trail, there is nothing to prevent you from swapping X, Y and Rx, Ry axes in your Base.xml file (Device: Standard 3D Mouse).
Each Axis definition has an Input and an Output. Just change the Output.

This will be used for all applications that don't override it (very few override it). You probably have to set Reversed: true on some of the axes after you swap them.

While we don't supply a built-in function for that, you can write a script to do it. It sounds like once you swap them, you don't want to swap them back.

Happy cfg hacking.
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

Hi,
thanx for pointing me in the right direction.
Where might I find that Base.xml file please?
If I recall well, there are numerous XML files...
Thanx
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

I'm on windows 10 BTW
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

Ok, got it...
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

RIght, so I guess I need to change output settings for tilt up/down and tilt left/right, and also for slide up/down and slide right/left. Z should be left alone right?
In the xml, I've got X, Y and rX and rY.
Which is which please? (ie: is Rx slide right?)
Thanx
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Using Spacenavigatot rotated 90°

Post by jwick »

X, Y, Z are the translations. Rx, Ry, Rz are the rotations.
Yes, leave the Z's alone.
It should look something like this (but depends on if you rotated + or - 90):

Code: Select all

			<Axis>
				<Enabled>true</Enabled>
				<Input>
					<ActionID>HIDMultiAxis_X</ActionID>
					<Min>-512</Min>
					<Max>511</Max>
					<Deadband>0</Deadband>
				</Input>
				<Output>
					<ActionID>HIDMultiAxis_Y</ActionID>
					<NameID>STR_PAN_RIGHT_LEFT</NameID>
					<Min>-512.00</Min>
					<Max>511.00</Max>
					<Scale>1.00</Scale>
					<Reversed>false</Reversed>
				</Output>
			</Axis>
			<Axis>
				<Enabled>true</Enabled>
				<Input>
					<ActionID>HIDMultiAxis_Y</ActionID>
					<Min>-512</Min>
					<Max>511</Max>
					<Deadband>0</Deadband>
				</Input>
				<Output>
					<ActionID>HIDMultiAxis_X</ActionID>
					<NameID>STR_ZOOM_IN_OUT</NameID>
					<Min>-512.00</Min>
					<Max>511.00</Max>
					<Scale>1.00</Scale>
					<Reversed>true</Reversed>
				</Output>
			</Axis>
			<Axis>
				<Enabled>true</Enabled>
				<Input>
					<ActionID>HIDMultiAxis_Z</ActionID>
					<Min>-512</Min>
					<Max>511</Max>
					<Deadband>0</Deadband>
				</Input>
				<Output>
					<ActionID>HIDMultiAxis_Z</ActionID>
					<NameID>STR_PAN_UP_DOWN</NameID>
					<Min>-512.00</Min>
					<Max>511.00</Max>
					<Scale>1.00</Scale>
					<Reversed>false</Reversed>
				</Output>
			</Axis>
			<Axis>
				<Enabled>true</Enabled>
				<Input>
					<ActionID>HIDMultiAxis_Rx</ActionID>
					<Min>-512</Min>
					<Max>511</Max>
					<Deadband>0</Deadband>
				</Input>
				<Output>
					<ActionID>HIDMultiAxis_Ry</ActionID>
					<NameID>STR_TILT</NameID>
					<Min>-512.00</Min>
					<Max>511.00</Max>
					<Scale>1.00</Scale>
					<Reversed>false</Reversed>
				</Output>
			</Axis>
			<Axis>
				<Enabled>true</Enabled>
				<Input>
					<ActionID>HIDMultiAxis_Ry</ActionID>
					<Min>-512</Min>
					<Max>511</Max>
					<Deadband>0</Deadband>
				</Input>
				<Output>
					<ActionID>HIDMultiAxis_Rx</ActionID>
					<NameID>STR_ROLL</NameID>
					<Min>-512.00</Min>
					<Max>511.00</Max>
					<Scale>1.00</Scale>
					<Reversed>true</Reversed>
				</Output>
			</Axis>
			<Axis>
				<Enabled>true</Enabled>
				<Input>
					<ActionID>HIDMultiAxis_Rz</ActionID>
					<Min>-512</Min>
					<Max>511</Max>
					<Deadband>0</Deadband>
				</Input>
				<Output>
					<ActionID>HIDMultiAxis_Rz</ActionID>
					<NameID>STR_SPIN</NameID>
					<Min>-512.00</Min>
					<Max>511.00</Max>
					<Scale>1.00</Scale>
					<Reversed>false</Reversed>
				</Output>
			</Axis>
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

Thanx for your advice.
unfortunately, it doesn't seem to work.
I did modify the base.xml file located here:
C:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg
But it doesn't seem to affect anything. It all still works as before...
Is there another xml file higher up in the hierarchy?
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

Here's what my base.xml file looks like after mods:
<Device>
<Name>Standard 3D Mouse</Name>
<VendorID>0</VendorID>
<ProductID>0</ProductID>
<Image>
<Source>[device_images:Unknown3DxImage.png]</Source>
</Image>
<InheritsFrom>Standard 3D Mouse</InheritsFrom>
<Class>SI_CLASS_3DMOUSE</Class>
<Discontinued>false</Discontinued>
<AxisFilter>None</AxisFilter>
<CurrentButtonBank>Default</CurrentButtonBank>
<GlobalButtonBank>AllApplications</GlobalButtonBank>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_X</ActionID>
<Min>-512</Min>
<Max>511</Max>
<Deadband>0</Deadband>
</Input>
<Output>
<ActionID>HIDMultiAxis_Y</ActionID>
<NameID>STR_PAN_RIGHT_LEFT</NameID>
<Min>-512.00</Min>
<Max>511.00</Max>
<Scale>1.00</Scale>
<Reversed>false</Reversed>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Y</ActionID>
<Min>-512</Min>
<Max>511</Max>
<Deadband>0</Deadband>
</Input>
<Output>
<ActionID>HIDMultiAxis_X</ActionID>
<NameID>STR_ZOOM_IN_OUT</NameID>
<Min>-512.00</Min>
<Max>511.00</Max>
<Scale>1.00</Scale>
<Reversed>true</Reversed>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Z</ActionID>
<Min>-512</Min>
<Max>511</Max>
<Deadband>0</Deadband>
</Input>
<Output>
<ActionID>HIDMultiAxis_Z</ActionID>
<NameID>STR_PAN_UP_DOWN</NameID>
<Min>-512.00</Min>
<Max>511.00</Max>
<Scale>1.00</Scale>
<Reversed>false</Reversed>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min>
<Max>511</Max>
<Deadband>0</Deadband>
</Input>
<Output>
<ActionID>HIDMultiAxis_Ry</ActionID>
<NameID>STR_TILT</NameID>
<Min>-512.00</Min>
<Max>511.00</Max>
<Scale>1.00</Scale>
<Reversed>false</Reversed>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min>
<Max>511</Max>
<Deadband>0</Deadband>
</Input>
<Output>
<ActionID>HIDMultiAxis_Rx</ActionID>
<NameID>STR_ROLL</NameID>
<Min>-512.00</Min>
<Max>511.00</Max>
<Scale>1.00</Scale>
<Reversed>true</Reversed>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rz</ActionID>
<Min>-512</Min>
<Max>511</Max>
<Deadband>0</Deadband>
</Input>
<Output>
<ActionID>HIDMultiAxis_Rz</ActionID>
<NameID>STR_SPIN</NameID>
<Min>-512.00</Min>
<Max>511.00</Max>
<Scale>1.00</Scale>
<Reversed>false</Reversed>
</Output>
</Axis>
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Using Spacenavigatot rotated 90°

Post by jwick »

You do have to restart the driver after modifying that file.
And this only works for 3d apps.
Try one of our demos (jet, cube3d, puzzle)

Is "3Dconnexion SpaceNavigator" listed by name in the Device Manager (under Human Interface Devices)?
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

Oh right, I see. It only works in 3D apps...COnfirmed....
Bugger. I use the 3D mouse almost as much in 2D apps as I do in 3D ones, so it's not a viable option for me.
I obviously can't have my axis reversed half the time.
Is there a way to configure the xml so it reverses axes on 2D apps as well?
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

edit: obviosuly when I say "reverse axes", i mean "swapped axes", as in X for Y and Y for X...
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Using Spacenavigatot rotated 90°

Post by jwick »

You can't swap the axes so globally for 2D apps.

Each 2D app has its own definition of the axis mapping which overrides base.xml. But there probably aren't many that you care about.
Editing AppDefCfg_KMJ.xml will change a lot of them.

You have to do the same operation for the 2D apps (swap the Outputs).

Let's make this easy. Just wait until you see an app that isn't behaving the way you want. Hover over the 3Dx systray icon while that app is in focus. It will tell you which cfg file you need to change.
mikycoud
Posts: 22
Joined: Wed Apr 18, 2012 2:57 am

Re: Using Spacenavigatot rotated 90°

Post by mikycoud »

That's awesome advice. thanx a lot for all the info....!
Post Reply