Documentation
Roadmap
The first development phase is structured around retiring input-safety and compatibility risks before adding polish.
- Input reconnaissance — complete. Enumerate candidate mice and preserve real wheel traces as fixtures.
- Virtual pointer spike — complete enough. Validate temporary uinput output on a real desktop and use the result to refine the product goal.
- Transparent pass-through — complete. Mirror a real pointer through uinput without obvious behavioural regressions.
- Safe exclusive capture — complete. Normal shutdown, forced SIGKILL, receiver disappearance/reconnect and suspend/resume recover cleanly on the primary test machine.
- Velocity engine v1 — active. The original balanced 1×→4× cadence response is the preferred and provisionally frozen daily-use profile; momentum remains intentionally deferred.
- Wheel semantics — complete at engine level. Low/high-resolution, horizontal, burst, mixed-axis, reversal and duplicate-event packet forms have deterministic regression coverage.
- Daemon + configuration — complete for the initial model. Stable device identity, hotplug rediscovery, systemd supervision, diagnostics and minimal config are working.
- Desktop compatibility — active, initial Wayland/GNOME pass complete. Chrome, VS Code, the terminal and Files passed on Ubuntu/GNOME under Wayland; one PDF viewer was usable but weaker/jumpier. XWayland, X11, other compositors/desktops and broader app coverage remain.
- Feel and latency tuning. Optimize slow-scroll precision, fast traversal, stopping and reversal; smoothness is secondary.
- Hardening and first release. Hotplug, failures, sanitizers, packaging and clean-machine tests.
Roadmap, not promises. Checkpoints can change when experiments disprove an assumption. We prefer changing the design to preserving a bad plan.