Add 8BitDo N64 Modkit support (DInput) #930
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The 8BitDo N64 Modkit is a replacement PCB and "rumble pak" that converts an OEM N64 Controller to a USB/Bluetooth controller with two modes: one that emulates an NSO N64 controller (for which there are already autoconfig files), and the other that presents as a normal DirectInput controller with a unique PID/VID. This pull request adds a
dinput
config file for the second mode of operation.I tried to the match the formatting of the other 8BitDo
dinput
configs, but since the controller physically offers the same buttons as the NSO N64 Controller (including addition of ZR and Home buttons), I used the same RetroPad mappings as the existingN64_Nintendo_Switch_Online.cfg
(with DirectInput button/axis numbers changed appropriately).I tested this on the Mupen64Plus-Next core, and it seems to work fine.
Note that I don't love the compromises these mappings (and the equivalent NSO N64 mappings) make for the controller to work with both default Mupen config and RetroArch menus. In particular, double-binding the controller's physical "B" button to enable menu navigation is a hack, and the end result still leaves menu OK/cancel flipped vs. a normal controller. But honestly, the RetroPad abstraction doesn't work very well with controllers whose face buttons aren't laid out like a SNES or DualShock pad, and I suspect the NSO controller mappings are the least bad choice to make under the circumstances.
I don't have a Linux setup running RetroArch right now, so I didn't add a corresponding
udev
config, though it should be easy for someone else to do so if they want.