From 43c44ae6fe7dbfcf6af3e5e53c29f65bbf94c9c2 Mon Sep 17 00:00:00 2001 From: salmonik Date: Fri, 31 Jul 2026 16:43:04 +0200 Subject: shell: ^C cancels the line / aborts streams, ^D = EOF → poweroff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ps2: Ctrl+C and Ctrl+D are now KeyEvents (ctrl modifier + c/d map); other Ctrl+key combos are swallowed - shell read_line: ^C clears the line and echoes '^C' (bash-style), ^D on an empty line echoes '^D' and shuts down (EOF), ^D with text on the line is ignored - cat/hexdump stream incrementally (was: build whole string then print) and check for ^C between chunks, so a running dump can be aborted - verified in QEMU: line cancel, standalone interrupt, ^C aborts an infinite 'cat /dev/zero' stream, ^D powers off --- CONTEXT.md | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CONTEXT.md') diff --git a/CONTEXT.md b/CONTEXT.md index 5b76eaa..66ab320 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -130,6 +130,9 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown: ✅ **VFS** — “everything is a file”: dirs, ramfs, char devices (`ls`/`cat`/`hexdump`/`mkdir`/`touch`/`rm`, `echo >`/`>>`; devices regenerate on read, `/dev/mem` is raw physical RAM) +✅ **^C / ^D** — Ctrl+C cancels the line or aborts a running stream + (`cat`/`hexdump` check between chunks), Ctrl+D on an empty line + powers off (EOF) ## Target audience -- cgit v1.2.3