skip to content
[readonly]

Key events from terminal input bytes (arrows, function keys, Ctrl, UTF-8), as crossterm decodes them

sh
$ 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
==> README.md <==
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.