Linux Support for SpaceNavigator

If you have questions or comments concerning any non-support related 3Dconnexion topic, please use this forum.

Moderator: Moderators

Would you like Linux support on the new SpaceNavigator?

Yes
38
84%
No
5
11%
What's linux?
2
4%
 
Total votes: 45

bchuertas
Posts: 2
Joined: Tue Nov 28, 2006 1:08 pm

Linux Support for SpaceNavigator

Post by bchuertas »

Hello 3dconnexion team

I'm wondering if there are any plans on Linux support for the new SpaceNavigator.

As there is already Linux support for the rest of the products it just feels strange that the new SpaceNavigator is missing it.

Is this because is a brand new product and Linux support will come in a near future or as this is a product more low-ended you are not planning this at all?

Many thanks in advance

A new fan
znissan
User
User
Posts: 191
Joined: Tue Nov 28, 2006 12:32 pm
Location: San Jose, CA
Contact:

Post by znissan »

Hello:

Thank you for your feedback.

It's true that we have launched SpaceNavigator as a Windows product, and we will look to support a Mac OS driver in the first quarter of next year. And, Linux support is available on our other products, SpaceTraveler, SpacePilot and SpaceExplorer.

If we continue to get requests for Linux support for SpaceNavigator, we will always address the possibility of a solution.

Any additional feedback is welcome.

Ziva Nissan
3Dconnexion, Inc.
IraqiGeek
Posts: 1
Joined: Wed Dec 13, 2006 12:57 pm
Contact:

Post by IraqiGeek »

znissan wrote:Hello:

If we continue to get requests for Linux support for SpaceNavigator, we will always address the possibility of a solution.
Then count me in those requesting a linux driver for the SpaceNavigator :)

The thing is, there is a big gap in price between the SpaceNavigator and the SpaceTraveler, the next product up the line.

For many people, an input device such as the SpaceNavigator would not be used for any professional applications, and hence shelling an extra $100-140 for the SpaceTraveler would not be justified.

Thanks,
IraqiGeek
znissan
User
User
Posts: 191
Joined: Tue Nov 28, 2006 12:32 pm
Location: San Jose, CA
Contact:

Post by znissan »

Hello:

Thanks for the input.

We will look to add Linux support to SpaceNavigator in the first part of 2007. We do no have a schedule yet, but it will be as soon as is possible. I will keep you updated.

Ziva Nissan
3Dconnexion, Inc.
simon
Posts: 7
Joined: Thu Dec 14, 2006 5:51 pm

Post by simon »

I second the request for an "official" driver.

However, since the Spacenavigator (fortunately, thanks!) is a regular USB HID device, the linux kernel already is able to provide the events generated by the space navigator to applications reading from the linux input system.

I hacked together a proof of concept tool to read out the values, you can download the source at http://www.home.unix-ag.org/simon/files/spacenavi.c .

I have not yet been able to light up the LED of the device and I am also unsure if maybe some configuration stuff is stored in the navigator. I'd appreciate any hints there...

Thanks for a neat device!
Simon
riddick
Posts: 3
Joined: Tue Dec 05, 2006 2:52 pm

Post by riddick »

Add me to the users interested in Linux support.

simon wrote: I hacked together a proof of concept tool to read out the values
Just great!

I'm not too much into device programming lately, but it seems not too difficult to make (inofficial) use of the device in an application. (At least the developers of the Linux version of Google Earth should be able to do that.)

A little bit of configuration (e.g. sensitivity/speed), probably something for zero calibration, et voila! Oh, ok, the blue LED of course... ;)

Very interesting, indeed!
znissan
User
User
Posts: 191
Joined: Tue Nov 28, 2006 12:32 pm
Location: San Jose, CA
Contact:

Post by znissan »

Our driver does address the device via the usbfs and not via a module. As mentioned, we will have something for you to try as early as possible next year (with the blue LEDs lighting up!) We can then go from there as far as configurations and application support. As GE is supported natively, we hope that we can work with Google to extend to Linux as well.

Ziva Nissan
3Dconnexion, Inc.
scottp
Posts: 4
Joined: Wed Dec 13, 2006 6:46 pm
Location: Bangor, PA
Contact:

Linux Support for SpaceNavigator

Post by scottp »

I agree SpaceNavigator should have support as well. I'm planning to get two of either the SpacePilot or SpaceExplorer once I'm sure they will work in my particular setup.

I'm sure if you offer a Linux driver you will sell a lot of these.
I'll definitely tell my friends. :wink:
znissan
User
User
Posts: 191
Joined: Tue Nov 28, 2006 12:32 pm
Location: San Jose, CA
Contact:

Post by znissan »

Let me put the question out there -- which applications are you all using?

Ziva Nissan
3Dconnexion, Inc.
simon
Posts: 7
Joined: Thu Dec 14, 2006 5:51 pm

Post by simon »

znissan wrote:Let me put the question out there -- which applications are you all using?
Personally my primary reason for buying the Device was being able to play with it and to use it for some programs I wrote (eyecandy stuff). Generally I am curious about all kinds of input devices and love to experiment with these.
I am still pondering how the Navigator could be integrated into GIMP, but I have no clear idea about how to use it in a meaningful manner there.
Google Earth integration is also something I'd definitely use a lot. I played with GE and the Navigator in Windows and loved it, unfortunately I rarely boot into Windows.
Another important application is IMHO Blender, where the Navigator definitely would help a lot (and probably would make it interesting for quite some people).

As for the hooking into the usbfs, this is probably a reasonable way to go (admittedly I don't have a real clue how your infrastructure is supposed to work). However, I'd like to advocate in favor of a (alternate?) way to access the Space Navigator via the /dev/input system of the linux kernel (if a kernel module is not feasible for some reason by routing the events back into the system via uinput). This would make it possible for application developers to use it without a dependency on an external library, which probably won't get distributed via the "regular" way of the linux distributions.
But then it probably is easy to use your API to write a tool to feed events into /dev/input/uinput...

Thanks,
Simon
scottp
Posts: 4
Joined: Wed Dec 13, 2006 6:46 pm
Location: Bangor, PA
Contact:

which applications are you all using

Post by scottp »

Under Linux:
Eagle PCB Layout (while PCB layout is 2D, if I can use the SpaceDevice to pan and zoom, that alone would be a huge improvement).
UGS NX (when Ver 5 for Linux comes out).
Povray ?
Blender ?
I will also "Play with it" to see what other programs I can get working with it.

Under Windows running inside a VMware virtual machine on a Linux host and even once in a while booted directly into Windows.
SolidEdge18
Algor FEA

As a business owner, we are trying to move away from any MS products, and to have ultimately only a Linux based solution for all of our desktops.
Methedras
Posts: 12
Joined: Sun Dec 17, 2006 5:04 am

Post by Methedras »

znissan wrote:Let me put the question out there -- which applications are you all using?
Because you asked:

I have written (and am using) a proprietary (not yet publicly available) application revolving around the 3D display of (and navigation through) digital terrain data, overlaid with the display of 3D GPS-tracks recorded during various outdoor activities.

This app is originally based on (Debian) Linux, XFree86, Glut and OpenGL, written in "C".
I have recently started a port to Wiin2K, using Delphi, which is also basically working.

My legacy input device is a serial SpaceMouse Classic for which I have ported the XFree86 extended input device loadable module "magellan" from a previous version of XFree86. For Win2K, I've written the device handling code using the 3dconnexion SDK dll. As far as the 3D input device is concerned, my app works on both platforms to my contention with the SpaceMouse Classic.

Just 3 days ago I purchased a SpaceNavigator PE and am quite disappointed to find, that neither XFree86 nor Win2K are supported. Seems like I have been blinded by the looks and the price tag of this cool device.

Provided with the necessary information and sample devices, I would commit myself to working on Linux/glut support. Interested parties (including 3dconnexion) can contact me via privat mail:

Chris@real-aix.de
evansg
Posts: 1
Joined: Mon Dec 18, 2006 10:16 am
Location: Ohio

Post by evansg »

I too would like to see the Space Navigator supported on Linux. We would like to use it with Google Earth and Sketchup on Linux in a home use environment.

Sincerley,

Gene Evans
stew
Posts: 10
Joined: Wed Dec 20, 2006 9:34 am

Post by stew »

simon wrote:I have not yet been able to light up the LED of the device and I am also unsure if maybe some configuration stuff is stored in the navigator. I'd appreciate any hints there...
The LED is an ordinary HID output. I am able to control it from Mac OS X using the OS-provided HID APIs. Look for an element of type 129, then set its value to 1.
Methedras
Posts: 12
Joined: Sun Dec 17, 2006 5:04 am

Post by Methedras »

simon wrote: I hacked together a proof of concept tool to read out the values, you can download the source at http://www.home.unix-ag.org/simon/files/spacenavi.c .

I have not yet been able to light up the LED of the device and I am also unsure if maybe some configuration stuff is stored in the navigator. I'd appreciate any hints there...
Hi Simon,

thanks for the great start!

I expanded your hack a little but am currently unable to post the modified source like you did.

Here's how you can controll the blue LED:

open the device O_RDWR, since you not only want to read values from the device but you also have to _write_ to the device for LED control.

Then, use an
event.type = EV_LED //obviously
event.code = 10; // took a few tries to find out
event.value = [0|1]; // 1 turns LED on, 0 turns LED off.

Values are stored persistently inside device. I.e, blue LED may stay lit if you terminate your sample Program via <Ctrl>+<C>.

That's all.

You might want to modify your usage instructions as to how the "path_to_device" needs to be specified. I have found /dev/input/event2 to work. However, I'm unsure if this may change as you plug/unplug other USB devices.

I used the last lines of > dmesg output to find out:

...
usb 2-3: new low speed USB device using address 6
drivers/usb/input/hid-core.c: ctrl urb status -32 received
drivers/usb/input/hid-core.c: ctrl urb status -32 received
drivers/usb/input/hid-core.c: ctrl urb status -32 received
input: USB HID v1.10 Multi-Axis Controller [3Dconnexion SpaceNavigator] on usb-0000:00:02.1-3


Have a great christmas!

regards,
Chris
Post Reply