Updated gamepad, joystick, sensor APIs, removing device indices

Instead of indexing into an internal list of devices which requires locking, we return a list of device IDs which can then be queried individually.

Reference: https://github.com/libsdl-org/SDL/issues/6889
This commit is contained in:
Sam Lantinga
2022-12-27 18:10:06 -08:00
parent e40a96155f
commit 16092f58bb
27 changed files with 917 additions and 797 deletions

View File

@@ -160,15 +160,12 @@
#define SDL_GameControllerHasSensor SDL_GamepadHasSensor
#define SDL_GameControllerIsSensorEnabled SDL_IsGamepadSensorEnabled
#define SDL_GameControllerMapping SDL_GetGamepadMapping
#define SDL_GameControllerMappingForDeviceIndex SDL_GetGamepadMappingForDeviceIndex
#define SDL_GameControllerMappingForGUID SDL_GetGamepadMappingForGUID
#define SDL_GameControllerMappingForIndex SDL_GetGamepadMappingForIndex
#define SDL_GameControllerName SDL_GetGamepadName
#define SDL_GameControllerNameForIndex SDL_GetGamepadNameForIndex
#define SDL_GameControllerNumMappings SDL_GetNumGamepadMappings
#define SDL_GameControllerOpen SDL_OpenGamepad
#define SDL_GameControllerPath SDL_GetGamepadPath
#define SDL_GameControllerPathForIndex SDL_GetGamepadPathForIndex
#define SDL_GameControllerRumble SDL_RumbleGamepad
#define SDL_GameControllerRumbleTriggers SDL_RumbleGamepadTriggers
#define SDL_GameControllerSendEffect SDL_SendGamepadEffect
@@ -176,7 +173,6 @@
#define SDL_GameControllerSetPlayerIndex SDL_SetGamepadPlayerIndex
#define SDL_GameControllerSetSensorEnabled SDL_SetGamepadSensorEnabled
#define SDL_GameControllerType SDL_GamepadType
#define SDL_GameControllerTypeForIndex SDL_GetGamepadTypeForIndex
#define SDL_GameControllerUpdate SDL_UpdateGamepads
#define SDL_INIT_GAMECONTROLLER SDL_INIT_GAMEPAD
#define SDL_IsGameController SDL_IsGamepad
@@ -195,13 +191,6 @@
#define SDL_JoystickGetAxis SDL_GetJoystickAxis
#define SDL_JoystickGetAxisInitialState SDL_GetJoystickAxisInitialState
#define SDL_JoystickGetButton SDL_GetJoystickButton
#define SDL_JoystickGetDeviceGUID SDL_GetJoystickDeviceGUID
#define SDL_JoystickGetDeviceInstanceID SDL_GetJoystickDeviceInstanceID
#define SDL_JoystickGetDevicePlayerIndex SDL_GetJoystickDevicePlayerIndex
#define SDL_JoystickGetDeviceProduct SDL_GetJoystickDeviceProduct
#define SDL_JoystickGetDeviceProductVersion SDL_GetJoystickDeviceProductVersion
#define SDL_JoystickGetDeviceType SDL_GetJoystickDeviceType
#define SDL_JoystickGetDeviceVendor SDL_GetJoystickDeviceVendor
#define SDL_JoystickGetFirmwareVersion SDL_GetJoystickFirmwareVersion
#define SDL_JoystickGetGUID SDL_GetJoystickGUID
#define SDL_JoystickGetGUIDFromString SDL_GetJoystickGUIDFromString
@@ -216,13 +205,11 @@
#define SDL_JoystickInstanceID SDL_GetJoystickInstanceID
#define SDL_JoystickIsVirtual SDL_IsJoystickVirtual
#define SDL_JoystickName SDL_GetJoystickName
#define SDL_JoystickNameForIndex SDL_GetJoystickNameForIndex
#define SDL_JoystickNumAxes SDL_GetNumJoystickAxes
#define SDL_JoystickNumButtons SDL_GetNumJoystickButtons
#define SDL_JoystickNumHats SDL_GetNumJoystickHats
#define SDL_JoystickOpen SDL_OpenJoystick
#define SDL_JoystickPath SDL_GetJoystickPath
#define SDL_JoystickPathForIndex SDL_GetJoystickPathForIndex
#define SDL_JoystickRumble SDL_RumbleJoystick
#define SDL_JoystickRumbleTriggers SDL_RumbleJoystickTriggers
#define SDL_JoystickSendEffect SDL_SendJoystickEffect
@@ -557,7 +544,6 @@
#define SDL_JoystickSetVirtualButton SDL_JoystickSetVirtualButton_renamed_SDL_SetJoystickVirtualButton
#define SDL_JoystickSetVirtualHat SDL_JoystickSetVirtualHat_renamed_SDL_SetJoystickVirtualHat
#define SDL_JoystickUpdate SDL_JoystickUpdate_renamed_SDL_UpdateJoysticks
#define SDL_NumJoysticks SDL_NumJoysticks_renamed_SDL_GetNumJoysticks
/* ##SDL_keycode.h */
#define KMOD_ALT KMOD_ALT_renamed_SDL_KMOD_ALT
@@ -653,14 +639,9 @@
#define RW_SEEK_SET RW_SEEK_SET_renamed_SDL_RW_SEEK_SET
/* ##SDL_sensor.h */
#define SDL_NumSensors SDL_NumSensors_renamed_SDL_GetNumSensors
#define SDL_SensorClose SDL_SensorClose_renamed_SDL_CloseSensor
#define SDL_SensorFromInstanceID SDL_SensorFromInstanceID_renamed_SDL_GetSensorFromInstanceID
#define SDL_SensorGetData SDL_SensorGetData_renamed_SDL_GetSensorData
#define SDL_SensorGetDeviceInstanceID SDL_SensorGetDeviceInstanceID_renamed_SDL_GetSensorDeviceInstanceID
#define SDL_SensorGetDeviceName SDL_SensorGetDeviceName_renamed_SDL_GetSensorDeviceName
#define SDL_SensorGetDeviceNonPortableType SDL_SensorGetDeviceNonPortableType_renamed_SDL_GetSensorDeviceNonPortableType
#define SDL_SensorGetDeviceType SDL_SensorGetDeviceType_renamed_SDL_GetSensorDeviceType
#define SDL_SensorGetInstanceID SDL_SensorGetInstanceID_renamed_SDL_GetSensorInstanceID
#define SDL_SensorGetName SDL_SensorGetName_renamed_SDL_GetSensorName
#define SDL_SensorGetNonPortableType SDL_SensorGetNonPortableType_renamed_SDL_GetSensorNonPortableType