Skip to content
/ warpd Public
forked from rvaiya/warpd

A modal keyboard-driven virtual pointer

License

Notifications You must be signed in to change notification settings

gurubu/warpd

 
 

Repository files navigation

What

A modal keyboard driven interface for mouse manipulation.

Demo

Hint Mode Alt-Meta-x

Grid Mode Alt-Meta-g

Normal Mode Alt-Meta-c

Dependencies

Linux (X only):

The usual array of X libraries:

  • libxi
  • libxinerama
  • libxft
  • libxfixes
  • libxtst
  • libx11

Wayland is currently unsupported and may or may not be in the pipeline :P.

MacOS:

  • The standard Xcode command line developer tools.

Installation

Make sure you have the appropriate dependencies for your system:

E.G

debian/ubuntu:

sudo apt-get install \
	libxi-dev \
	libxinerama-dev \
	libxft-dev \
	libxfixes-dev \
	libxtst-dev \
	libx11-dev

macos:

xcode-select --install

Then simply do:

make && sudo make install

Quickstart

  1. Run warpd

Hint Mode

  1. Press A-M-x (alt+meta+x) to generate a list of hints
  2. Enter the key sequence associated with the desired target to warp the pointer to that location and enter normal mode.
  3. Use the normal mode movement keys to select the final desination (see Normal Mode).

Grid Mode

  1. Press A-M-g (meta is the command key) to activate the warping process.
  2. Use u,i,j,k to repeatedly navigate to different quadrants.
  3. Press m to left click, , to middle click or . to right click.
  4. See Normal Mode

Normal Mode

  1. Press A-M-c to activate normal mode.
  2. Use the normal movement keys (default hjkl) to adjust the cursor.
  3. Press m to left click, , to middle click or . to right click.
  4. Press escape to quit.

A drag movement can be simulated from any of the above modes by focusing on the source and then pressing the drag_key (default v) which will cause normal mode to be activated for selection of the drag target.

A more comprehensive description can be found in the man page (along with a list of options).

Packages:

warpd is currently available on the following distributions:

Arch

Available as an AUR package (maintained by Matheus Fillipe).

If you are interesting in adding warpd to your distribution's repository please contact me.

Limitations/Bugs

  • Programs which use Xinput and or Xtest for keyboard may not work correctly (e.g synergy). If a specific program which you feel should be working does not please file an issue.

  • The hack used for pointer hiding on OSX doesn't work on some programs (e.g iTerm). The original cursor will consequently be visible in such cases, though functionality should be otherwise unaffected.

Contributions

A special thanks to

  • Pete Fein - For encouragement and early adoption.
  • Matheus Fillipe - For the original border radius patch as well as numerous bug reports and feature requests.
  • The Kaleidoscope/Vimperator projects - For inspiration.

About

A modal keyboard-driven virtual pointer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 71.8%
  • Objective-C 21.0%
  • Python 5.9%
  • Makefile 1.3%