Default SDL_HINT_ACCELEROMETER_AS_JOYSTICK to 0 on Linux

The Linux joystick driver supports associating sensor devices with the related controller device, so enable that by default.

Fixes https://github.com/libsdl-org/SDL/issues/12043

(cherry picked from commit 3e47181800)
This commit is contained in:
Sam Lantinga 2025-03-25 09:07:10 -07:00
parent 2708e08f40
commit b2a95b2482
1 changed files with 6 additions and 3 deletions

View File

@ -424,9 +424,12 @@ static int device_class(struct udev_device *dev)
}
val = _this->syms.udev_device_get_property_value(dev, "ID_INPUT_ACCELEROMETER");
if (SDL_GetHintBoolean(SDL_HINT_ACCELEROMETER_AS_JOYSTICK, SDL_TRUE) &&
val && SDL_strcmp(val, "1") == 0) {
if (val && SDL_strcmp(val, "1") == 0) {
if (SDL_GetHintBoolean(SDL_HINT_ACCELEROMETER_AS_JOYSTICK, SDL_FALSE)) {
devclass |= SDL_UDEV_DEVICE_JOYSTICK;
} else {
devclass |= SDL_UDEV_DEVICE_ACCELEROMETER;
}
}
val = _this->syms.udev_device_get_property_value(dev, "ID_INPUT_MOUSE");