hk allows temporary X11 hotkeys to be set. Its usage is:
hk [-w] <hotkey> <command> [<argument> ...]
where <hotkey> is of the form [Modifier1[+Modifier2[+...]]+]<Key>. For example:
hk Ctrl+Shift+F6 notify-send "Hello"
will execute the command notify-send "Hello" when
Ctrl+Shift+F6 is pressed. hk exits as soon as the
command has executed.
hk passes through stdin unchanged so you can pipe input to commands e.g.:
uname | hk Ctrl+F8 xargs notify-send
By default, hk executes the command as soon as the hotkey sequence
is pressed. The -w option makes hk wait until all
keys (not just the hotkeys) have been released. This can be useful if the
action of the command can be effected by key presses. For example if you use
xdotool type to enter text on a hotkey, then having the Ctrl key held down can
have surprising effects which -w can alleviate:
uname | hk -w Ctrl+F8 xdotool type --file -
Latest release: hk-0.3.3 (2026-05-14)
Add a test suite.
Ensure that the keys pressed match those requested. This is, at least, necessary under Xvfb, but may also be necessary in other situations.
Repository (issues, PRs, etc.)
Man pages for the latest release: