Environment Variable Edit Screen - cressie176/Load64 GitHub Wiki

Primary Purpose

Add or edit an environment variable for a controller family, controller device, profile, or launch configuration.

Main Screen Design

When adding a new variable:

┌──────────────────────────────────────────────────────────────────────────────┐
│ TOP BAR                                                                      │
│  <Owner> > Environment Variables > Add                                       │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  FORM                                                                        │
│  ┌────────────────────────────────────────────────────────────────────────┐  │
│  │                   ┌─────────────────────────────────────────────────┐  │  │
│  │  Name             │ _                                               │  │  │
│  │                   └─────────────────────────────────────────────────┘  │  │
│  │                                                                        │  │
│  │                   ┌─────────────────────────────────────────────────┐  │  │
│  │  Value            │ _                                               │  │  │
│  │                   └─────────────────────────────────────────────────┘  │  │
│  │                                                                        │  │
│  │  [Save]   [Cancel]                                                     │  │
│  └────────────────────────────────────────────────────────────────────────┘  │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
└──────────────────────────────────────────────────────────────────────────────┘

When editing an existing variable:

┌──────────────────────────────────────────────────────────────────────────────┐
│ TOP BAR                                                                      │
│  <Owner> > Environment Variables > <Variable Name>                           │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  FORM                                                                        │
│  ┌────────────────────────────────────────────────────────────────────────┐  │
│  │                   ┌─────────────────────────────────────────────────┐  │  │
│  │  Name             │ SDL_JOYSTICK_MFI_                               │  │  │
│  │                   └─────────────────────────────────────────────────┘  │  │
│  │                                                                        │  │
│  │                   ┌─────────────────────────────────────────────────┐  │  │
│  │  Value            │ 0_                                              │  │  │
│  │                   └─────────────────────────────────────────────────┘  │  │
│  │                                                                        │  │
│  │  [Save]   [Cancel]                                                     │  │
│  └────────────────────────────────────────────────────────────────────────┘  │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
└──────────────────────────────────────────────────────────────────────────────┘

TOP BAR

Focusable: No
Interactive: No
Purpose: Identify the owner and the variable being edited

<Owner> is the full breadcrumb path to the owner. i.e.

Owner Owner Template Add Example Edit Example
Controller Families Controller Families > Controller Families > Logitech > Environment Variables > Add Controller Families > Logitech > Environment Variables > SDL_JOYSTICK_MFI
Controllers Controllers > Controllers > Logitech Dual Action > Environment Variables > Add Controllers > Logitech Dual Action > Environment Variables > SDL_JOYSTICK_MFI
Launch Configuration The Last Ninja > Environment Variables > Add The Last Ninja > Environment Variables > SDL_JOYSTICK_MFI

FORM

Type: Form
Focusable: Yes (primary focus region)
Interactive: Yes
Purpose: Enter or edit the variable name and value

Fields are pre-populated when editing an existing variable, or empty when adding a new one.

[Save] / [Cancel]

BOTTOM BAR

Focusable: No
Interactive: No
Purpose: Display validation errors

After a validation error:

├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
│  <Error message>                                                             │
└──────────────────────────────────────────────────────────────────────────────┘

Behaviour

  • When adding: fields are empty on entry.
  • When editing: fields are pre-populated with the current values.
  • If validation fails, the error is shown in the bottom bar and the form remains open.

Validation Rules

Name Type Required Notes
Name String Yes Must not be empty and must be unique within the owner
Value String No May be empty
⚠️ **GitHub.com Fallback** ⚠️