Skip to content

Commit 7f610ef

Browse files
authored
SDL_GameControllerDB & Steam-HIDAPI support (#57)
* added Steam Hardware HIDs * added SDL_GameControllerDB support this adds optional support for SDL_GameControllerDB, allowing to even more Game Controllers to be supported. Just drag-and-drop `gamecontrollerdb.txt` file on the sonic.ex-- I mean; the game's executable file. * restored Wii HIDAPI Accidentally remove Wii HIDAPI during the copy-pasting process.
1 parent 359a9f2 commit 7f610ef

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

MarathonRecomp/hid/driver/sdl_hid.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,8 @@ void hid::Init()
354354
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED, "1");
355355
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE, "1");
356356
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_WII, "1");
357+
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_STEAM, "1");
358+
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK, "1");
357359
SDL_SetHint(SDL_HINT_XINPUT_ENABLED, "1");
358360

359361
SDL_SetHint(SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS, "0"); // Uses Button Labels. This hint is disabled for Nintendo Controllers.
@@ -362,6 +364,11 @@ void hid::Init()
362364
SDL_AddEventWatch(HID_OnSDLEvent, nullptr);
363365

364366
SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER);
367+
368+
// Load controller mappings from SDL_GameControllerDB
369+
if (int mappings = SDL_GameControllerAddMappingsFromFile("gamecontrollerdb.txt"); mappings > 0) {
370+
LOGFN("Loaded {} controller mapping(s) from SDL_GameControllerDB ({})", mappings, "gamecontrollerdb.txt");
371+
}
365372
}
366373

367374
uint32_t hid::GetState(uint32_t dwUserIndex, XAMINPUT_STATE* pState)

0 commit comments

Comments
 (0)