title: Blog post: Spacenav-Plus for Mac OS X date: 2016-05-25 comments: true flattr: true github: https://github.com/xythobuz/spacenav-plus parent: stuff
Update from May 2020: I’ve now switched to using Arch Linux full-time, so I’m no longer using my port of spacenav to use my spacemouse. Fortunately, a spacenav-plus package has recently appeared in the AUR and works just fine. Also, Blender, FreeCAD and OpenSCAD now all support spacenav out-of-the-box without any patches required!
Since I’ve got my Fabrikator Mini 3D printer, I’ve spent some timer creating things, mainly with OpenSCAD.
I’ve still got an old Spacemouse Classic laying around. It’s 20 years old at this point and my model connects to a computer using a RS232 serial connection.
This device has originally been developed by the DLR (Deutsches Zentrum für Luft- und Raumfahrt), then found it’s way to Logitech and later 3Dconnexion. You can still get their original drivers for Windows XP and Linux, but they probably won’t run on any modern system.
There is an open-source replacement for the Linux driver, called spacenav / spacenav-plus (fork), that can interface the serial Spacemouse Classic on most POSIX systems and even has support for USB based Spacemice, but only on Linux. It also completely emulates the original 3Dconnexion Linux driver interface, using X11 events. Alternatively, the data can be gathered using a simple POSIX file socket.
I’ve created my own fork of spacenav-plus, modifying the build system to support building on Mac OS X. I’ve also reimplemented the official 3Dconnexion Mac OS X driver interface, resulting in a 3DconnexionClient.framework that should allow using the spacenav-plus driver with most supported software. I’ve tested Google Earth and Blender.
Finally I’ve created/modified patches for both OpenSCAD and FreeCAD to allow them using the spacenav-plus file interface on Mac OS X.
And something interesting I’ve noticed: even though the Spacemouse Classic is using optical sensors to track movements, it’s picking up much noise from the LED strip I’ve mounted under my work bench. I simply can’t use the Spacemouse while this light is plugged in!