Detect KP_ digit keys for rod presets when NumLock is on
This commit is contained in:
@@ -179,6 +179,11 @@ class ReactorDashboard:
|
|||||||
ch = stdscr.getch()
|
ch = stdscr.getch()
|
||||||
if ch == -1:
|
if ch == -1:
|
||||||
break
|
break
|
||||||
|
keyname = None
|
||||||
|
try:
|
||||||
|
keyname = curses.keyname(ch)
|
||||||
|
except curses.error:
|
||||||
|
keyname = None
|
||||||
if ch in (ord("q"), ord("Q")):
|
if ch in (ord("q"), ord("Q")):
|
||||||
self.quit_requested = True
|
self.quit_requested = True
|
||||||
return
|
return
|
||||||
@@ -208,6 +213,9 @@ class ReactorDashboard:
|
|||||||
self._queue_command(ReactorCommand(generator_auto=not self.reactor.generator_auto))
|
self._queue_command(ReactorCommand(generator_auto=not self.reactor.generator_auto))
|
||||||
elif ch in (ord("t"), ord("T")):
|
elif ch in (ord("t"), ord("T")):
|
||||||
self._queue_command(ReactorCommand(turbine_on=not self.reactor.turbine_active))
|
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"):
|
elif ord("1") <= ch <= ord("9"):
|
||||||
idx = ch - ord("1")
|
idx = ch - ord("1")
|
||||||
self._toggle_turbine_unit(idx)
|
self._toggle_turbine_unit(idx)
|
||||||
|
|||||||
Reference in New Issue
Block a user