> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/dolphin-emu/dolphin/llms.txt
> Use this file to discover all available pages before exploring further.

# Controller Configuration

> Setting up GameCube and Wii controllers in Dolphin

Dolphin supports a wide variety of input devices for both GameCube and Wii emulation. This guide covers how to configure controllers and input mapping.

## Accessing Controller Settings

<Steps>
  <Step title="Open Controllers">
    Navigate to **Controllers** in the main menu bar, or click **Options** > **Controller Settings**
  </Step>

  <Step title="Select Console">
    Choose between **GameCube Controllers** or **Wii Remotes** tabs
  </Step>
</Steps>

## GameCube Controllers

### Controller Types

For each of the 4 GameCube controller ports, you can select:

<Tabs>
  <Tab title="Standard Controller">
    Emulated GameCube controller using keyboard, mouse, or gamepad input.
  </Tab>

  <Tab title="GBA">
    Emulate a Game Boy Advance connected via link cable (requires GBA BIOS).
  </Tab>

  <Tab title="Steering Wheel">
    Emulated steering wheel for racing games.
  </Tab>

  <Tab title="DK Bongos">
    Emulated DK Bongos for Donkey Konga and Donkey Kong Jungle Beat.
  </Tab>

  <Tab title="None">
    No controller connected to this port.
  </Tab>
</Tabs>

### GameCube Adapter for Wii U

Dolphin supports the official GameCube Controller Adapter for Wii U:

<Steps>
  <Step title="Connect Adapter">
    Connect the adapter to your computer via USB
  </Step>

  <Step title="Select Adapter Mode">
    In the GameCube Controllers tab, select **GameCube Adapter for Wii U** from the dropdown
  </Step>

  <Step title="Configure Ports">
    Click **Configure** to enable/disable specific ports and set rumble settings
  </Step>
</Steps>

<Info>
  On Windows, you may need to install drivers. On Linux, you may need to set up udev rules for proper access.
</Info>

### Configuring Standard Controller

<Steps>
  <Step title="Select Standard Controller">
    Set a port to **Standard Controller**
  </Step>

  <Step title="Click Configure">
    Click the **Configure** button next to the port
  </Step>

  <Step title="Select Device">
    Choose your input device from the **Device** dropdown
  </Step>

  <Step title="Map Buttons">
    Click each button field and press the corresponding button on your controller
  </Step>
</Steps>

### Button Mapping

Map the following GameCube controller inputs:

#### Buttons

* A, B, X, Y
* Start
* Z (shoulder)
* L (left trigger)
* R (right trigger)

#### D-Pad

* Up, Down, Left, Right

#### Analog Stick

* Main Stick (X/Y axes)
* C-Stick (X/Y axes)

#### Analog Triggers

* L-Analog and R-Analog (pressure-sensitive)

<Note>
  For triggers, you can set both digital and analog inputs. The digital input activates when the trigger is fully pressed.
</Note>

### Advanced Input Settings

#### Dead Zone

Adjust the dead zone for analog sticks to prevent drift:

* Lower values: More sensitive
* Higher values: Less sensitive to small movements

#### Radius

Set the radius of analog stick movement (useful for non-circular stick inputs).

#### Input Expressions

Dolphin supports complex input expressions for advanced mapping:

```
`A` | `B`         // A or B button
`X` & `Y`         // Both X and Y pressed
!`Start`         // Inverts Start button
`Axis X` * 1.5   // Multiply axis by 1.5
```

## Wii Remotes

### Wii Remote Types

For each of the 4 Wii Remote slots plus Balance Board:

<Tabs>
  <Tab title="Emulated Wii Remote">
    Use keyboard, mouse, or controller to emulate a Wii Remote.
  </Tab>

  <Tab title="Real Wii Remote">
    Connect an actual Wii Remote via Bluetooth.
  </Tab>

  <Tab title="None">
    No Wii Remote connected.
  </Tab>
</Tabs>

### Emulated Wii Remote Configuration

<Steps>
  <Step title="Select Emulated">
    Set a slot to **Emulated Wii Remote**
  </Step>

  <Step title="Click Configure">
    Click the **Configure** button
  </Step>

  <Step title="Select Extension">
    Choose an extension from the **Extension** dropdown:

    * None
    * Nunchuk
    * Classic Controller
    * Guitar
    * Drums
    * Turntable
    * uDraw Tablet
    * Drawsome Tablet
    * Tattoo Assist
  </Step>

  <Step title="Map Inputs">
    Map buttons, motion controls, and extension inputs
  </Step>
</Steps>

### Wii Remote Inputs

#### Buttons

* A, B, 1, 2
* Plus (+) and Minus (-)
* Home

#### D-Pad

* Up, Down, Left, Right

#### Motion Controls

* Shake (X, Y, Z)
* Tilt (Forward, Backward, Left, Right)
* Swing (Up, Down, Left, Right, Forward, Backward)
* Point (IR Pointer X/Y)

<Note>
  For pointer controls, you can use a mouse, touchscreen, or analog stick to emulate the IR sensor.
</Note>

### Nunchuk Extension

When Nunchuk is selected as an extension:

* **Buttons**: C and Z
* **Analog Stick**: Control stick with X/Y axes
* **Motion**: Shake and tilt controls

### Classic Controller Extension

The Classic Controller adds:

* **Buttons**: A, B, X, Y, L, R, ZL, ZR, Plus, Minus, Home
* **D-Pad**: Up, Down, Left, Right
* **Analog Sticks**: Left Stick and Right Stick (X/Y axes)
* **Analog Triggers**: L and R (pressure-sensitive)

### Motion Control Configuration

<Tabs>
  <Tab title="Mouse">
    Use mouse movement for pointer and tilt controls. Suitable for most games.
  </Tab>

  <Tab title="Gamepad">
    Use right analog stick or gyro sensor (if available) for motion controls.
  </Tab>

  <Tab title="Keyboard">
    Bind specific keys to motion directions (less precise but functional).
  </Tab>
</Tabs>

### Real Wii Remote Connection

To use a real Wii Remote via Bluetooth:

<Steps>
  <Step title="Enable Bluetooth">
    Ensure Bluetooth is enabled on your computer
  </Step>

  <Step title="Select Real Wii Remote">
    Set a slot to **Real Wii Remote**
  </Step>

  <Step title="Press Sync">
    Click **Refresh** in Dolphin, then press the sync button (red button under battery cover) on your Wii Remote
  </Step>

  <Step title="Pair">
    The Wii Remote should appear and connect automatically
  </Step>
</Steps>

<Warning>
  Real Wii Remote support requires Bluetooth passthrough mode or compatible Bluetooth adapter. Windows users may need special drivers.
</Warning>

### Continuous Scanning

Enable **Continuous Scanning** in Wii settings to keep searching for Wii Remotes during gameplay. This allows Wii Remotes to reconnect if they disconnect.

## Hotkeys

Dolphin supports customizable hotkeys for common emulator functions:

### Configuring Hotkeys

<Steps>
  <Step title="Open Hotkey Settings">
    Click the **Hotkeys** tab in Controller Settings
  </Step>

  <Step title="Select Device">
    Choose your input device from the dropdown
  </Step>

  <Step title="Map Hotkeys">
    Click each hotkey field and press the desired key combination
  </Step>
</Steps>

### Available Hotkeys

#### General

* Open
* Play/Pause
* Stop
* Reset
* Toggle Fullscreen
* Take Screenshot
* Exit

#### Save States

* Save State to Slot 1-10
* Load State from Slot 1-10
* Select Previous/Next Save Slot
* Save to Selected Slot
* Load from Selected Slot
* Undo Load State
* Undo Save State

#### Graphics

* Toggle EFB Copies
* Toggle Fog
* Toggle Anisotropic Filtering
* Increase/Decrease IR
* Toggle Aspect Ratio
* Toggle Wireframe Mode

#### Frame Advance

* Frame Advance
* Increase/Decrease Emulation Speed

## Controller Profiles

Save and load controller configurations as profiles:

<Steps>
  <Step title="Configure Controller">
    Set up your controller mapping as desired
  </Step>

  <Step title="Save Profile">
    Click **Profile** > **Save** and enter a name
  </Step>

  <Step title="Load Profile">
    Select your profile from **Profile** > **Load** to quickly apply settings
  </Step>
</Steps>

Profiles are stored in:

* **Windows**: `Documents\Dolphin Emulator\Config\Profiles`
* **Linux**: `~/.dolphin-emu/Config/Profiles`
* **macOS**: `~/Library/Application Support/Dolphin/Config/Profiles`

## Background Input

Enable **Background Input** in the **Interface** settings to allow controller input when Dolphin is not the active window.

## Rumble

If your controller supports force feedback:

1. Ensure rumble is supported by your controller
2. Check **Enable Rumble** in the controller configuration
3. Adjust rumble strength if available

<Note>
  Some controllers require specific drivers or software to enable rumble support.
</Note>
