Tetronimia is back with the new release **v0.3.0** : 
<https://github.com/indiscipline/tetronimia/releases/tag/v0.3.0>

  * ✨ Add support for configurable key mapping (fixes 
[#7](https://github.com/indiscipline/tetronimia/issues/7)) via the `--kbd` 
option, which takes a user-provided mapping or one of the built-in presets. 
**Vim** keybindings are still default, but I tried to please everyone: 
**Emacs** by @kaushalmodi and a couple of (hopefully) more generic ones 
included.



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.
    
    
    Run

PS: You'll probably need to quote your mapping, depending on your shell syntax.

  * 📦 Add dependency on 
[johnnovak/illwill](https://github.com/johnnovak/illwill)
  * 🔧 Minor restructuring to handle user input with illwill



That was fun. The module for dealing with the keyboard mappings is about 1/3 
loc of the main file, but it would be a few times bigger if I were to 
write/vendor-in handling of keys (including key sequences) for both posix and 
Windows. Thankfully, we're just up one dependence. My plans of doing without 
illwill failed :)

Reply via email to