mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-25 06:18:40 +00:00
Added controller sensor support for GameInput v3
Verified working with the DualSense controller
This commit is contained in:
@@ -34,11 +34,6 @@
|
||||
#define SDL_GAMEINPUT_DEFAULT false
|
||||
#endif
|
||||
|
||||
// Enable sensor support in GameInput 2.0, once we have a device that can be used for testing
|
||||
#if GAMEINPUT_API_VERSION >= 2
|
||||
//#define GAMEINPUT_SENSOR_SUPPORT
|
||||
#endif
|
||||
|
||||
enum
|
||||
{
|
||||
SDL_GAMEPAD_BUTTON_GAMEINPUT_SHARE = 11
|
||||
@@ -651,17 +646,17 @@ static bool GAMEINPUT_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
||||
SDL_SetBooleanProperty(SDL_GetJoystickProperties(joystick), SDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN, true);
|
||||
}
|
||||
|
||||
#ifdef GAMEINPUT_SENSOR_SUPPORT
|
||||
#if GAMEINPUT_API_VERSION >= 3
|
||||
if (info->supportedInput & GameInputKindSensors) {
|
||||
// FIXME: What's the sensor update rate?
|
||||
if (info->sensorsInfo->supportedSensors & GameInputSensorsGyrometer) {
|
||||
SDL_PrivateJoystickAddSensor(joystick, SDL_SENSOR_GYRO, 250.0f);
|
||||
SDL_PrivateJoystickAddSensor(joystick, SDL_SENSOR_GYRO, 60.0f);
|
||||
}
|
||||
if (info->sensorsInfo->supportedSensors & GameInputSensorsAccelerometer) {
|
||||
SDL_PrivateJoystickAddSensor(joystick, SDL_SENSOR_ACCEL, 250.0f);
|
||||
SDL_PrivateJoystickAddSensor(joystick, SDL_SENSOR_ACCEL, 60.0f);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif // GAMEINPUT_API_VERSION >= 3
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -907,7 +902,7 @@ static void GAMEINPUT_JoystickUpdate(SDL_Joystick *joystick)
|
||||
GAMEINPUT_ControllerUpdate(joystick, reading, timestamp);
|
||||
}
|
||||
|
||||
#ifdef GAMEINPUT_SENSOR_SUPPORT
|
||||
#if GAMEINPUT_API_VERSION >= 3
|
||||
if (hwdata->report_sensors) {
|
||||
GameInputSensorsState sensor_state;
|
||||
|
||||
@@ -930,7 +925,7 @@ static void GAMEINPUT_JoystickUpdate(SDL_Joystick *joystick)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // GAMEINPUT_SENSOR_SUPPORT
|
||||
#endif // GAMEINPUT_API_VERSION >= 3
|
||||
|
||||
reading->Release();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user