Controllers

The goal is simple: one pad that drives everything — browsing, launching, saving, loading, quitting — across every emulator you own, regardless of which controller you have.

New here? How It Works is the full picture — how The Vault reads controllers, monitors what's connected, and drives each pad per emulator. This page is the quick tour.

Two modes

Controller mode (default)

Your pad talks to the emulator as a real controller — full analog sticks and rumble. No setup from you; The Vault configures the emulators behind the scenes at every launch.

Keyboard mode (opt-in)

Turns your buttons into keystrokes — unlocks remaps, combos, and macros, and works with every controller and emulator. See Keyboard Mode.

Under the hood, "Controller mode" is one of three delivery paths — the emulator reading the pad natively, a Bluetooth → DSU bridge, or a real HID device — while "Keyboard mode" is the keyboard-forwarding path. The four input models spell out which is used where.

Supported controllers

ControllerModeStatus
Sony DualSenseController + Keyboard✅ Now
NSO N64 / SNES / NES / GenesisController — RetroArch (Bluetooth)✅ Now
GameCube wireless padController — Dolphin✅ Now
Wii Remote (via Dolphin Bar)Controller — Dolphin (native)✅ Now
Switch Pro / Joy-Cons (Switch 1)Controller — native · basic✅ Now
Xbox / 8BitDo / MFiController — native · basic✅ Now
Switch 2 Pro / Joy-ConsKeyboard — Astris (BLE bridge)✅ Now
Dreamcast controllerController — RetroArch (Flycast)✅ Now
Wii U GamePadController — Cemu✅ Now

"Native" means macOS recognizes the pad on its own. The Switch 2 controllers use a proprietary Bluetooth macOS can't see — so The Vault reads them itself, and the only way to feed them into emulators is Keyboard mode.

What The Vault sets up for you

Controller mode isn't zero-config — a lot happens under the hood, automatically, at every launch:

  • Picks the right input driver per controller (e.g. RetroArch's mfi for most NSO pads, hid for the Genesis pad).
  • Writes a per-controller button map, including the fiddly bits — N64 C-buttons on the right stick, and A/B placed the way you'd expect (Nintendo pads are labeled opposite the standard layout, so we swap them).
  • Sets up the GameCube pad's Dolphin profile + DSU connection (and uses the rumble patch when applied).
  • Establishes the in-game hotkeys — hold the modifier and press R (Save), L (Load), Start (Quit), or ▲/▼ (slots). The modifier is a different button on each pad. See Hotkeys.

In this section

Concepts — how controllers work everywhere:

Per-controller setup & mapping:

See also: Controller Reference (the complete button-name list) and Controller Combos (trigger scripts from button chords).