Compare commits

...

8 commits

Author SHA1 Message Date
Al. Lopez
2fad39e730
Merge 12fe00ce73 into 9ace79a4d2 2025-08-03 14:58:31 -04:00
AL2009man
12fe00ce73 changed LOGN mesaage, it now includes the db.txt file on the logfn 2025-08-01 15:24:34 -04:00
AL2009man
135137d0a4 Changed LOGFN name to indicate SDL_GameControllerDB file is in use 2025-08-01 15:15:48 -04:00
Al. Lopez
4ff4778540
Merge branch 'hedge-dev:main' into HIDAPI-Hints 2025-08-01 15:04:37 -04:00
AL2009man
d4f311da36 simplified SDL_GameControllerAddMappingsFromFile code 2025-08-01 14:39:35 -04:00
AL2009man
ec13b6f0f6 added SDL_GameControllerDB support
added `SDL_GameControllerAddMappingsFromFile` to allow support for SDL_GameControllerDB as a option, for those who prefer Community-driven Gamepad database (tends to be far more up-to-date than main SDL)
2025-06-18 23:00:30 -04:00
AL2009man
2afc09295d remove Nintendo Switch Online Classics hid 2025-04-29 00:10:53 -04:00
AL2009man
e0b2c82b6b Added addition HIDAPI Joystick driver support
added HIDAPI Joystick driver for major Controller Types:

* Nintendo Switch controllers (`SDL_HINT_JOYSTICK_HIDAPI_SWITCH`, `SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC`, `SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS`, `SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS`)
* Steam Controller (`SDL_HINT_JOYSTICK_HIDAPI_STEAM`)
* Steam Deck built-in (`SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK`)
2025-04-28 23:54:57 -04:00

View file

@ -324,13 +324,18 @@ void hid::Init()
{
SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_WII, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_SWITCH, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS3, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS4, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_WII, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_STEAM, "1");
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK, "1");
SDL_SetHint(SDL_HINT_XINPUT_ENABLED, "1");
SDL_SetHint(SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS, "0"); // Uses Button Labels. This hint is disabled for Nintendo Controllers.
@ -339,6 +344,11 @@ void hid::Init()
SDL_AddEventWatch(HID_OnSDLEvent, nullptr);
SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER);
// Load controller mappings from SDL_GameControllerDB
if (int mappings = SDL_GameControllerAddMappingsFromFile("gamecontrollerdb.txt"); mappings > 0) {
LOGFN("Loaded {} controller mapping(s) from SDL_GameControllerDB ({})", mappings, "gamecontrollerdb.txt");
}
}
uint32_t hid::GetState(uint32_t dwUserIndex, XAMINPUT_STATE* pState)