From c8d9bdfae923ec4e0431513e9754d0c4af9f46ef Mon Sep 17 00:00:00 2001 From: Jared Miller Date: Tue, 10 Feb 2026 18:26:41 -0500 Subject: [PATCH] Map empty Enter to ZSCII 13 in read_char MudInputStream.read_char() returned 0 for empty input, which no game recognizes as a valid keypress. Now returns 13 (Enter/Return) so "press any key" prompts like Curses' intro work from a MUD client. --- src/mudlib/zmachine/mud_ui.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mudlib/zmachine/mud_ui.py b/src/mudlib/zmachine/mud_ui.py index cfa4ae5..32e1e9d 100644 --- a/src/mudlib/zmachine/mud_ui.py +++ b/src/mudlib/zmachine/mud_ui.py @@ -107,7 +107,9 @@ class MudInputStream(zstream.ZInputStream): text = self._input_queue.get() if text: return ord(text[0]) - return 0 + # Player hit Enter with no text — return 13 (ZSCII Enter/Return) + # so "press any key" prompts work in a line-oriented MUD client. + return 13 def feed(self, text: str): self._input_queue.put(text)