fix(input): honor auxiliary-window key gate

Both original key handlers return without processing gameplay keys while any of
the four child-window slots is occupied. Rust continued to toggle sound through
Help, HighScore, and name-entry UI and used F1 to close Help, behavior the main
Win16 window cannot perform through an active child.

Limit recovered F1 and F12 handling to the attract and playing screens. The
portable Enter/Escape Help return remains available as an explicit modern
control without bypassing the original main-window gate.

Test Plan:
- `cargo test --workspace --all-targets --all-features` -- 125 passed
- `cargo clippy --workspace --all-targets --all-features -- -D warnings` -- passed
- `rumdl check --flavor commonmark RECONSTRUCTION.md CHANGELOG.md` -- passed
- `git diff --cached --check` -- passed
This commit is contained in:
2026-08-23 20:39:08 +02:00
parent 1dff82aef6
commit 0c4c18dbea
3 changed files with 9 additions and 9 deletions
+3
View File
@@ -180,6 +180,9 @@ and this project adheres to
main-keyboard plus/right-bracket position starts or adds players.
- Dispatch add-player, nudge, and F12 sound-toggle actions on key release through
the original `1000:638e` timing rather than on their initial key press.
- Enforce the original auxiliary-window input gate: F1 and F12 are ignored while
Help, HighScore, or name-entry UI is open instead of controlling the main
game through a child window.
- Route a single-ball type-3 completion during Tilt through `1000:ae6e` instead
of granting a free launcher reset: lock holes consume the ball, while record
148 can still take its required-state special-respawn branch.