Skip to content

jordansissel/keynav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 24, 2022
28a1ba9 · Aug 24, 2022
Feb 24, 2012
Mar 6, 2017
Jul 8, 2011
Jun 14, 2008
Jul 16, 2011
Mar 12, 2018
Aug 24, 2022
Jul 8, 2011
Jun 14, 2018
Aug 21, 2018
May 20, 2015
Oct 1, 2017
Jul 8, 2011

Repository files navigation

keynav

Control the mouse with the keyboard.

Please see http://www.semicomplete.com/projects/keynav

Related Projects

This project (keynav) only works on X11, but if you want to use a similar tool for Windows, check out keynavish!

Compiling

You may need some extra libraries to compile keynav. On Debian and Ubuntu you can install these packages:

sudo apt-get install libcairo2-dev libxinerama-dev libxdo-dev

Next you simply run make:

make

This will produce an executable ./keynav which may be run directly (or copied somewhere in your path). You can also install (by default directly to /usr) via make install.

On FreeBSD (and, I expect, other non-GNU platforms), you will want to use gmake.

FAQ

Q: What platforms are supported?
A: keynav should work on nearly any Unix-like that runs X11. It has been confirmed to work on extremely varied GNU/Linux systems (incuding RPM-based, Debian derivatives, musl-based systems, and Arch), and FreeBSD. If you get it to run elsewhere, please let me know so I can add it to the list. If you try to run it on another Unix-like and have trouble, please get in touch and I'll try to help. If attempting to run elsewhere, note that we currently have a dependency on GNU Make (gmake), and it hasn't been tested with many compilers yet.

Q: Does it work on Android/Windows/Wayland/iOS/...?
A: Sadly, no; keynav is totally dependent on X11, and porting it to any other graphical system would really be a clone/rewrite. Although I am aware of no exact analogues on other systems, I suggest looking into Tasker (Android), AutoHotKey (Windows), and AppleScript (macOS). If you find something that works, let me know and I'll consider adding it to this list.

Q: Can I use keynav to scroll?
A: Yes! X11 represents mouse scrolling as key presses, so you just add the relevant stanza to your keynavrc. Mouse buttons are 1=left, 2=middle, 3=right, 4=scroll-up, 5=scroll-down, 6=scroll-left, 7=scroll-right. So for example to scroll up with i and down with e:

i click 4,end
e click 5,end

or to keep scrolling without having to re-invoke keynav, remove the end command from the bindings, like this:

i click 4