From 0e2ff1a3247b77b2c622f973beef02f6a718f6a0 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Tue, 25 Nov 2025 18:03:42 +0100 Subject: [PATCH] Detect KP_ digit keys for rod presets when NumLock is on --- src/reactor_sim/dashboard.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/reactor_sim/dashboard.py b/src/reactor_sim/dashboard.py index 94b5986..d3e7af5 100644 --- a/src/reactor_sim/dashboard.py +++ b/src/reactor_sim/dashboard.py @@ -179,6 +179,11 @@ class ReactorDashboard: ch = stdscr.getch() if ch == -1: break + keyname = None + try: + keyname = curses.keyname(ch) + except curses.error: + keyname = None if ch in (ord("q"), ord("Q")): self.quit_requested = True return @@ -208,6 +213,9 @@ class ReactorDashboard: self._queue_command(ReactorCommand(generator_auto=not self.reactor.generator_auto)) elif ch in (ord("t"), ord("T")): self._queue_command(ReactorCommand(turbine_on=not self.reactor.turbine_active)) + elif keyname and keyname.startswith(b"KP_") and keyname[-1:] in b"123456789": + target = (keyname[-1] - ord("0")) / 10.0 # type: ignore[arg-type] + self._queue_command(ReactorCommand(rod_position=target, rod_manual=True)) elif ord("1") <= ch <= ord("9"): idx = ch - ord("1") self._toggle_turbine_unit(idx)