I've been obsessed with weird 3Dconnexion Spacewhatever products for almost ten years now. From what I can tell, they've been building niche input devices for moving in 3D space since the early 2000s. My first purchase was a SpaceNavigator in 2013, for $100 on Kijiji. It's a little puck that sits on the desk and lets you move the cap in any direction - forward, back, up, down, left, right, pitch, yaw, roll.
Daniel Tal
I don't exactly use it every day, but it's always fun to play with. Blender has great compatibility with what it calls "NDOF" (n-degree of freedom) devices. 3Dconnexion also provides a suite of little training applications that force your brain, hand, and eyes to work together to assemble 3D parts.
SpacePilot Pro
B&H Photo Video
If the SpaceNavigator is a bicycle, the SpacePilot Pro (SPP) is a Formula One car. Along with the usual cap, it has arrays of buttons on the left and right sides, as well as a screen showing useful information like what buttons are assigned to what functions for the current program. The whole thing has a wrist rest that looks like it came from the controls of the Space Shuttle - maybe that's where they got the name from?
There's one catch. Although it actually wasn't much more expensive than the SpaceNavigator, the SPP launched in 2009 or so. Besides the inevitable wear and tear of a well-used product, support from the manufacturer is limited. 3Dconnexion is planning to cut support later this year, but for now, the current drivers work fine with one major exception: the LCD.
3Dconnexion was originally founded by Logitech, and actually operated as part of the company for many years. However, it seems as though they split from their parent company a few years ago - I had a hard time finding an exact date, but this forum post by a 3Dconnexion employee suggests that as of 2019, it's either been sold or spun off into a separate company and no longer benefits from Logitech's resources.
When the SPP was released, Logitech was manufacturing a number of devices with similarly-sized screens. For example, the G15 keyboard was sold with an LCD capable of running "applets" to (among other things) check your email, use a calculator, display FPS and CPU load while gaming, or even just show a slideshow. 3Dconnexion appears to have borrowed their parent company's approach to running a small screen on a USB peripheral, and in fact the driver installer for the SPP also creates a C:\Program Files\Logitech folder with a full installation of the LCD manager program for the G15 and other devices of the time.
The program structure is fairly simple, and anybody who feels like poking around in Task Manager can get the names of the running processes that make the thing work seamlessly. Logitech LCD Manager does exactly what it says: provides configuration for the screens of all compatible attached devices. When an applet (just a compiled .EXE file) is run for the first time, it registers itself with LCD Manager. The applet runs on the computer itself, and sends images, text, and even video to the device through a connection to LCD Manager. It can also receive input from the device to scroll or select items, including Home, Back, OK, and a d-pad on the SPP. These applets are understandably simple, due to the low resolution of the small screens (160x43 for the G15, 320x240 for the SPP), limited bandwidth of the USB connection, and simple control scheme.
Logitech
The coolest part of all this is that Logitech included an SDK with the LCD Manager install, which allowed anybody to build a program that could register itself with LCD Manager and get pushed to Logitech-compatible displays. This includes the SPP, and in fact that's exactly what 3Dconnexion did - the default Function Keys applet that ships with the device is just a custom applet that runs like any other. People were all over this when the G15 came out, and whole websites and communities sprang up around building "mods" for their devices that copied interfaces like the Pokemon battle screen to show CPU temperatures and game FPS. Most of these websites are now defunct, and Logitech has shifted to a different model of running USB-connected displays, which is where this all circles back to the driver issues I had with my new SpacePilot Pro.
For some reason, the newest drivers from 3Dconnexion didn't include the applet .EXE file for the Function Keys program. The controller itself worked perfectly fine, since the keypresses and controller cap are read by 3Dconnexion's own software in the exact same way as newer devices. Uninstalling 3Dxware entirely, and downgrading to version 10.4.3 from 2016, brought back the missing applet and I was able to view my function keys on the SpacePilot Pro's screen with no issues.
Now, a couple of small things are still broken. Although Blender recognizes the controller, it doesn't communicate back to 3Dxware what each key is set for, meaning the SPP screen just displays the default bindings even though (for example) I've set "Roll CW" and "Roll CCW" to Undo and Redo, respectively. It's not a huge problem, and definitely something I can live with.
Edit: It turns out that if you open the application config file at AppData/Roaming/3Dconnexion/3DxWare/Cfg/ProgramName.xml, you can edit the ID of the macro to whatever you want (in this case, "Fit"). See the image below.
Jeremy Paquette
Overall, I'm loving the SpacePilot Pro. Aside from the space-age appearance, its customizability and huge number of controls make it easy to access whatever functions you need in any piece of software. I'm looking forward to at least a few years of using it before it breaks entirely (keeping in mind that it might already be 10 years old at this point), and I'll probably buy a used SpaceMouse Enterprise to upgrade when this one dies.
Do you have an older 3Dconnexion device? Drop me a line - I'd love to know what kind of driver issues you've run into, and how the hardware itself is holding up over time.