Skip to main content
Ryujinx supports a wide variety of input devices including controllers, keyboard/mouse, and motion controls. This guide covers setting up and configuring input for the best gaming experience.

Input Device Support

Ryujinx supports the following input methods:

Controllers

  • Xbox controllers
  • PlayStation controllers
  • Nintendo Switch Pro Controller
  • Joy-Con (single or pair)
  • Generic USB/Bluetooth controllers

Keyboard & Mouse

  • Full keyboard mapping
  • Mouse support for touch input
  • Customizable hotkeys

Motion Controls

  • Native controller gyro support
  • DS4/DualSense motion (via DS4Windows/DualSenseX)
  • BetterJoy for Joy-Con motion

Touch Input

  • Mouse emulation for touchscreen
  • Native touch on compatible devices

Opening Input Configuration

1

Access Settings

Navigate to File > Settings
2

Go to Input Tab

Click the Input tab in the settings window
3

Choose Configuration Type

Select between:
  • Global Configuration - Used for all games
  • Per-Game Configuration - Specific to individual games

Controller Configuration

Adding a Controller

1

Connect Your Controller

Connect your controller via USB or Bluetooth before configuring
2

Add Controller

In the Input tab:
  1. Click the + button
  2. Select your controller from the list
  3. Choose the emulated controller type
3

Select Controller Type

Choose which Switch controller to emulate:
Recommended for most games
  • Full controller with all buttons
  • Best compatibility
  • Standard layout
4

Configure Button Mappings

Click on each button field and press the corresponding button on your controller

Controller Player Index

Assign controllers to player slots:
  • Player 1 (default) - Primary controller
  • Player 2-8 - Additional controllers for local multiplayer
"PlayerIndex": "Player1"

Motion Controls

Enable and configure motion controls:
Most modern controllers support gyro natively:Supported Controllers:
  • Nintendo Switch Pro Controller
  • PS4 DualShock 4
  • PS5 DualSense
  • Steam Controller
Motion is automatically detected when using these controllers.
For Joy-Con controllers:
  1. Install BetterJoy or JoyConLibrary
  2. Connect Joy-Cons via Bluetooth
  3. Launch BetterJoy before starting Ryujinx
  4. Configure as Joy-Con Pair in input settings
Dual Joy-Con motion requires third-party drivers for proper support.
For PlayStation controllers:
  1. Install DS4Windows (for DS4) or DualSenseX (for DualSense)
  2. Configure the controller profile
  3. Enable motion/gyro in the profile settings
  4. Ryujinx will detect motion automatically

Rumble Support

Ryujinx supports controller vibration:
  • Automatically enabled for compatible controllers
  • Adjustable intensity in games that support it
  • Can be disabled per-controller if desired

Keyboard Configuration

Default Keyboard Layout

Ryujinx includes a default keyboard configuration:
Left Stick:
  • W - Up
  • A - Left
  • S - Down
  • D - Right
  • F - L3 (stick press)
D-Pad:
  • Arrow Up
  • Arrow Left
  • Arrow Down
  • Arrow Right

Custom Keyboard Mapping

1

Enable Keyboard Input

In Settings > Input, enable:
"EnableKeyboard": true
2

Add Keyboard Profile

  1. Click the + button in Input settings
  2. Select Keyboard as the backend
  3. Choose controller type to emulate (Pro Controller recommended)
3

Map Keys

Click each button field and press your desired key:
  • Click on “A Button” field
  • Press your preferred key (e.g., Space)
  • Repeat for all buttons
4

Save Configuration

Click Save to apply your keyboard layout

Mouse Support

Enable mouse input for touchscreen emulation:
"EnableMouse": true
Mouse support is useful for games with touch controls. Click and drag to simulate touch gestures.

Hotkeys

Configure global keyboard hotkeys for quick access to emulator functions:

Default Hotkeys

Graphics

  • F1 - Toggle VSync Mode
  • Unbound - Resolution Scale Up
  • Unbound - Resolution Scale Down

Audio

  • F2 - Toggle Mute
  • Unbound - Volume Up
  • Unbound - Volume Down

Emulation

  • F4 - Show/Hide UI
  • F5 - Pause/Resume
  • Unbound - Turbo Mode

Utilities

  • F8 - Take Screenshot
  • Unbound - Custom VSync Interval +/-

Customizing Hotkeys

1

Open Hotkey Settings

Navigate to Settings > Hotkeys
2

Assign Keys

Click on any hotkey field and press your desired key combination
3

Configure Turbo Mode

Turbo Mode can be:
  • Toggle - Press to enable/disable
  • Hold - Active only while key is held
"TurboModeWhileHeld": false
Avoid binding hotkeys to keys used in your controller/keyboard game controls to prevent conflicts.

Advanced Input Settings

Input Backend Selection

Ryujinx uses SDL3 for controller input by default:
"Backend": "SDL3"
Available backends:
  • SDL3 (default) - Best compatibility and features
  • WindowKeyboard - For keyboard input

Disable Input When Out of Focus

Prevent input when Ryujinx is not the active window:
"DisableInputWhenOutOfFocus": false
Enabling this setting prevents accidental inputs when using other applications.

Global vs Per-Game Input

Choose whether to use global or per-game input configuration:
1

Global Input (Default)

One input configuration used for all games:
"UseInputGlobalConfig": false
2

Per-Game Input

Configure different inputs for each game:
  1. Enable per-game input in game settings
  2. Configure input specifically for that game
  3. Global config is used as fallback

Controller Features

Rainbow LED Effect

For controllers with RGB lighting:
"RainbowSpeed": 1.0
Adjust the cycling speed of rainbow LED effects (0.0-2.0).

Deadzone Configuration

Adjust analog stick deadzones if experiencing drift:
Deadzone configuration is handled automatically by SDL3 but can be adjusted in advanced settings if needed.

Multiple Controllers

Local Multiplayer Setup

1

Connect Multiple Controllers

Connect all controllers before configuring
2

Add Each Controller

  1. Add first controller as Player 1
  2. Add second controller as Player 2
  3. Continue for up to 8 players
3

Test in Game

Some games automatically detect multiple controllers, others require in-game configuration

Troubleshooting Input Issues

Solutions:
  1. Ensure controller is connected before starting Ryujinx
  2. Check if controller is recognized by your OS
  3. Update controller drivers
  4. Try USB connection instead of Bluetooth
  5. Restart Ryujinx after connecting controller
Common causes:
  • Incorrect button mapping
  • Input backend issue
  • Controller compatibility
Solutions:
  1. Reconfigure button mappings
  2. Test controller in other applications
  3. Check if SDL3 recognizes the controller
  4. Try a different controller if available
For Joy-Cons:
  • Install and run BetterJoy before Ryujinx
  • Ensure Joy-Cons are paired via Bluetooth
  • Configure as Joy-Con Pair, not Pro Controller
For DS4/DualSense:
  • Install DS4Windows or DualSenseX
  • Enable motion/gyro in driver settings
  • Use USB connection for best results
For Pro Controller:
  • Should work natively
  • Ensure latest controller firmware
  • Try reconnecting the controller
Solutions:
  1. Use USB connection instead of Bluetooth
  2. Reduce VSync/graphics settings
  3. Close background applications
  4. Check if “Disable Input When Out of Focus” is enabled
  5. Update controller drivers
Solutions:
  1. Increase deadzone settings (if available)
  2. Clean the controller (compressed air)
  3. Calibrate controller in OS settings
  4. Test with a different controller

Next Steps

Graphics Settings

Optimize visual quality and performance

Audio Settings

Configure audio backend and volume

Configuration

Configure system and emulator settings

Troubleshooting

Diagnose and fix common issues

Build docs developers (and LLMs) love