DOKK / manpages / debian 13 / libsdl3-doc / SDL_AddGamepadMappingsFromIO.3.en
SDL_AddGamepadMappingsFromIO(3) SDL3 FUNCTIONS SDL_AddGamepadMappingsFromIO(3)

SDL_AddGamepadMappingsFromIO - Load a set of gamepad mappings from an SDL_IOStream .

Defined in SDL3/SDL_gamepad.h

#include "SDL3/SDL.h"
int SDL_AddGamepadMappingsFromIO(SDL_IOStream *src, bool closeio);

You can call this function several times, if needed, to load different database files.

If a new mapping is loaded for an already known gamepad GUID, the later version will overwrite the one currently loaded.

Any new mappings for already plugged in controllers will generate

SDL_EVENT_GAMEPAD_ADDED
events.

Mappings not belonging to the current platform or with no platform field specified will be ignored (i.e. mappings for Linux will be ignored in Windows, etc).

This function will load the text database entirely in memory before processing it, so take this into consideration if you are in a memory constrained environment.

the data stream for the mappings to be added.
if true, calls SDL_CloseIO () on src before returning, even in the case of an error.

Returns the number of mappings added or -1 on failure; call

SDL_GetError () for more information.

It is safe to call this function from any thread.

This function is available since SDL 3.2.0.

(3), SDL_AddGamepadMapping(3), (3), SDL_AddGamepadMappingsFromFile(3), (3), SDL_GetGamepadMapping(3), (3), SDL_GetGamepadMappingForGUID(3), (3), SDL_HINT_GAMECONTROLLERCONFIG(3), (3), SDL_HINT_GAMECONTROLLERCONFIG_FILE(3), (3), SDL_EVENT_GAMEPAD_ADDED(3)

SDL 3.2.10 Simple Directmedia Layer