mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 02:25:17 +00:00
d15f126143
- Line-wrapping is enabled with 'ESC[?7h' (the '?' was forgotten). Notice that the following reference also shows it wrong: https://www.cse.psu.edu/~kxc104/class/cse472/09s/hw/hw7/vt100ansi.htm - Terminal type is actually queried with 'ESC Z' (VT52-compatible), or with 'ESC[c' (VT100-compatible). The antediluvian CTRL-E ('\x05') control code gives instead a user-configurable (usually empty) string, so it's not reliable. Also, we don't really care about the returned result, we just need to know that one has been sent. Cross-checked with online documentation: * "Digital VT100 User Guide" (EK-VT100-UG-001) (1st edition, August 1978, reviewed November 1978). * https://www.real-world-systems.com/docs/ANSIcode.html * https://geoffg.net/Downloads/Terminal/TerminalEscapeCodes.pdf * https://invisible-island.net/xterm/ctlseqs/ctlseqs.html * https://en.wikipedia.org/wiki/Enquiry_character - Retrieve the size of the *controlling terminal* with escape sequences only when it's a serial one: serial output is enabled *and* KDSERIAL is set (i.e. user input through serial). See code for the actual logic (the corresponding truth table is left as an exercise for the reader). - Fix also a "Buffer" vs. "InBuffer" mismatch, that caused the whole code to fail. - For fallback terminal size values, use meaningful ones when SCREEN is instead the controlling "terminal" (based on full-size BOOTVID values). - When echoing read characters during line-cooking, do direct output by using KdpDprintf() instead of going through the heavy KdbpPrint() function. This fixes some input artifacts like: 1. extra slowdowns due to querying terminal size at each keypress, and 2. getting obnoxious "--- Press q to abort ..." prompts in the middle of typing a long comamnd because you are at the very bottom of the screen. |
||
---|---|---|
.. | ||
amd64 | ||
i386 | ||
kdb.c | ||
kdb.h | ||
kdb_cli.c | ||
kdb_expr.c | ||
kdb_keyboard.c | ||
kdb_serial.c | ||
kdb_symbols.c |