Skip to content

v0.2.2

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Jul 14:56
b6d876a

Highlights

edgepad v0.2.2 fixes physical touchpad button handling and makes capture, replay, and live diagnostics reproduce daemon behavior more accurately.

Physical clicks and click-drag

Physical touchpad buttons are now passed through to the virtual touchpad, including the device properties and button capabilities required by libinput.

On buttonpads and clickpads, a physical button press takes priority over edge recognition. Active edge contacts are promoted to normal passthrough contacts before the button event, allowing physical clicks and click-drag to work even inside configured edge zones.

The press cancels the pending edge gesture, while slider steps already emitted are preserved. Tap-to-click remains unchanged, and touchpads with separate physical buttons retain their existing edge behavior.

Held button state is also restored after SYN_DROPPED recovery and released during output cleanup, preventing stuck virtual buttons.

Config-aware diagnostics

edgepad proxy, edgepad replay, and edgepad replay-raw now use the normal edgepad configuration by default.

This keeps device selection, active zones, edge widths, swipe thresholds, tap timing, and sliders aligned with the running daemon. Use --config <file> to select another configuration or --built-in-defaults for an isolated recognizer profile.

Diagnostic replay and proxy commands report matched gestures and slider steps but never execute configured actions.

Timestamped capture and replay

Capture files now preserve the kernel timestamp for every frame boundary. Replay uses those timestamps to apply tap_min_duration_ms in the same way as the live proxy.

Both parsed and raw replay validate timestamp ordering, which makes tap and timing-related bugs reproducible from saved captures instead of approximating their behavior.

Documentation

Installation and onboarding documentation now follows the complete setup path for release and Nix users, including verification, updates, troubleshooting, emergency shutdown, and warnings before commands that grab the physical touchpad.

Compatibility

Existing edgepad configuration files remain valid.

Diagnostic command behavior has changed:

  • proxy, replay, and replay-raw now expect the default user config unless --config or --built-in-defaults is provided.
  • Replay fixtures require a timestamp on every SYN_REPORT and SYN_DROPPED boundary. Older captures without timestamps should be regenerated or updated.

Full Changelog: v0.2.1...v0.2.2