Terminal Input Escape Decoder. This library has the simple purpose of obtaining keypress (keysym + modmask) events by decoding *keyboard* input sent to a terminal.
  • C 95.4%
  • Meson 4.4%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-26 15:41:32 -04:00
include Define shell_input for future readline support 2026-08-26 15:41:32 -04:00
src Define shell_input for future readline support 2026-08-26 15:41:32 -04:00
subprojects Build libxkbcommon as subproj when not on host 2026-08-10 14:19:06 -04:00
test Implement now_monotonic on win32 kinda 2026-08-24 23:56:01 -04:00
.gitignore Build libxkbcommon as subproj when not on host 2026-08-10 14:19:06 -04:00
LICENSE Initial commit 2026-08-08 16:16:34 -04:00
meson.build Fix libtied_dep export 2026-08-26 15:18:06 -04:00
README.md Handle C0 range 2026-08-24 19:49:16 -04:00
run-clang-tidy.sh Good, consistent public symbol names 2026-08-21 14:47:36 -04:00

TIED

Terminal Input Escape Decoder. This library has the simple purpose of obtaining keypress (keysym + modmask) events by decoding keyboard input sent to a terminal.

TODO

  • DRY + generally improve test code. A lot of it is templatic.
  • Properly handle debouncing timeout
  • Store getc_fn in Decoder to simplify signatures for private (static) Decoder methods
  • Choose good, consistent names for everything public (and ideally for everything period)
  • Normalize Ctrl-key combos (handle C0 range)
  • Test everything on Windows 10

Once these are all taken care of, I'll call the API stable and mark it v1.0.0