Detect KP_ digit keys for rod presets when NumLock is on

This commit is contained in:
Codex Agent
2025-11-25 18:03:42 +01:00
parent 28af1ec365
commit 0e2ff1a324

View File

@@ -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)