Repository navigation
feat: Xbox-style console interface with tabs, Steam background and sounds - #117
Merged
Merged
Conversation
…unds Reworks the console interface so it reads like a console and is driven entirely by the pad. Layout - A top bar with three tabs: Home (the play banner and a "current setup" row that opens each choice), Session (the screens, drawn as monitors lit by what will happen to each, plus the quick settings with icons) and System (every setting). LB / RB (L1 / R1 on PlayStation) switch tabs; the new page slides in from the side it came from unless Windows animations are off. - Cards get a white outline and grow a little when focused; the Modo desktop button is back in the top bar. Background - By default a collage of the covers of the installed Steam games (read from Steam's own librarycache, never bundled) under a solid-colour gradient; it can be only the gradient or a picture of the user's own. Sounds - Short blips for moving, picking and going back, synthesised in code (no audio files, nothing copied from any console) and played through winmm. They can be turned off in Settings. Controller navigation - Up/down used to do nothing when the target card was not in the same column: the spatial search found nothing and the fallback (the Next/Previous directions) always threw with a search root. It now tries the aligned card, then the nearest one in that direction, then reading order. The focus also no longer lands on the ItemsControl containers (invisible focus stops), and a tab change lays the new page out before moving the focus into it. - L1/R1 are read on XInput, Windows.Gaming.Input, Sony HID and generic HID. - The keyboard arrows go through the same navigator, before a ScrollViewer can swallow them; gamepad key events are no longer handled on top of the polling. Tests: sound synthesis, Steam cover discovery and the L1/R1 mapping. Docs: the changelog pair and a new section in docs/TESTING.md. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Contributor
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes This review covers the console interface, background and sound features, controller navigation changes, and accompanying tests.
- Console interface: reviewed the Home / Session / System tabs, page transitions, layout, settings, focus navigation, and controller input changes.
- Backgrounds and sounds: reviewed Steam cover discovery, custom image selection and persistence, and synthesized sound playback/settings.
- Tests and docs: reviewed the new pure-logic tests and manual testing checklist. The unit test suite passed locally (216 tests).
GPT Luna | 𝕏
lippdev
changed the base branch from
feat/custom-controller-shortcuts
to
main
September 30, 2026 21:44
Contributor
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes This review covers the changes since the prior Pullfrog review: upstream synchronization and configuration propagation for the console interface settings.
- Synchronized upstream fixes: updated the changelogs and manual test checklist for controller shortcut capture, invalid controller readings, and Steam shutdown behavior.
- Preserved console preferences: carried interface-sound and background settings through monitor-name resolution and the view model's config load/save paths.
GPT Luna | 𝕏
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
Reworks the console interface so it reads like a console and is driven by the pad.
librarycache(never bundled), under a solid-colour gradient; or only the gradient, or a picture of the user's own.ItemsControlcontainers; a tab change moved the focus before the page was laid out. L1/R1 are read on XInput, Windows.Gaming.Input, Sony HID and generic HID; the keyboard arrows use the same navigator.The Xbox layout is only an inspiration: no Microsoft art, icons or sounds are used.
Verification
Built locally (0 errors);
dotnet testpasses (216, 31 new: sound synthesis, Steam cover discovery, L1/R1 mapping). Checked in the running app by screenshots at 1936x1048 and 960x760 and by driving focus with the keyboard arrows (same navigator as the pad). Not exercised: a physical pad, the focus growth animation, the sounds by ear, the file picker for "my picture". Checklist:docs/TESTING.md§0b.Stacked on #116.
🤖 Generated with Claude Code