Fix: Ship of Harkinian does not recognize controller, but Windows does
tl;dr:
- Download the latest community SDL gamecontrollersdb and replace
gamecontrollersdb.txt
at the root of your installation directory. - OR: If it is still not recognized, use the SDL2 Gamepad Tool to generate a mapping for your controller and copy/paste it into
gamecontrollersdb.txt
.
Ship of Harkinian/SoH/OOT PC Port uses SDL for reading controller inputs. It uses the gamecontrollersdb.txt
file at installation root to identify controllers by their GUID and define input mappings.
Each release of SoH comes with a recent version of the community sourced gamecontrollerdb.txt
which is managed by the SDL_GameControllerDB repo. However, new controllers may have been added to the DB since the last SoH release.
If your controller was recently released (such as the 8bitdo N64 controller), try downloading the latest gamecontrollerdb.txt
from here (right-click, save as...) and replacing the one at the root of your SoH installation.
If your controller is still not recognized, it may not be in the DB, but you can add it yourself:
- Download and run the SDL2 Gamepad Tool.
- Select your controller from the dropdown at the top. If you don't see it, make sure your controller is plugged in before you start the tool.
- Click "Create A New Mapping" button.
- Follow the UI to map each button and joystick. If your controller has more buttons than the UI controller, not all of them will be usable and you must decide which ones you will ignore. Remember that you can always re-map the inputs from within SoH settings.
- When you are done, hit the "Copy Mapping String" button.
- Open the
gamecontrollerdb.txt
file at the root of your SoH installation with any text editor and paste onto a new line at the bottom of the file.