Now Playing Swap Joystick Ports Screen - cressie176/Load64 GitHub Wiki

Primary Purpose

Display the current joystick port assignments and allow the user to swap them during an active game session.

Main Screen Design

┌──────────────────────────────────────────────────────────────────────────────┐
│ TOP BAR                                                                      │
│  Now Playing > <Game Title> > Swap Joystick Ports                    [Back]  │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  JOYSTICKS                                                                   │
│  ┌────────────────────────────────────────────────────────────────────────┐  │
│  │   Port    Joystick                                                     │  │
│  ├────────────────────────────────────────────────────────────────────────┤  │
│  │   Port 1  <DeviceName A>                                               │  │
│  │   Port 2  <DeviceName B>                                               │  │
│  └────────────────────────────────────────────────────────────────────────┘  │
│                                                                              │
│  [Swap]                                                                      │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
└──────────────────────────────────────────────────────────────────────────────┘

TOP BAR

Focusable: [Back] CTA only
Interactive: [Back] CTA only
Purpose: Identify the game and current screen, and provide navigation back to Now Playing

PORTS

Focusable: No
Interactive: No
Purpose: Display the current joystick port assignments

A read-only two-column table showing the current device assigned to each port. The table is not interactive; the user navigates to [Swap] to act.

[Swap]

Swaps the Port 1 and Port 2 assignments and updates the PORTS table in place. The screen remains open; the user must press [Back] to return to Now Playing.

[Back]

A nav link in the top bar. Returns to Now Playing with no change to port assignments (or with any swap already applied).

Navigation

This screen has two focusable regions: the [Swap] button in the content area, and the [Back] CTA in the top bar.

Focus lands on [Swap] on entry.

Escape returns to Now Playing with no change to port assignments (or with any swap already applied).

BOTTOM BAR

Focusable: No
Interactive: No
Purpose: Structural consistency with other screens.

⚠️ **GitHub.com Fallback** ⚠️