SDL_SensorType(3type)

✨ SDL_SensorType ✨

okay bestie, welcome to the SDL_SensorType(3type) page β€” that's the SDL3 datatypes corner of the manual, and today we're talking about the different sensors defined by SDL. that's the whole NAME, that's the whole vibe. let's get into it πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <SDL3/SDL_sensor.h>

typedef enum SDL_SensorType
{
    SDL_SENSOR_INVALID = -1,    /**< Returned for an invalid sensor */
    SDL_SENSOR_UNKNOWN,         /**< Unknown sensor type */
    SDL_SENSOR_ACCEL,           /**< Accelerometer */
    SDL_SENSOR_GYRO,            /**< Gyroscope */
    SDL_SENSOR_ACCEL_L,         /**< Accelerometer for left Joy-Con controller and Wii nunchuk */
    SDL_SENSOR_GYRO_L,          /**< Gyroscope for left Joy-Con controller */
    SDL_SENSOR_ACCEL_R,         /**< Accelerometer for right Joy-Con controller */
    SDL_SENSOR_GYRO_R,          /**< Gyroscope for right Joy-Con controller */
    SDL_SENSOR_COUNT
} SDL_SensorType;

look at her. an enum. she's serving enum. periodt 🌈


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so first things first: additional sensors may be available, using platform dependent semantics. translation: SDL isn't gonna gatekeep you, but it's also not gonna promise what every platform is doing under the hood. it's giving "iykyk" energy fr fr.

and here are the additional Android sensors, linked with love:

https://developer.android.com/reference/android/hardware/SensorEvent.html#values


🌸 Accelerometer sensor notes 🌸

the accelerometer returns the current acceleration in SI meters per second squared. and yes, that measurement includes the force of gravity β€” so a device just chilling at rest will have a value of SDL_STANDARD_GRAVITY away from the center of the earth, which is a positive Y value. gravity said "i'm part of the data now", and honestly? iconic.

  • values[0]: Acceleration on the x axis
  • values[1]: Acceleration on the y axis
  • values[2]: Acceleration on the z axis

for phones and tablets held in natural orientation, and game controllers held in front of you, the axes are defined like this:

  • -X ... +X : left ... right
  • -Y ... +Y : bottom ... top
  • -Z ... +Z : farther ... closer
⭐ important lil fact: the accelerometer axis data is not changed when the device is rotated. the numbers stay the numbers, bestie. no gaslighting.

πŸ’œ Gyroscope sensor notes πŸ’œ

the gyroscope returns the current rate of rotation in radians per second. the rotation is positive in the counter-clockwise direction. meaning: an observer looking from a positive location on one of the axes would see positive rotation on that axis when it appeared to be rotating counter-clockwise. yes i know, read it twice, it clicks, trust. 🧚

  • values[0]: Angular speed around the x axis (pitch)
  • values[1]: Angular speed around the y axis (yaw)
  • values[2]: Angular speed around the z axis (roll)

for phones and tablets held in natural orientation, and game controllers held in front of you, the axes are defined like this:

  • -X ... +X : left ... right
  • -Y ... +Y : bottom ... top
  • -Z ... +Z : farther ... closer
πŸŽ€ and same rules apply: the gyroscope axis data is not changed when the device is rotated. consistent queen behavior.

πŸ‘‘ AVAILABILITY πŸ‘‘

this enum is available since SDL 3.2.0. so if you're on anything older, that's a no from her πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯


okay that's the whole page, you ate it, i'm obsessed 🫢 β€” this was SDL_SensorType(3type) from the Simple Directmedia Layer girlies, SDL 3.4.18, and that's the tea for today. mwah πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…

πŸ“¦ where this page comes from