A radial pie-menu UI for 3Dconnexion SpaceMouse devices on Linux. Push, tilt or twist the puck to open a menu at the cursor and fire actions, navigate, or drive your desktop, without reaching for the keyboard.
Pre-alpha. Expect rough edges and breaking changes. It is meant to be tried and shaped by feedback, so please report what you hit.
The current screencast shows the FreeCAD plugin (a work in progress):
demo_upload.webm
SpaceUX is built to become an ecosystem around the SpaceMouse, not a single fixed tool. A small core (the input daemon, the pie overlay, and the editor) does the plumbing; everything on top is meant to be extensible through a plugin API:
- Function plugins add actions and whole menus, so a plugin can teach the pie new things to do (launch apps, run commands, control an application).
- Theme plugins restyle the pie: colours, shape, typography.
- Navigation-style plugins package how you move through the menu (drill, cycle, twist, tilt) into shareable presets.
- Application bridges connect the pie to a specific program (the FreeCAD bridge, for example, surfaces the active workbench's commands).
- Desktop and system plugins drive the desktop itself (windows, workspaces, media, and more), tailored to your Linux distribution and desktop environment, and can act on a SpaceMouse gesture even without opening the pie.
The goal: one device, one input layer, and a growing catalogue of plugins that adapt it to whatever you do, from a single application to your whole desktop, instead of every program reinventing SpaceMouse support on its own.
Linux on Wayland with KDE Plasma 6 and a 3Dconnexion SpaceMouse. KDE is required: the overlay uses KWin and the wlr-layer-shell protocol, which GNOME's Mutter does not support, so the pie does not appear on GNOME. On Ubuntu/Debian use a KDE Plasma session (e.g. Kubuntu). The installer is tested on the Arch family; Ubuntu/Debian (26.04+) is supported in principle but not yet verified, so it may need manual fixups (please report what you hit). See docs/install.md for details.
Tested with a 3Dconnexion SpaceNavigator (046d:c626) on EndeavourOS
(Arch-based), Linux 7.0, KDE Plasma 6.6 on Wayland, Qt 6.11.
Pre-alpha installs from source with one script:
git clone https://github.com/Maik-0000FF/SpaceUX.git
cd SpaceUX
./scripts/install.shIt installs the build dependencies, builds everything, sets up the device
permissions, and adds a spaceux launcher. Full guide, options, and the optional
FreeCAD/Blender step: docs/install.md.
Launch SpaceUX, then press the trigger button (button 0 by default) to open the pie at the cursor. Tilt or push the puck to aim, press the button to fire, press down to go back. The full guide, including the navigation gestures and the editor, is in docs/usage.md.
./scripts/uninstall.shSee docs/uninstall.md for what it removes and what it deliberately keeps.
Bug reports and feature requests are very welcome while SpaceUX finds its shape. Open an issue and the templates will guide you through the useful details.
Development setup and conventions are in CONTRIBUTING.md.
GPL-3.0-or-later. Bundled third-party assets and their licenses are listed in THIRD_PARTY_LICENSES.md.