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:
- Click the + button
- Select your controller from the list
- Choose the emulated controller type
3
Select Controller Type
Choose which Switch controller to emulate:
- Pro Controller
- Joy-Con Pair
- Left Joy-Con
- Right Joy-Con
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
Motion Controls
Enable and configure motion controls:Native Controller Motion
Native Controller Motion
Most modern controllers support gyro natively:Supported Controllers:
- Nintendo Switch Pro Controller
- PS4 DualShock 4
- PS5 DualSense
- Steam Controller
Joy-Con Motion Support
Joy-Con Motion Support
For Joy-Con controllers:
- Install BetterJoy or JoyConLibrary
- Connect Joy-Cons via Bluetooth
- Launch BetterJoy before starting Ryujinx
- Configure as Joy-Con Pair in input settings
Dual Joy-Con motion requires third-party drivers for proper support.
DS4/DualSense Motion
DS4/DualSense Motion
For PlayStation controllers:
- Install DS4Windows (for DS4) or DualSenseX (for DualSense)
- Configure the controller profile
- Enable motion/gyro in the profile settings
- 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:- Movement & D-Pad
- Triggers & Bumpers
Left Stick:
- W - Up
- A - Left
- S - Down
- D - Right
- F - L3 (stick press)
- Arrow Up
- Arrow Left
- Arrow Down
- Arrow Right
Custom Keyboard Mapping
1
Enable Keyboard Input
In Settings > Input, enable:
2
Add Keyboard Profile
- Click the + button in Input settings
- Select Keyboard as the backend
- 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: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
Advanced Input Settings
Input Backend Selection
Ryujinx uses SDL3 for controller input by default:- 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: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:
2
Per-Game Input
Configure different inputs for each game:
- Enable per-game input in game settings
- Configure input specifically for that game
- Global config is used as fallback
Controller Features
Rainbow LED Effect
For controllers with RGB lighting: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
- Add first controller as Player 1
- Add second controller as Player 2
- Continue for up to 8 players
3
Test in Game
Some games automatically detect multiple controllers, others require in-game configuration
Troubleshooting Input Issues
Controller not detected
Controller not detected
Solutions:
- Ensure controller is connected before starting Ryujinx
- Check if controller is recognized by your OS
- Update controller drivers
- Try USB connection instead of Bluetooth
- Restart Ryujinx after connecting controller
Motion controls not working
Motion controls not working
For Joy-Cons:
- Install and run BetterJoy before Ryujinx
- Ensure Joy-Cons are paired via Bluetooth
- Configure as Joy-Con Pair, not Pro Controller
- Install DS4Windows or DualSenseX
- Enable motion/gyro in driver settings
- Use USB connection for best results
- Should work natively
- Ensure latest controller firmware
- Try reconnecting the controller
Input lag or delayed response
Input lag or delayed response
Solutions:
- Use USB connection instead of Bluetooth
- Reduce VSync/graphics settings
- Close background applications
- Check if “Disable Input When Out of Focus” is enabled
- Update controller drivers
Analog sticks drifting
Analog sticks drifting
Solutions:
- Increase deadzone settings (if available)
- Clean the controller (compressed air)
- Calibrate controller in OS settings
- 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