diff --git a/include/SDL3/SDL_hints.h b/include/SDL3/SDL_hints.h index 142130de55..349a2e32f7 100644 --- a/include/SDL3/SDL_hints.h +++ b/include/SDL3/SDL_hints.h @@ -1244,9 +1244,11 @@ extern "C" { * * The variable can be set to the following values: * - * - "0": GameInput is not used. (default) + * - "0": GameInput is not used. * - "1": GameInput is used. * + * The default is "1" on GDK platforms, and "0" otherwise. + * * This hint should be set before SDL is initialized. * * \since This hint is available since SDL 3.0.0. diff --git a/src/joystick/gdk/SDL_gameinputjoystick.c b/src/joystick/gdk/SDL_gameinputjoystick.c index 8b53f8d60b..1a510de590 100644 --- a/src/joystick/gdk/SDL_gameinputjoystick.c +++ b/src/joystick/gdk/SDL_gameinputjoystick.c @@ -28,6 +28,13 @@ #define COBJMACROS #include +// Default value for SDL_HINT_JOYSTICK_GAMEINPUT +#if defined(SDL_PLATFORM_GDK) +#define SDL_GAMEINPUT_DEFAULT true +#else +#define SDL_GAMEINPUT_DEFAULT false +#endif + enum { SDL_GAMEPAD_BUTTON_GAMEINPUT_SHARE = 11 @@ -234,7 +241,7 @@ static bool GAMEINPUT_JoystickInit(void) { HRESULT hR; - if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_GAMEINPUT, false)) { + if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_GAMEINPUT, SDL_GAMEINPUT_DEFAULT)) { return true; } diff --git a/test/testcontroller.c b/test/testcontroller.c index b2a8ed360d..dc032ff147 100644 --- a/test/testcontroller.c +++ b/test/testcontroller.c @@ -2005,10 +2005,6 @@ int main(int argc, char *argv[]) SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1"); SDL_SetHint(SDL_HINT_JOYSTICK_LINUX_DEADZONES, "1"); -#if SDL_PLATFORM_GDK - SDL_SetHint(SDL_HINT_JOYSTICK_GAMEINPUT, "1"); -#endif - /* Enable input debug logging */ SDL_SetLogPriority(SDL_LOG_CATEGORY_INPUT, SDL_LOG_PRIORITY_DEBUG);