Key events from terminal input bytes (arrows, function keys, Ctrl, UTF-8), as crossterm decodes them
$ sexc add @ajax/tui-input- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 04:12v/# 1 version
- drwxr-xr-x-Oct 27 04:12files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 04:12 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-check ^0.1.0, @ajax/tui-utf8 ^0.1.0
- dependents
- @ajax/mesh-top-app
- keywords
- tui terminal keyboard input crossterm
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/tui-input
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/tui-input 2 3Key events from terminal input bytes (arrows, function keys, Ctrl, UTF-8), as crossterm decodes them. 4 5Part of the C port of [alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh)'s `mesh-top`, a 6terminal UI built with ratatui: these packages reproduce what ratatui and its Unicode crates compute, 7so a frame drawn in C is the same, cell for cell, as the Rust one. 8 9## Ported from 10 11[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT)'s `mesh-top` uses it through ratatui; the C follows crossterm 0.29's key decoding (`event/sys/unix/parse.rs`) for the keys mesh-top uses: characters (UTF-8), Enter, Esc, Backspace, Tab, BackTab, arrows, Home/End, PageUp/PageDown, Insert/Delete, F1-F12, with Shift/Control/Alt. Mouse and focus reports are consumed and ignored. 12 13## Tests 14 15`tests/input.c`. 16 17## Licence 18 19MIT. See the repository's LICENSE.