Developer: XavierChen
English | 简体中文
A lightweight macOS tray app for 3Dconnexion SpaceMouse devices. It reads motion data through 3DconnexionJS, optionally simulates mouse wheel scrolling, and releases SpaceMouse focus when CAD apps (e.g. Fusion 360) are in the foreground.
- System tray — keeps running after closing the window
- Scroll simulation — map SpaceMouse TY axis to mouse wheel up/down
- Sensitivity slider — continuous range 1–500 (100 = default, 500 = max)
- App filter — blacklist / whitelist / always-claim modes to avoid stealing focus from Fusion 360 and other 3D apps
- Smart focus — automatically releases NL-Proxy focus for blocked apps
- macOS with 3DxWare 10 (≥ 10.8.10)
- A connected SpaceMouse device
- Accessibility permission (for scroll simulation)
- Automation permission for System Events (for foreground app detection)
git clone https://github.com/xavier-chen/spacemouseX.git
cd spacemouseX
npm install
npm start- Enable Scroll up/down in the config window or tray menu
- Adjust sensitivity with the slider (tray → Sensitivity opens the config window)
- Use App filter to add Fusion 360 or other apps to the blacklist so they keep native SpaceMouse navigation
| Item | Description |
|---|---|
| Show window | Open / hide the config window |
| Scroll up/down | Toggle wheel simulation |
| Sensitivity | Open config window |
| Quit | Exit the app |
| Mode | Behavior |
|---|---|
| Blacklist | Release focus when listed apps are frontmost (recommended) |
| Whitelist | Only claim focus for listed apps |
| Always claim | May conflict with Fusion 360 and similar apps |
Motion is accumulated and emitted in small steps at ~120 Hz to reduce stutter from large per-frame scroll jumps.
- Connects to local NL-Proxy via WebSocket (
127.51.68.120:8181) - Scroll events via
@nut-tree-fork/nut-js - Uses @3dconnexion/3dconnexionjs — subject to 3Dconnexion SDK license terms
MIT © XavierChen
3DconnexionJS is © 3Dconnexion and governed by their SDK license.