Why Different Profiles?
HayBox uses different DInput mappings than the official B0XX firmware. These mappings:- Work consistently across multiple games
- Provide better compatibility with various emulators
- Separate XInput and DInput configurations properly
- Support both Arduino and Pico controllers with different backends
Available Profiles
Thedolphin/ folder in the HayBox repository contains several profile files:
- Windows
- Linux
- macOS
Installation Instructions
Locate the profile file
Download or clone the HayBox repository and navigate to the
dolphin/ folder. Identify which .ini file you need based on your operating system and controller type.Find your Dolphin config directory
The location varies by operating system and Dolphin version:
- Slippi Launcher
- Vanilla Dolphin
Windows:Linux:macOS:
- Press
Cmd + Shift + Gin Finder - Enter this path (replace
<USER>with your username):
If the
Profiles/GCPad/ directory doesn’t exist, create it manually.Copy the profile file
Copy the appropriate
.ini file from the HayBox dolphin/ folder to your Dolphin profiles directory.Example (Windows with Slippi + Pico controller):- Copy
HayBox_XInput.ini - Paste to
%appdata%\Slippi Launcher\netplay\User\Config\Profiles\GCPad\
Open Dolphin controller configuration
- Launch Dolphin/Slippi
- Go to Controllers (or Options → Controller Settings)
- Set Port 1 to Standard Controller
- Click Configure for Port 1
Load the HayBox profile
- Plug in your HayBox controller
- In the controller configuration window, click Refresh next to the Device dropdown
- Click the Profile dropdown at the top
- Select your HayBox profile (e.g.,
HayBox_XInputorHayBox_DInput) - Click Load (NOT Save)
- Verify the correct device is selected in the Device dropdown
- Click Close
Profile Differences by Backend
XInput Profiles (Pico only)
Backend: XInput (default on Pico) Characteristics:- Uses XInput device mapping
- Better compatibility with Windows
- Native analog stick support
- More reliable button detection
DInput Profiles
Backend: DInput Characteristics:- Uses DirectInput device mapping
- Required for Arduino devices
- Works on Pico when forced (hold Z on plugin)
- Required for keyboard modes
Verifying Your Setup
Test in controller config
In Dolphin’s controller configuration:
- Press buttons on your HayBox
- Verify the corresponding inputs light up in Dolphin
- Test analog stick directions
Test in-game
Launch Melee or your game:
- Test movement (analog stick)
- Test all buttons (A, B, Z, L, R, Start)
- Test c-stick directions
Multiple Controllers
To set up multiple HayBox controllers:Repeat for additional ports
- Set Port 2/3/4 to Standard Controller
- Click Configure for that port
- Load the same HayBox profile
- Select a different device from the dropdown
Troubleshooting
Profile not appearing in dropdown
Profile not appearing in dropdown
Solution:
- Verify the .ini file is in the correct directory
- Check that the directory path is correct for your OS and Dolphin version
- Restart Dolphin after copying the file
- Make sure you created the
Profiles/GCPad/folders if they didn’t exist
Controller not detected
Controller not detected
For Pico (XInput):
- Make sure you’re NOT holding Z on plugin (forces DInput)
- Verify XInput profile is loaded, not DInput
- Try unplugging and replugging
- Verify USB connection is working
- Try a different USB port
- Check Device Manager (Windows) to verify it appears
- Hold Z on plugin to force DInput mode
- Use the macOS DInput profile
- Note: macOS support is limited and unreliable
Wrong buttons mapping
Wrong buttons mapping
Analog sticks not working properly
Analog sticks not working properly
Check your backend:
- Pico: Should be using XInput by default
- If you held Z on plugin, you forced DInput mode
- Unplug and replug without holding Z
- Arduino: Uses DInput automatically
- Verify DInput profile is loaded
- In Dolphin controller config, check analog stick calibration
- Default settings usually work fine
Slippi says 'adapter not detected'
Slippi says 'adapter not detected'
This usually means:
- Native GCC adapter support is enabled (disable it)
- Wrong controller profile loaded
- Need to restart Dolphin after plugging in controller
- Go to Options → Controller Settings
- Uncheck Enable Native GCC Adapter Support
- Restart Slippi
- Reconfigure Port 1 with HayBox profile
Works in Dolphin config but not in-game
Works in Dolphin config but not in-game
Common causes:
- Wrong device selected in dropdown
- Background input disabled
- Profile wasn’t saved after loading
- Go back to controller config
- Verify correct device is selected
- Verify correct profile is loaded
- Click Configure → Load profile again if needed
Advanced Configuration
Custom Button Mappings
If you need to customize button mappings:- Load the HayBox profile first
- Modify individual button mappings as needed
- Save under a new profile name (don’t overwrite HayBox profile)
- Use your custom profile going forward
Multiple Game Profiles
You can create game-specific profiles:- Load the base HayBox profile
- Make game-specific adjustments
- Save as
HayBox_Melee.ini,HayBox_PM.ini, etc. - Switch profiles when switching games
Netplay Considerations
For netplay, all players should use controllers with similar response times to ensure fair gameplay.
- HayBox on Pico has very low latency
- HayBox on Arduino has slightly higher latency but still excellent
- Mixing HayBox with other controllers is generally fine
- Communicate with your opponents about setup
