LinuxCommandLibrary

keynav

TLDR

Start keynav

$ keynav
copy
Start with custom config
$ keynav "[loadconfig ~/.keynavrc]"
copy
Daemonize
$ keynav daemonize
copy

SYNOPSIS

keynav [commands]

DESCRIPTION

keynav allows mouse cursor control using the keyboard. It recursively divides the screen into sections, allowing quick navigation to any point using keyboard shortcuts.
The default binding activates keynav with Ctrl+semicolon, then uses h/j/k/l or arrows to cut the screen, narrowing down to the desired position.

PARAMETERS

commands

Keynav commands to execute.
daemonize
Run in background.

DEFAULT BINDINGS

$ ctrl+semicolon  Start keynav
h, Left         Cut left
j, Down         Cut down
k, Up           Cut up
l, Right        Cut right
shift+h         Move left
shift+j         Move down
shift+k         Move up
shift+l         Move right
space, Enter    Click
semicolon       Click and end
Escape          Cancel
copy

CONFIGURATION

$ # ~/.keynavrc
clear
ctrl+semicolon start
h cut-left
l cut-right
k cut-up
j cut-down
space warp,click 1,end
copy

CAVEATS

X11 only (no Wayland support). Requires practice to use efficiently. May conflict with other keybindings.

HISTORY

keynav was created by Jordan Sissel to enable mouseless computing. It follows the Unix philosophy of doing one thing well—allowing precise cursor positioning via keyboard.

SEE ALSO

xdotool(1), xbindkeys(1), warpd(1)

Copied to clipboard