Skip to content

Settings

mewzers edited this page Mar 27, 2026 · 1 revision

7. Settings

Oxide uses a detached Settings viewport with a deferred-apply model.

Tabs

Current tabs:

  • Emulator
  • Video
  • Audio
  • Controls
  • Shortcuts
  • Debug

Footer actions

The footer currently provides:

  • OK: apply changes and close
  • Apply: apply changes without closing
  • Defaults: reset the current tab to default values
  • Cancel: restore snapshot values and close

A pending-changes indicator appears when temp values differ from live values.

Deferred-apply model

The settings system uses three layers of values:

  • live values
  • temp_* editable copies
  • snapshot_* rollback copies

This allows Oxide to:

  • stage changes safely
  • apply them only when requested
  • restore the previous state on cancel

Emulator tab

Contains items such as:

  • theme selection
  • language selection
  • CPU speed
  • full settings reset

Video tab

Contains:

  • VSync toggle
  • render scale selection

Audio tab

Contains:

  • sound enabled toggle
  • volume slider

Controls tab

Contains configurable CHIP-8 keypad mapping.

Supported sources:

  • keyboard
  • mouse buttons

Shortcuts tab

Contains configurable global shortcut bindings for the main emulator actions.

Debug tab

Contains:

  • debug terminal toggle
  • quirk preset selection
  • individual quirk toggles

Reset behavior

Oxide currently supports:

  • reset current tab defaults
  • reset all settings
  • overwrite confirmation for full reset flows where applicable

Theme synchronization is part of the settings model, so resetting all settings also restores the default theme.

Clone this wiki locally