feat(engine): hold-/ hotkey cheat sheet + unified binding table (Phase J) #183
Reference in New Issue
Block a user
Delete Branch "feat/keyboard-completeness"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase J from docs/ui-redesign-2026-07.md — keyboard & focus completeness.
Audit results (the good news)
Two of the doc's three deliverables turned out to already exist, written after the doc:
What was actually missing (this PR)
crate::hotkeysmodule owns the single 21-row table, verified against a grep inventory of everyjust_pressed(KeyCode::…)handler and pinned by integrity tests. Rows carry anessentialflag: onboarding teaches the subset, the cheat sheet shows all./cheat sheet. A lightweight right-anchored overlay (deliberately not a modal — it's a momentary reference) listing every binding while/is held; hides on release, never spawns over a modal (which also keeps it out of the seed-entry field), inert on touch builds.Tests
5 new (table integrity/uniqueness/subset size, show-hide driver, modal suppression). Full workspace + clippy green, exit-code-verified.
Follow-up noted for the future: a true bindings registry generated from the input systems (the table is hand-maintained but test-pinned — honest 90% at 1% of the cost). Help's touch-specific list intentionally stays separate.
🤖 Generated with Claude Code