diff options
| author | eunhhu <[email protected]> | 2026-09-29 18:12:28 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-29 18:12:28 +0100 |
| commit | 461714a01549841746b721d38441df21f74a4077 (patch) | |
| tree | 1260c5ddc04d841474667e7c0d46da236946647e /text/test-layout.c | |
| parent | c919b5f81ad6cad55935fa7a22bfda9539dd584f (diff) | |
| download | vega-461714a01549841746b721d38441df21f74a4077.tar.gz vega-461714a01549841746b721d38441df21f74a4077.zip | |
Keep a key cut across the terminal's reads until it comes whole
handle_input found escape sequences only whole within one read, so an
arrow whose ESC [ came in one read and its A in the next was Escape, [
and A (Pure's review 004, F5); a UTF-8 character cut the same way went
in pieces. A read's bytes are not the terminal's keys: now an escape
sequence, a mouse report or a character cut short waits for the next
read. An escape alone that nothing follows within 100 ms (vim's
ttimeoutlen) is the Escape key; the rest of a key already begun waits up
to a second.
check.py's interactive runs a third session with every key coming a
byte at a time, 50 ms apart, and the arrow's A 150 ms after its ESC [:
the focus moves, as when keys come whole; Vega before this marks the
wrong task done.
Diffstat (limited to 'text/test-layout.c')
0 files changed, 0 insertions, 0 deletions
