- ✨ Add support for configurable key mapping (fixes #7) via the
--kbd
option, which takes a user-provided mapping or one of the built-in presets. Usage excerpt from the built-in help:
-k=, --kbd= Keyboard controls. Takes a name of a built-in preset or a string with
the custom keybindings. CtrlC always exits, so "Exit" can be omitted.
Built-in presets and their expanded form:
vim = L:h;R:l;Dn:enter,j;Rot:tab,k;Drop:space,d;Hold:f;Ps:escape,p;Exit:q
emacs = L:b;R:f;Dn:enter,n;Rot:tab,r;Drop:space,d;Hold:x;Ps:escape,p;Exit:q
wasd = L:a;R:d;Dn:s;Rot:tab,w;Drop:space,e;Hold:q;Ps:`,p;Exit:escape
casual = L:left;R:right;Dn:down;Rot:up;Drop:space;Hold:tab;Ps:escape;Exit:x
Valid keys for user presets: printable characters, escape, enter, tab, space,
arrow keys, pgup, pgdown, home, end, insert, delete, backspace.
PS: You'll probably need to quote your mapping, depending on your shell syntax.
- 📦 Add dependency on https://github.com/johnnovak/illwill
- 🔧 Minor restructuring to handle user input with illwill