rvaiya/warpd
FreeA modal keyboard-driven virtual pointer
FreeFree tier
About rvaiya/warpd
A modal keyboard-driven interface for mouse manipulation. warpd allows users to control the mouse pointer entirely from the keyboard using three modes: Hint Mode (Alt-Meta-x generates on-screen hints for clickable targets), Grid Mode (Alt-Meta-g enables quadrant-based navigation), and Normal Mode (Alt-Meta-c for fine cursor movement with hjkl keys). Supports drag simulation by pressing the drag key (default v) and selecting a target. Works on X11, Wayland (sway/wlroots only), and macOS. Open source and configurable.
Key Features
Hint Mode: press Alt-Meta-x to generate a list of keyboard hints for on-screen targets to instantly warp the pointer
Grid Mode: press Alt-Meta-g to repeatedly subdivide the screen into quadrants using u, i, j, k keys for fast navigation
Normal Mode: press Alt-Meta-c for fine cursor adjustment using hjkl movement keys with click and drag support
Drag simulation: focus on source, press drag key (default v), then use Normal Mode to select destination
Cross-platform: runs on X11, Wayland (sway/wlroots only), and macOS
Open source with single binary build for both X and Wayland
Pros & Cons
Pros
- Enhances productivity by eliminating the need to switch between keyboard and mouse
- Multiple interaction modes (hint, grid, normal) offer flexibility for different levels of precision
- Lightweight and open source with a single binary
- Supports both X11 and Wayland (though Wayland is limited to sway/wlroots)
Cons
- Wayland support limited to sway/wlroots; no GNOME or other compositors
- May require manual installation of multiple native dependencies
- Potential conflicts with secure input mode on macOS (e.g., iTerm) and some applications
- Learning curve for memorizing keybindings and switching between modes
Best For
Keyboard-driven cursor control for power users who prefer minimal mouse usageAccessibility tool for individuals with limited mobility or repetitive strain injuriesEfficient multi-monitor pointer navigation without reaching for a mouseSeamless mouse manipulation in terminal-centric workflows
FAQ
What platforms does warpd support?
warpd supports X11, Wayland (sway/wlroots only), and macOS. The Wayland port has several limitations; see the man page for details.
How do I install warpd?
On Debian/Ubuntu, clone the repo, install dependencies (libxi-dev, libxinerama-dev, etc.), run 'make' and then 'sudo make install'. On macOS, download the tar.gz from releases and load the launchd service. See the README for full instructions.
What are the three main modes?
Hint Mode (Alt-Meta-x) shows clickable hints on screen; Grid Mode (Alt-Meta-g) lets you navigate quadrants; Normal Mode (Alt-Meta-c) provides fine cursor movement with hjkl.
How do I perform a drag operation?
Focus on the source element, press the drag key (default v), then use Normal Mode to select the destination. This simulates a click-and-drag action.