
Show HN: EdgePad – tool for configuring edge touchpad gestures on Linux laptops
Touchpad edge gestures for Linux/Wayland. Use the edges to control volume, adjust
以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。
Touchpad edge gestures for Linux/Wayland. Use the edges to control volume, adjust brightness, switch workspaces, or run any command. The center stays available for normal pointer movement.
Gestures start with a finger on the touchpad's left, right, top, or bottom edge. Swipes, taps, and double taps run an action when you lift your finger; sliders repeat an action as you move along an edge.
On an x86_64 Linux desktop with systemd, run:
curl -fsSL https://raw.githubusercontent.com/assembledev/edgepad/main/install.sh | sh
The installer puts edgepad in ~/.local/bin, creates a config, sets up device access, and starts a user service. It asks for sudo to install the udev rules. Make sure ~/.local/bin is on your PATH.
To preview the changes, append -s -- --dry-run to sh. Run the installer again to update; it keeps your config.
NixOS: follow the Nix setup. Use both the NixOS module for device access and the Home Manager module for configuration and the user service.
edgepad status
With the installer’s default config, slide a finger up or down along the left edge. You should see a volume-up or volume-down notification. The examples require notify-send and a desktop notification service; they don't change your volume or other settings yet.
If nothing happens, run edgepad doctor to check device access, missing commands, and service health.
Edit ~/.config/edgepad/edgepad.toml. For example, this complete config makes the left edge a volume slider and a tap on the top edge toggle media playback:
device = "auto"
[[sliders]] zone = "left" up = ["pamixer", "-i", "3"] down = ["pamixer", "-d", "3"]
[[gestures]] zone = "top" direction = "tap" action = ["playerctl", "play-pause"]
Install pamixer and playerctl for this example, or replace them with commands you use. Each array contains the command followed by its arguments. Edgepad does not run commands through a shell.
systemctl --user reload edgepad.service
If the config is invalid, edgepad keeps the previous one and logs the error. Home Manager users should edit their Nix configuration and apply it instead.
See the configuration guide for swipes, double taps, edge widths, and sensitivity settings, or start from the full example config.
If pointer movement behaves incorrectly, stop edgepad to release the touchpad:
systemctl --user stop edgepad.service
For other problems, check the diagnostics and logs:
edgepad doctor journalctl --user -u edgepad.service -b
If more than one touchpad is found, run edgepad devices, set device to the chosen /dev/input/eventX path in your config, and restart the service. Device changes require a restart rather than a reload.
Start it again with systemctl --user start edgepad.service. Report a bug with the relevant logs; the capture guide explains how to record a gesture for debugging.
For installations made with the release installer:
curl -fsSL https://raw.githubusercontent.com/assembledev/edgepad/main/install.sh | sh -s -- --uninstall
Your config is kept. Add --purge to remove it too.
Configuration — gesture bindings and tuning.
Nix — installation, modules, and development shell.
Device discovery and event capture.
Input forwarding, double-tap recognition, and replay format — implementation and testing.
Development
From a checkout, run nix develop to get the Rust toolchain, then:
cargo build --locked cargo fmt --check cargo clippy --locked --all-targets -- -D warnings cargo test --locked
License
MIT or Apache-2.0, at your option.
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。