# SDL3 Environment Variables SDL3 can be controlled by the user, externally, with environment variables. They are all operate exactly like the [hints you can get and set programmatically](CategoryHints), but named without the `_HINT` part (so `"SDL_HINT_A"` would be environment variable `"SDL_A"`). This list matches the latest in SDL3's revision control. ## Environment Variable List - [SDL_ALLOW_ALT_TAB_WHILE_GRABBED](SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED): Specify the behavior of Alt+Tab while the keyboard is grabbed. - [SDL_ANDROID_ALLOW_RECREATE_ACTIVITY](SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY): A variable to control whether the SDL activity is allowed to be re-created. - [SDL_ANDROID_BLOCK_ON_PAUSE](SDL_HINT_ANDROID_BLOCK_ON_PAUSE): A variable to control whether the event loop will block itself when the app is paused. - [SDL_ANDROID_LOW_LATENCY_AUDIO](SDL_HINT_ANDROID_LOW_LATENCY_AUDIO): A variable to control whether low latency audio should be enabled. - [SDL_ANDROID_TRAP_BACK_BUTTON](SDL_HINT_ANDROID_TRAP_BACK_BUTTON): A variable to control whether we trap the Android back button to handle it manually. - [SDL_APPLE_TV_CONTROLLER_UI_EVENTS](SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS): A variable controlling whether controllers used with the Apple TV generate UI events. - [SDL_APPLE_TV_REMOTE_ALLOW_ROTATION](SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION): A variable controlling whether the Apple TV remote's joystick axes will automatically match the rotation of the remote. - [SDL_APP_ID](SDL_HINT_APP_ID): A variable setting the app ID string. - [SDL_APP_NAME](SDL_HINT_APP_NAME): A variable setting the application name. - [SDL_ASSERT](SDL_HINT_ASSERT): A variable controlling response to SDL_assert failures. - [SDL_AUDIO_ALSA_DEFAULT_DEVICE](SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE): Specify the default ALSA audio device name. - [SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE](SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE): Specify the default ALSA audio playback device name. - [SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE](SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE): Specify the default ALSA audio recording device name. - [SDL_AUDIO_CATEGORY](SDL_HINT_AUDIO_CATEGORY): A variable controlling the audio category on iOS and macOS. - [SDL_AUDIO_CHANNELS](SDL_HINT_AUDIO_CHANNELS): A variable controlling the default audio channel count. - [SDL_AUDIO_DEVICE_APP_ICON_NAME](SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME): Specify an application icon name for an audio device. - [SDL_AUDIO_DEVICE_SAMPLE_FRAMES](SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES): A variable controlling device buffer size. - [SDL_AUDIO_DEVICE_STREAM_NAME](SDL_HINT_AUDIO_DEVICE_STREAM_NAME): Specify an audio stream name for an audio device. - [SDL_AUDIO_DEVICE_STREAM_ROLE](SDL_HINT_AUDIO_DEVICE_STREAM_ROLE): Specify an application role for an audio device. - [SDL_AUDIO_DISK_INPUT_FILE](SDL_HINT_AUDIO_DISK_INPUT_FILE): Specify the input file when recording audio using the disk audio driver. - [SDL_AUDIO_DISK_OUTPUT_FILE](SDL_HINT_AUDIO_DISK_OUTPUT_FILE): Specify the output file when playing audio using the disk audio driver. - [SDL_AUDIO_DISK_TIMESCALE](SDL_HINT_AUDIO_DISK_TIMESCALE): A variable controlling the audio rate when using the disk audio driver. - [SDL_AUDIO_DRIVER](SDL_HINT_AUDIO_DRIVER): A variable that specifies an audio backend to use. - [SDL_AUDIO_DUMMY_TIMESCALE](SDL_HINT_AUDIO_DUMMY_TIMESCALE): A variable controlling the audio rate when using the dummy audio driver. - [SDL_AUDIO_FORMAT](SDL_HINT_AUDIO_FORMAT): A variable controlling the default audio format. - [SDL_AUDIO_FREQUENCY](SDL_HINT_AUDIO_FREQUENCY): A variable controlling the default audio frequency. - [SDL_AUDIO_INCLUDE_MONITORS](SDL_HINT_AUDIO_INCLUDE_MONITORS): A variable that causes SDL to not ignore audio "monitors". - [SDL_AUTO_UPDATE_JOYSTICKS](SDL_HINT_AUTO_UPDATE_JOYSTICKS): A variable controlling whether SDL updates joystick state when getting input events. - [SDL_AUTO_UPDATE_SENSORS](SDL_HINT_AUTO_UPDATE_SENSORS): A variable controlling whether SDL updates sensor state when getting input events. - [SDL_BMP_SAVE_LEGACY_FORMAT](SDL_HINT_BMP_SAVE_LEGACY_FORMAT): Prevent SDL from using version 4 of the bitmap header when saving BMPs. - [SDL_CAMERA_DRIVER](SDL_HINT_CAMERA_DRIVER): A variable that decides what camera backend to use. - [SDL_CPU_FEATURE_MASK](SDL_HINT_CPU_FEATURE_MASK): A variable that limits what CPU features are available. - [SDL_DEBUG_LOGGING](SDL_HINT_DEBUG_LOGGING): A variable controlling whether SDL logs some debug information. - [SDL_DISPLAY_USABLE_BOUNDS](SDL_HINT_DISPLAY_USABLE_BOUNDS): Override for SDL_GetDisplayUsableBounds(). - [SDL_EGL_LIBRARY](SDL_HINT_EGL_LIBRARY): Specify the EGL library to load. - [SDL_EMSCRIPTEN_ASYNCIFY](SDL_HINT_EMSCRIPTEN_ASYNCIFY): Disable giving back control to the browser automatically when running with asyncify. - [SDL_EMSCRIPTEN_CANVAS_SELECTOR](SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR): Specify the CSS selector used for the "default" window/canvas. - [SDL_EMSCRIPTEN_KEYBOARD_ELEMENT](SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT): Override the binding element for keyboard inputs for Emscripten builds. - [SDL_ENABLE_SCREEN_KEYBOARD](SDL_HINT_ENABLE_SCREEN_KEYBOARD): A variable that controls whether the on-screen keyboard should be shown when text input is active. - [SDL_EVDEV_DEVICES](SDL_HINT_EVDEV_DEVICES): A variable containing a list of evdev devices to use if udev is not available. - [SDL_EVENT_LOGGING](SDL_HINT_EVENT_LOGGING): A variable controlling verbosity of the logging of SDL events pushed onto the internal queue. - [SDL_FILE_DIALOG_DRIVER](SDL_HINT_FILE_DIALOG_DRIVER): A variable that specifies a dialog backend to use. - [SDL_FORCE_RAISEWINDOW](SDL_HINT_FORCE_RAISEWINDOW): A variable controlling whether raising the window should be done more forcefully. - [SDL_FRAMEBUFFER_ACCELERATION](SDL_HINT_FRAMEBUFFER_ACCELERATION): A variable controlling how 3D acceleration is used to accelerate the SDL screen surface. - [SDL_GAMECONTROLLERCONFIG](SDL_HINT_GAMECONTROLLERCONFIG): A variable that lets you manually hint extra gamecontroller db entries. - [SDL_GAMECONTROLLERCONFIG_FILE](SDL_HINT_GAMECONTROLLERCONFIG_FILE): A variable that lets you provide a file with extra gamecontroller db entries. - [SDL_GAMECONTROLLERTYPE](SDL_HINT_GAMECONTROLLERTYPE): A variable that overrides the automatic controller type detection. - [SDL_GAMECONTROLLER_IGNORE_DEVICES](SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES): A variable containing a list of devices to skip when scanning for game controllers. - [SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT](SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT): If set, all devices will be skipped when scanning for game controllers except for the ones listed in this variable. - [SDL_GAMECONTROLLER_SENSOR_FUSION](SDL_HINT_GAMECONTROLLER_SENSOR_FUSION): A variable that controls whether the device's built-in accelerometer and gyro should be used as sensors for gamepads. - [SDL_GDK_TEXTINPUT_DEFAULT_TEXT](SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT): This variable sets the default text of the TextInput window on GDK platforms. - [SDL_GDK_TEXTINPUT_DESCRIPTION](SDL_HINT_GDK_TEXTINPUT_DESCRIPTION): This variable sets the description of the TextInput window on GDK platforms. - [SDL_GDK_TEXTINPUT_MAX_LENGTH](SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH): This variable sets the maximum input length of the TextInput window on GDK platforms. - [SDL_GDK_TEXTINPUT_SCOPE](SDL_HINT_GDK_TEXTINPUT_SCOPE): This variable sets the input scope of the TextInput window on GDK platforms. - [SDL_GDK_TEXTINPUT_TITLE](SDL_HINT_GDK_TEXTINPUT_TITLE): This variable sets the title of the TextInput window on GDK platforms. - [SDL_GPU_DRIVER](SDL_HINT_GPU_DRIVER): A variable that specifies a GPU backend to use. - [SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS](SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS): A variable to control whether SDL_hid_enumerate() enumerates all HID devices or only controllers. - [SDL_HIDAPI_IGNORE_DEVICES](SDL_HINT_HIDAPI_IGNORE_DEVICES): A variable containing a list of devices to ignore in SDL_hid_enumerate(). - [SDL_HIDAPI_LIBUSB](SDL_HINT_HIDAPI_LIBUSB): A variable to control whether HIDAPI uses libusb for device access. - [SDL_HIDAPI_LIBUSB_WHITELIST](SDL_HINT_HIDAPI_LIBUSB_WHITELIST): A variable to control whether HIDAPI uses libusb only for whitelisted devices. - [SDL_HIDAPI_UDEV](SDL_HINT_HIDAPI_UDEV): A variable to control whether HIDAPI uses udev for device detection. - [SDL_IME_IMPLEMENTED_UI](SDL_HINT_IME_IMPLEMENTED_UI): A variable describing what IME UI elements the application can display. - [SDL_IOS_HIDE_HOME_INDICATOR](SDL_HINT_IOS_HIDE_HOME_INDICATOR): A variable controlling whether the home indicator bar on iPhone X should be hidden. - [SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS](SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS): A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background. - [SDL_JOYSTICK_ARCADESTICK_DEVICES](SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES): A variable containing a list of arcade stick style controllers. - [SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED](SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED): A variable containing a list of devices that are not arcade stick style controllers. - [SDL_JOYSTICK_BLACKLIST_DEVICES](SDL_HINT_JOYSTICK_BLACKLIST_DEVICES): A variable containing a list of devices that should not be considered joysticks. - [SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED](SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED): A variable containing a list of devices that should be considered joysticks. - [SDL_JOYSTICK_DEVICE](SDL_HINT_JOYSTICK_DEVICE): A variable containing a comma separated list of devices to open as joysticks. - [SDL_JOYSTICK_DIRECTINPUT](SDL_HINT_JOYSTICK_DIRECTINPUT): A variable controlling whether DirectInput should be used for controllers. - [SDL_JOYSTICK_ENHANCED_REPORTS](SDL_HINT_JOYSTICK_ENHANCED_REPORTS): A variable controlling whether enhanced reports should be used for controllers when using the HIDAPI driver. - [SDL_JOYSTICK_FLIGHTSTICK_DEVICES](SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES): A variable containing a list of flightstick style controllers. - [SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED](SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED): A variable containing a list of devices that are not flightstick style controllers. - [SDL_JOYSTICK_GAMECUBE_DEVICES](SDL_HINT_JOYSTICK_GAMECUBE_DEVICES): A variable containing a list of devices known to have a GameCube form factor. - [SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED](SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED): A variable containing a list of devices known not to have a GameCube form factor. - [SDL_JOYSTICK_GAMEINPUT](SDL_HINT_JOYSTICK_GAMEINPUT): A variable controlling whether GameInput should be used for controller handling on Windows. - [SDL_JOYSTICK_HAPTIC_AXES](SDL_HINT_JOYSTICK_HAPTIC_AXES): A variable containing a list of devices and their desired number of haptic (force feedback) enabled axis. - [SDL_JOYSTICK_HIDAPI](SDL_HINT_JOYSTICK_HIDAPI): A variable controlling whether the HIDAPI joystick drivers should be used. - [SDL_JOYSTICK_HIDAPI_8BITDO](SDL_HINT_JOYSTICK_HIDAPI_8BITDO): A variable controlling whether the HIDAPI driver for 8BitDo controllers should be used. - [SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS](SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS): A variable controlling whether Nintendo Switch Joy-Con controllers will be combined into a single Pro-like controller when using the HIDAPI driver. - [SDL_JOYSTICK_HIDAPI_FLYDIGI](SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI): A variable controlling whether the HIDAPI driver for Flydigi controllers should be used. - [SDL_JOYSTICK_HIDAPI_GAMECUBE](SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE): A variable controlling whether the HIDAPI driver for Nintendo GameCube controllers should be used. - [SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE](SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE): A variable controlling whether rumble is used to implement the GameCube controller's 3 rumble modes, Stop(0), Rumble(1), and StopHard(2). - [SDL_JOYSTICK_HIDAPI_GIP](SDL_HINT_JOYSTICK_HIDAPI_GIP): A variable controlling whether the new HIDAPI driver for wired Xbox One (GIP) controllers should be used. - [SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA](SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA): A variable controlling whether the new HIDAPI driver for wired Xbox One (GIP) controllers should reset the controller if it can't get the metadata from the controller. - [SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED](SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED): A variable controlling whether the Home button LED should be turned on when a Nintendo Switch Joy-Con controller is opened. - [SDL_JOYSTICK_HIDAPI_JOY_CONS](SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS): A variable controlling whether the HIDAPI driver for Nintendo Switch Joy-Cons should be used. - [SDL_JOYSTICK_HIDAPI_LG4FF](SDL_HINT_JOYSTICK_HIDAPI_LG4FF): A variable controlling whether the HIDAPI driver for some Logitech wheels should be used. - [SDL_JOYSTICK_HIDAPI_LUNA](SDL_HINT_JOYSTICK_HIDAPI_LUNA): A variable controlling whether the HIDAPI driver for Amazon Luna controllers connected via Bluetooth should be used. - [SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC](SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC): A variable controlling whether the HIDAPI driver for Nintendo Online classic controllers should be used. - [SDL_JOYSTICK_HIDAPI_PS3](SDL_HINT_JOYSTICK_HIDAPI_PS3): A variable controlling whether the HIDAPI driver for PS3 controllers should be used. - [SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER](SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER): A variable controlling whether the Sony driver (sixaxis.sys) for PS3 controllers (Sixaxis/DualShock 3) should be used. - [SDL_JOYSTICK_HIDAPI_PS4](SDL_HINT_JOYSTICK_HIDAPI_PS4): A variable controlling whether the HIDAPI driver for PS4 controllers should be used. - [SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL](SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL): A variable controlling the update rate of the PS4 controller over Bluetooth when using the HIDAPI driver. - [SDL_JOYSTICK_HIDAPI_PS5](SDL_HINT_JOYSTICK_HIDAPI_PS5): A variable controlling whether the HIDAPI driver for PS5 controllers should be used. - [SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED](SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED): A variable controlling whether the player LEDs should be lit to indicate which player is associated with a PS5 controller. - [SDL_JOYSTICK_HIDAPI_SHIELD](SDL_HINT_JOYSTICK_HIDAPI_SHIELD): A variable controlling whether the HIDAPI driver for NVIDIA SHIELD controllers should be used. - [SDL_JOYSTICK_HIDAPI_SINPUT](SDL_HINT_JOYSTICK_HIDAPI_SINPUT): A variable controlling whether the HIDAPI driver for SInput controllers should be used. - [SDL_JOYSTICK_HIDAPI_STADIA](SDL_HINT_JOYSTICK_HIDAPI_STADIA): A variable controlling whether the HIDAPI driver for Google Stadia controllers should be used. - [SDL_JOYSTICK_HIDAPI_STEAM](SDL_HINT_JOYSTICK_HIDAPI_STEAM): A variable controlling whether the HIDAPI driver for Bluetooth Steam Controllers should be used. - [SDL_JOYSTICK_HIDAPI_STEAMDECK](SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK): A variable controlling whether the HIDAPI driver for the Steam Deck builtin controller should be used. - [SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED](SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED): A variable controlling whether the Steam button LED should be turned on when a Steam controller is opened. - [SDL_JOYSTICK_HIDAPI_STEAM_HORI](SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI): A variable controlling whether the HIDAPI driver for HORI licensed Steam controllers should be used. - [SDL_JOYSTICK_HIDAPI_SWITCH](SDL_HINT_JOYSTICK_HIDAPI_SWITCH): A variable controlling whether the HIDAPI driver for Nintendo Switch controllers should be used. - [SDL_JOYSTICK_HIDAPI_SWITCH2](SDL_HINT_JOYSTICK_HIDAPI_SWITCH2): A variable controlling whether the HIDAPI driver for Nintendo Switch 2 controllers should be used. - [SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED](SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED): A variable controlling whether the Home button LED should be turned on when a Nintendo Switch Pro controller is opened. - [SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED](SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED): A variable controlling whether the player LEDs should be lit to indicate which player is associated with a Nintendo Switch controller. - [SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS](SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS): A variable controlling whether Nintendo Switch Joy-Con controllers will be in vertical mode when using the HIDAPI driver. - [SDL_JOYSTICK_HIDAPI_WII](SDL_HINT_JOYSTICK_HIDAPI_WII): A variable controlling whether the HIDAPI driver for Nintendo Wii and Wii U controllers should be used. - [SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED](SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED): A variable controlling whether the player LEDs should be lit to indicate which player is associated with a Wii controller. - [SDL_JOYSTICK_HIDAPI_XBOX](SDL_HINT_JOYSTICK_HIDAPI_XBOX): A variable controlling whether the HIDAPI driver for XBox controllers should be used. - [SDL_JOYSTICK_HIDAPI_XBOX_360](SDL_HINT_JOYSTICK_HIDAPI_XBOX_360): A variable controlling whether the HIDAPI driver for XBox 360 controllers should be used. - [SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED](SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED): A variable controlling whether the player LEDs should be lit to indicate which player is associated with an Xbox 360 controller. - [SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS](SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS): A variable controlling whether the HIDAPI driver for XBox 360 wireless controllers should be used. - [SDL_JOYSTICK_HIDAPI_XBOX_ONE](SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE): A variable controlling whether the HIDAPI driver for XBox One controllers should be used. - [SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED](SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED): A variable controlling whether the Home button LED should be turned on when an Xbox One controller is opened. - [SDL_JOYSTICK_IOKIT](SDL_HINT_JOYSTICK_IOKIT): A variable controlling whether IOKit should be used for controller handling. - [SDL_JOYSTICK_LINUX_CLASSIC](SDL_HINT_JOYSTICK_LINUX_CLASSIC): A variable controlling whether to use the classic /dev/input/js* joystick interface or the newer /dev/input/event* joystick interface on Linux. - [SDL_JOYSTICK_LINUX_DEADZONES](SDL_HINT_JOYSTICK_LINUX_DEADZONES): A variable controlling whether joysticks on Linux adhere to their HID-defined deadzones or return unfiltered values. - [SDL_JOYSTICK_LINUX_DIGITAL_HATS](SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS): A variable controlling whether joysticks on Linux will always treat 'hat' axis inputs (ABS_HAT0X - ABS_HAT3Y) as 8-way digital hats without checking whether they may be analog. - [SDL_JOYSTICK_LINUX_HAT_DEADZONES](SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES): A variable controlling whether digital hats on Linux will apply deadzones to their underlying input axes or use unfiltered values. - [SDL_JOYSTICK_MFI](SDL_HINT_JOYSTICK_MFI): A variable controlling whether GCController should be used for controller handling. - [SDL_JOYSTICK_RAWINPUT](SDL_HINT_JOYSTICK_RAWINPUT): A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices. - [SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT](SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT): A variable controlling whether the RAWINPUT driver should pull correlated data from XInput. - [SDL_JOYSTICK_ROG_CHAKRAM](SDL_HINT_JOYSTICK_ROG_CHAKRAM): A variable controlling whether the ROG Chakram mice should show up as joysticks. - [SDL_JOYSTICK_THREAD](SDL_HINT_JOYSTICK_THREAD): A variable controlling whether a separate thread should be used for handling joystick detection and raw input messages on Windows. - [SDL_JOYSTICK_THROTTLE_DEVICES](SDL_HINT_JOYSTICK_THROTTLE_DEVICES): A variable containing a list of throttle style controllers. - [SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED](SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED): A variable containing a list of devices that are not throttle style controllers. - [SDL_JOYSTICK_WGI](SDL_HINT_JOYSTICK_WGI): A variable controlling whether Windows.Gaming.Input should be used for controller handling. - [SDL_JOYSTICK_WHEEL_DEVICES](SDL_HINT_JOYSTICK_WHEEL_DEVICES): A variable containing a list of wheel style controllers. - [SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED](SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED): A variable containing a list of devices that are not wheel style controllers. - [SDL_JOYSTICK_ZERO_CENTERED_DEVICES](SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES): A variable containing a list of devices known to have all axes centered at zero. - [SDL_KEYCODE_OPTIONS](SDL_HINT_KEYCODE_OPTIONS): A variable that controls keycode representation in keyboard events. - [SDL_KMSDRM_DEVICE_INDEX](SDL_HINT_KMSDRM_DEVICE_INDEX): A variable that controls what KMSDRM device to use. - [SDL_KMSDRM_REQUIRE_DRM_MASTER](SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER): A variable that controls whether SDL requires DRM master access in order to initialize the KMSDRM video backend. - [SDL_LOGGING](SDL_HINT_LOGGING): A variable controlling the default SDL log levels. - [SDL_MAC_BACKGROUND_APP](SDL_HINT_MAC_BACKGROUND_APP): A variable controlling whether to force the application to become the foreground process when launched on macOS. - [SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK](SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK): A variable that determines whether Ctrl+Click should generate a right-click event on macOS. - [SDL_MAC_OPENGL_ASYNC_DISPATCH](SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH): A variable controlling whether dispatching OpenGL context updates should block the dispatching thread until the main thread finishes processing on macOS. - [SDL_MAC_OPTION_AS_ALT](SDL_HINT_MAC_OPTION_AS_ALT): A variable controlling whether the Option key on macOS should be remapped to act as the Alt key. - [SDL_MAC_SCROLL_MOMENTUM](SDL_HINT_MAC_SCROLL_MOMENTUM): A variable controlling whether SDL_EVENT_MOUSE_WHEEL event values will have momentum on macOS. - [SDL_MAIN_CALLBACK_RATE](SDL_HINT_MAIN_CALLBACK_RATE): Request SDL_AppIterate() be called at a specific rate. - [SDL_MOUSE_AUTO_CAPTURE](SDL_HINT_MOUSE_AUTO_CAPTURE): A variable controlling whether the mouse is captured while mouse buttons are pressed. - [SDL_MOUSE_DEFAULT_SYSTEM_CURSOR](SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR): A variable setting which system cursor to use as the default cursor. - [SDL_MOUSE_DOUBLE_CLICK_RADIUS](SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS): A variable setting the double click radius, in pixels. - [SDL_MOUSE_DOUBLE_CLICK_TIME](SDL_HINT_MOUSE_DOUBLE_CLICK_TIME): A variable setting the double click time, in milliseconds. - [SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE](SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE): A variable controlling whether warping a hidden mouse cursor will activate relative mouse mode. - [SDL_MOUSE_FOCUS_CLICKTHROUGH](SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH): Allow mouse click events when clicking to focus an SDL window. - [SDL_MOUSE_NORMAL_SPEED_SCALE](SDL_HINT_MOUSE_NORMAL_SPEED_SCALE): A variable setting the speed scale for mouse motion, in floating point, when the mouse is not in relative mode. - [SDL_MOUSE_RELATIVE_CURSOR_VISIBLE](SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE): A variable controlling whether the hardware cursor stays visible when relative mode is active. - [SDL_MOUSE_RELATIVE_MODE_CENTER](SDL_HINT_MOUSE_RELATIVE_MODE_CENTER): A variable controlling whether relative mouse mode constrains the mouse to the center of the window. - [SDL_MOUSE_RELATIVE_SPEED_SCALE](SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE): A variable setting the scale for mouse motion, in floating point, when the mouse is in relative mode. - [SDL_MOUSE_RELATIVE_SYSTEM_SCALE](SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE): A variable controlling whether the system mouse acceleration curve is used for relative mouse motion. - [SDL_MOUSE_RELATIVE_WARP_MOTION](SDL_HINT_MOUSE_RELATIVE_WARP_MOTION): A variable controlling whether a motion event should be generated for mouse warping in relative mode. - [SDL_MOUSE_TOUCH_EVENTS](SDL_HINT_MOUSE_TOUCH_EVENTS): A variable controlling whether mouse events should generate synthetic touch events. - [SDL_MUTE_CONSOLE_KEYBOARD](SDL_HINT_MUTE_CONSOLE_KEYBOARD): A variable controlling whether the keyboard should be muted on the console. - [SDL_NO_SIGNAL_HANDLERS](SDL_HINT_NO_SIGNAL_HANDLERS): Tell SDL not to catch the SIGINT or SIGTERM signals on POSIX platforms. - [SDL_OPENGL_ES_DRIVER](SDL_HINT_OPENGL_ES_DRIVER): A variable controlling what driver to use for OpenGL ES contexts. - [SDL_OPENGL_LIBRARY](SDL_HINT_OPENGL_LIBRARY): Specify the OpenGL library to load. - [SDL_OPENVR_LIBRARY](SDL_HINT_OPENVR_LIBRARY): Mechanism to specify openvr_api library location - [SDL_ORIENTATIONS](SDL_HINT_ORIENTATIONS): A variable controlling which orientations are allowed on iOS/Android. - [SDL_PEN_MOUSE_EVENTS](SDL_HINT_PEN_MOUSE_EVENTS): A variable controlling whether pen events should generate synthetic mouse events. - [SDL_PEN_TOUCH_EVENTS](SDL_HINT_PEN_TOUCH_EVENTS): A variable controlling whether pen events should generate synthetic touch events. - [SDL_POLL_SENTINEL](SDL_HINT_POLL_SENTINEL): A variable controlling the use of a sentinel event when polling the event queue. - [SDL_PREFERRED_LOCALES](SDL_HINT_PREFERRED_LOCALES): Override for SDL_GetPreferredLocales(). - [SDL_QUIT_ON_LAST_WINDOW_CLOSE](SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE): A variable that decides whether to send SDL_EVENT_QUIT when closing the last window. - [SDL_RENDER_DIRECT3D11_DEBUG](SDL_HINT_RENDER_DIRECT3D11_DEBUG): A variable controlling whether to enable Direct3D 11+'s Debug Layer. - [SDL_RENDER_DIRECT3D11_WARP](SDL_HINT_RENDER_DIRECT3D11_WARP): A variable controlling whether to use the Direct3D 11 WARP software rasterizer. - [SDL_RENDER_DIRECT3D_THREADSAFE](SDL_HINT_RENDER_DIRECT3D_THREADSAFE): A variable controlling whether the Direct3D device is initialized for thread-safe operations. - [SDL_RENDER_DRIVER](SDL_HINT_RENDER_DRIVER): A variable specifying which render driver to use. - [SDL_RENDER_GPU_DEBUG](SDL_HINT_RENDER_GPU_DEBUG): A variable controlling whether to create the GPU device in debug mode. - [SDL_RENDER_GPU_LOW_POWER](SDL_HINT_RENDER_GPU_LOW_POWER): A variable controlling whether to prefer a low-power GPU on multi-GPU systems. - [SDL_RENDER_LINE_METHOD](SDL_HINT_RENDER_LINE_METHOD): A variable controlling how the 2D render API renders lines. - [SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE](SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE): A variable controlling whether the Metal render driver select low power device over default one. - [SDL_RENDER_VSYNC](SDL_HINT_RENDER_VSYNC): A variable controlling whether updates to the SDL screen surface should be synchronized with the vertical refresh, to avoid tearing. - [SDL_RENDER_VULKAN_DEBUG](SDL_HINT_RENDER_VULKAN_DEBUG): A variable controlling whether to enable Vulkan Validation Layers. - [SDL_RETURN_KEY_HIDES_IME](SDL_HINT_RETURN_KEY_HIDES_IME): A variable to control whether the return key on the soft keyboard should hide the soft keyboard on Android and iOS. - [SDL_ROG_GAMEPAD_MICE](SDL_HINT_ROG_GAMEPAD_MICE): A variable containing a list of ROG gamepad capable mice. - [SDL_ROG_GAMEPAD_MICE_EXCLUDED](SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED): A variable containing a list of devices that are not ROG gamepad capable mice. - [SDL_RPI_VIDEO_LAYER](SDL_HINT_RPI_VIDEO_LAYER): A variable controlling which Dispmanx layer to use on a Raspberry PI. - [SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME](SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME): Specify an "activity name" for screensaver inhibition. - [SDL_SHUTDOWN_DBUS_ON_QUIT](SDL_HINT_SHUTDOWN_DBUS_ON_QUIT): A variable controlling whether SDL calls dbus_shutdown() on quit. - [SDL_STORAGE_TITLE_DRIVER](SDL_HINT_STORAGE_TITLE_DRIVER): A variable that specifies a backend to use for title storage. - [SDL_STORAGE_USER_DRIVER](SDL_HINT_STORAGE_USER_DRIVER): A variable that specifies a backend to use for user storage. - [SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL](SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL): Specifies whether SDL_THREAD_PRIORITY_TIME_CRITICAL should be treated as realtime. - [SDL_THREAD_PRIORITY_POLICY](SDL_HINT_THREAD_PRIORITY_POLICY): A string specifying additional information to use with SDL_SetCurrentThreadPriority. - [SDL_TIMER_RESOLUTION](SDL_HINT_TIMER_RESOLUTION): A variable that controls the timer resolution, in milliseconds. - [SDL_TOUCH_MOUSE_EVENTS](SDL_HINT_TOUCH_MOUSE_EVENTS): A variable controlling whether touch events should generate synthetic mouse events. - [SDL_TRACKPAD_IS_TOUCH_ONLY](SDL_HINT_TRACKPAD_IS_TOUCH_ONLY): A variable controlling whether trackpads should be treated as touch devices. - [SDL_TV_REMOTE_AS_JOYSTICK](SDL_HINT_TV_REMOTE_AS_JOYSTICK): A variable controlling whether the Android / tvOS remotes should be listed as joystick devices, instead of sending keyboard events. - [SDL_VIDEO_ALLOW_SCREENSAVER](SDL_HINT_VIDEO_ALLOW_SCREENSAVER): A variable controlling whether the screensaver is enabled. - [SDL_VIDEO_DISPLAY_PRIORITY](SDL_HINT_VIDEO_DISPLAY_PRIORITY): A comma separated list containing the names of the displays that SDL should sort to the front of the display list. - [SDL_VIDEO_DOUBLE_BUFFER](SDL_HINT_VIDEO_DOUBLE_BUFFER): Tell the video driver that we only want a double buffer. - [SDL_VIDEO_DRIVER](SDL_HINT_VIDEO_DRIVER): A variable that specifies a video backend to use. - [SDL_VIDEO_DUMMY_SAVE_FRAMES](SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES): A variable controlling whether the dummy video driver saves output frames. - [SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK](SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK): If eglGetPlatformDisplay fails, fall back to calling eglGetDisplay. - [SDL_VIDEO_FORCE_EGL](SDL_HINT_VIDEO_FORCE_EGL): A variable controlling whether the OpenGL context should be created with EGL. - [SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY](SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY): A variable that specifies the menu visibility when a window is fullscreen in Spaces on macOS. - [SDL_VIDEO_MAC_FULLSCREEN_SPACES](SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES): A variable that specifies the policy for fullscreen Spaces on macOS. - [SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE](SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE): A variable controlling whether SDL will attempt to automatically set the destination display to a mode most closely matching that of the previous display if an exclusive fullscreen window is moved onto it. - [SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS](SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS): A variable controlling whether fullscreen windows are minimized when they lose focus. - [SDL_VIDEO_OFFSCREEN_SAVE_FRAMES](SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES): A variable controlling whether the offscreen video driver saves output frames. - [SDL_VIDEO_SYNC_WINDOW_OPERATIONS](SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS): A variable controlling whether all window operations will block until complete. - [SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR](SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR): A variable controlling whether the libdecor Wayland backend is allowed to be used. - [SDL_VIDEO_WAYLAND_MODE_EMULATION](SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION): A variable controlling whether video mode emulation is enabled under Wayland. - [SDL_VIDEO_WAYLAND_MODE_SCALING](SDL_HINT_VIDEO_WAYLAND_MODE_SCALING): A variable controlling how modes with a non-native aspect ratio are displayed under Wayland. - [SDL_VIDEO_WAYLAND_PREFER_LIBDECOR](SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR): A variable controlling whether the libdecor Wayland backend is preferred over native decorations. - [SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY](SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY): A variable forcing non-DPI-aware Wayland windows to output at 1:1 scaling. - [SDL_VIDEO_WIN_D3DCOMPILER](SDL_HINT_VIDEO_WIN_D3DCOMPILER): A variable specifying which shader compiler to preload when using the Chrome ANGLE binaries. - [SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT](SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT): A variable controlling whether SDL should call XSelectInput() to enable input events on X11 windows wrapped by SDL windows. - [SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR](SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR): A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used. - [SDL_VIDEO_X11_NET_WM_PING](SDL_HINT_VIDEO_X11_NET_WM_PING): A variable controlling whether the X11 _NET_WM_PING protocol should be supported. - [SDL_VIDEO_X11_NODIRECTCOLOR](SDL_HINT_VIDEO_X11_NODIRECTCOLOR): A variable controlling whether SDL uses DirectColor visuals. - [SDL_VIDEO_X11_SCALING_FACTOR](SDL_HINT_VIDEO_X11_SCALING_FACTOR): A variable forcing the content scaling factor for X11 displays. - [SDL_VIDEO_X11_VISUALID](SDL_HINT_VIDEO_X11_VISUALID): A variable forcing the visual ID used for X11 display modes. - [SDL_VIDEO_X11_WINDOW_VISUALID](SDL_HINT_VIDEO_X11_WINDOW_VISUALID): A variable forcing the visual ID chosen for new X11 windows. - [SDL_VIDEO_X11_XRANDR](SDL_HINT_VIDEO_X11_XRANDR): A variable controlling whether the X11 XRandR extension should be used. - [SDL_VITA_ENABLE_BACK_TOUCH](SDL_HINT_VITA_ENABLE_BACK_TOUCH): A variable controlling whether touch should be enabled on the back panel of the PlayStation Vita. - [SDL_VITA_ENABLE_FRONT_TOUCH](SDL_HINT_VITA_ENABLE_FRONT_TOUCH): A variable controlling whether touch should be enabled on the front panel of the PlayStation Vita. - [SDL_VITA_MODULE_PATH](SDL_HINT_VITA_MODULE_PATH): A variable controlling the module path on the PlayStation Vita. - [SDL_VITA_PVR_INIT](SDL_HINT_VITA_PVR_INIT): A variable controlling whether to perform PVR initialization on the PlayStation Vita. - [SDL_VITA_PVR_OPENGL](SDL_HINT_VITA_PVR_OPENGL): A variable controlling whether OpenGL should be used instead of OpenGL ES on the PlayStation Vita. - [SDL_VITA_RESOLUTION](SDL_HINT_VITA_RESOLUTION): A variable overriding the resolution reported on the PlayStation Vita. - [SDL_VITA_TOUCH_MOUSE_DEVICE](SDL_HINT_VITA_TOUCH_MOUSE_DEVICE): A variable controlling which touchpad should generate synthetic mouse events. - [SDL_VULKAN_DISPLAY](SDL_HINT_VULKAN_DISPLAY): A variable overriding the display index used in SDL_Vulkan_CreateSurface() - [SDL_VULKAN_LIBRARY](SDL_HINT_VULKAN_LIBRARY): Specify the Vulkan library to load. - [SDL_WAVE_CHUNK_LIMIT](SDL_HINT_WAVE_CHUNK_LIMIT): A variable controlling the maximum number of chunks in a WAVE file. - [SDL_WAVE_FACT_CHUNK](SDL_HINT_WAVE_FACT_CHUNK): A variable controlling how the fact chunk affects the loading of a WAVE file. - [SDL_WAVE_RIFF_CHUNK_SIZE](SDL_HINT_WAVE_RIFF_CHUNK_SIZE): A variable controlling how the size of the RIFF chunk affects the loading of a WAVE file. - [SDL_WAVE_TRUNCATION](SDL_HINT_WAVE_TRUNCATION): A variable controlling how a truncated WAVE file is handled. - [SDL_WINDOWS_CLOSE_ON_ALT_F4](SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4): A variable controlling whether SDL generates window-close events for Alt+F4 on Windows. - [SDL_WINDOWS_ENABLE_MENU_MNEMONICS](SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS): A variable controlling whether menus can be opened with their keyboard shortcut (Alt+mnemonic). - [SDL_WINDOWS_ENABLE_MESSAGELOOP](SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP): A variable controlling whether the windows message loop is processed by SDL. - [SDL_WINDOWS_ERASE_BACKGROUND_MODE](SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE): A variable controlling whether SDL will clear the window contents when the WM_ERASEBKGND message is received. - [SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL](SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL): A variable controlling whether SDL uses Kernel Semaphores on Windows. - [SDL_WINDOWS_GAMEINPUT](SDL_HINT_WINDOWS_GAMEINPUT): A variable controlling whether GameInput is used for raw keyboard and mouse on Windows. - [SDL_WINDOWS_INTRESOURCE_ICON](SDL_HINT_WINDOWS_INTRESOURCE_ICON): A variable to specify custom icon resource id from RC file on Windows platform. - [SDL_WINDOWS_INTRESOURCE_ICON_SMALL](SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL): A variable to specify custom icon resource id from RC file on Windows platform. - [SDL_WINDOWS_RAW_KEYBOARD](SDL_HINT_WINDOWS_RAW_KEYBOARD): A variable controlling whether raw keyboard events are used on Windows. - [SDL_WINDOWS_USE_D3D9EX](SDL_HINT_WINDOWS_USE_D3D9EX): A variable controlling whether SDL uses the D3D9Ex API introduced in Windows Vista, instead of normal D3D9. - [SDL_WINDOW_ACTIVATE_WHEN_RAISED](SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED): A variable controlling whether the window is activated when the SDL_RaiseWindow function is called. - [SDL_WINDOW_ACTIVATE_WHEN_SHOWN](SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN): A variable controlling whether the window is activated when the SDL_ShowWindow function is called. - [SDL_WINDOW_ALLOW_TOPMOST](SDL_HINT_WINDOW_ALLOW_TOPMOST): If set to "0" then never set the top-most flag on an SDL Window even if the application requests it. - [SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN](SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN): A variable controlling whether the window frame and title bar are interactive when the cursor is hidden. - [SDL_X11_FORCE_OVERRIDE_REDIRECT](SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT): A variable controlling whether X11 windows are marked as override-redirect. - [SDL_X11_WINDOW_TYPE](SDL_HINT_X11_WINDOW_TYPE): A variable specifying the type of an X11 window. - [SDL_X11_XCB_LIBRARY](SDL_HINT_X11_XCB_LIBRARY): Specify the XCB library to load for the X11 driver. - [SDL_XINPUT_ENABLED](SDL_HINT_XINPUT_ENABLED): A variable controlling whether XInput should be used for controller handling.