Repository navigation
v0.2.1
Highlights
edgepad v0.2.1 improves multitouch recovery, makes gesture distance consistent across touchpads, and makes release installs more portable and reliable.
Multitouch recovery after dropped events
edgepad now rebuilds its active multitouch state from the kernel after SYN_DROPPED.
Contacts that were already active are restored as normal passthrough contacts until release, rather than being reclassified as new edge gestures. The virtual touchpad is also settled before resynchronization, preventing stale or ghost contacts after an input queue overrun.
Consistent gesture distance
Swipe detection now uses normalized touchpad travel instead of raw device coordinates. The same physical gesture therefore behaves consistently across touchpads with different coordinate ranges.
The threshold defaults to 2% of the corresponding axis and can be configured explicitly:
swipe_min_distance = 0.02The Home Manager module exposes the same setting as services.edgepad.swipeMinDistance.
Portable release binary
GitHub Releases now ship a statically linked x86_64-unknown-linux-musl binary. It does not depend on the host's glibc loader, so the release installer works on NixOS and other x86_64 Linux distributions without compatibility wrappers.
The release workflow verifies that the binary has no dynamic interpreter before publishing it.
Installer and service readiness
- Re-running the installer now restarts an existing daemon instead of leaving the old process running.
- The installer verifies that
edgepad.serviceis active before running diagnostics. - Packaged systemd units use
Type=notifyand become active only after the virtual touchpad is created and the physical device is grabbed. edgepad statuscan report the ready daemon's PID, version, and selected device through systemd.- CI and release builds now require the locked Cargo dependency graph.
Compatibility
Existing configuration files remain valid. The default swipe threshold is now normalized to 2% of the relevant touchpad axis.
The release asset name changed from edgepad-x86_64-unknown-linux-gnu to edgepad-x86_64-unknown-linux-musl. The installer handles this automatically; manual downloads should use the new asset name.
Full Changelog: v0.2.0...v0.2.1