Keyboard navigation parity: intermediate UI screens require mouse (match-found Enter, post-game Rematch/Back to Yard) #35

Closed
opened 2026-06-21 14:08:05 +02:00 by bosun · 0 comments
Owner

Symptom (operator playtest, 2026-06-21)

Gameplay accepts keyboard input fine, but several intermediate UI screens require a mouse click — keyboard does not work:

Operator: "When a match is found, for example, the game suggests to hit Enter to get ready for a match. But I have to click on the button - a key press seems not to work. After the game, there is a win/loose script with the options Rematch and Back to Yard. Those two seem also to work only with the use of a mouse."

Known screens with the gap:

  • Match-found / get-ready prompt — UI explicitly says "Hit Enter", but only the click on the button works.
  • Post-game (win/lose) screenRematch and Back to Yard buttons only respond to mouse.

Likely other screens too. Related to #32 (spectator no-exit) — both are state-machine/UI keyboard-coverage gaps.

Likely root cause

Buttons are click-handler-bound but no corresponding key-handler (Enter/Escape/etc.) is registered for the active screen. The canvas key-handler (used for gameplay) is unscoped to these screens, or they have no key-binding at all.

Fix direction

Audit each non-gameplay screen for keyboard parity:

  • Match-found screenEnter triggers ready (matches the UI prompt that already says "Hit Enter")
  • Post-game win/lose screenEnter = Rematch, Escape = Back to Yard
  • Spectator screenEscape = exit (already filed as #32)
  • Title screen → already works (S = solo, etc.) — confirm parity for VERSUS too if mouse-only
  • Pause screen (if any) → keyboard parity

The goal is mouse-optional play across the whole flow.

Acceptance criteria

  1. Match-found prompt: Enter advances to ready
  2. Post-game screen: Enter triggers Rematch, Escape triggers Back to Yard
  3. UI prompt text matches keys that actually work (no "Hit Enter" prompts that require click)
  4. Inventory of any other affected screens — fixed in the same PR or filed as follow-ups
  5. Mouse-click behavior unchanged on all of the above

Lane

Pilot — UI / state-machine / input-handling. Composes naturally with #32 (spectator no-exit) — same keyboard-coverage discipline. PR could bundle both or split — Pilot's call.

Effort

Size/S — per-screen key handlers + a quick audit for any unflagged screens.

## Symptom (operator playtest, 2026-06-21) Gameplay accepts keyboard input fine, but several intermediate UI screens require a mouse click — keyboard does not work: Operator: *"When a match is found, for example, the game suggests to hit Enter to get ready for a match. But I have to click on the button - a key press seems not to work. After the game, there is a win/loose script with the options `Rematch` and `Back to Yard`. Those two seem also to work only with the use of a mouse."* Known screens with the gap: - **Match-found / get-ready prompt** — UI explicitly says "Hit Enter", but only the click on the button works. - **Post-game (win/lose) screen** — `Rematch` and `Back to Yard` buttons only respond to mouse. Likely other screens too. Related to [#32](https://git.frankenbit.de/frankenbit/cellblock/issues/32) (spectator no-exit) — both are state-machine/UI keyboard-coverage gaps. ## Likely root cause Buttons are click-handler-bound but no corresponding key-handler (Enter/Escape/etc.) is registered for the active screen. The canvas key-handler (used for gameplay) is unscoped to these screens, or they have no key-binding at all. ## Fix direction Audit each non-gameplay screen for keyboard parity: - **Match-found screen** → `Enter` triggers ready (matches the UI prompt that already says "Hit Enter") - **Post-game win/lose screen** → `Enter` = Rematch, `Escape` = Back to Yard - **Spectator screen** → `Escape` = exit (already filed as [#32](https://git.frankenbit.de/frankenbit/cellblock/issues/32)) - **Title screen** → already works (S = solo, etc.) — confirm parity for VERSUS too if mouse-only - **Pause screen** (if any) → keyboard parity The goal is mouse-optional play across the whole flow. ## Acceptance criteria 1. Match-found prompt: `Enter` advances to ready 2. Post-game screen: `Enter` triggers Rematch, `Escape` triggers Back to Yard 3. UI prompt text matches keys that actually work (no "Hit Enter" prompts that require click) 4. Inventory of any other affected screens — fixed in the same PR or filed as follow-ups 5. Mouse-click behavior unchanged on all of the above ## Lane Pilot — UI / state-machine / input-handling. Composes naturally with [#32](https://git.frankenbit.de/frankenbit/cellblock/issues/32) (spectator no-exit) — same keyboard-coverage discipline. PR could bundle both or split — Pilot's call. ## Effort Size/S — per-screen key handlers + a quick audit for any unflagged screens.
bosun closed this issue 2026-06-21 14:20:11 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/cellblock#35
No description provided.