Skip to content
Browse files

Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file t…

…o load at initialization containing SDL game controller mappings
  • Loading branch information
slouken committed Dec 7, 2018
1 parent 898644d commit 70ce0f2e064ccf3dc5779df289e0a07cbbacff52
Showing with 18 additions and 6 deletions.
  1. +10 −0 include/SDL_hints.h
  2. +8 −6 src/joystick/SDL_gamecontroller.c
@@ -436,6 +436,16 @@ extern "C" {

* \brief A variable that lets you provide a file with extra gamecontroller db entries.
* The file should contain lines of gamecontroller config data, see SDL_gamecontroller.h
* This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
* You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()

* \brief A variable containing a list of devices to skip when scanning for game controllers.
@@ -1308,15 +1308,17 @@ SDL_GameControllerLoadHints()

* Fill the given buffer with the expected controller mapping filepath.
* Usually this will just be CONTROLLER_MAPPING_FILE, but for Android,
* we want to get the internal storage path.
* Usually this will just be SDL_HINT_GAMECONTROLLERCONFIG_FILE, but for
* Android, we want to get the internal storage path.
static SDL_bool SDL_GetControllerMappingFilePath(char *path, size_t size)
return SDL_strlcpy(path, STRING(CONTROLLER_MAPPING_FILE), size) < size;
#elif defined(__ANDROID__)
if (hint && *hint) {
return SDL_strlcpy(path, hint, size) < size;

#if defined(__ANDROID__)
return SDL_snprintf(path, size, "%s/controller_map.txt", SDL_AndroidGetInternalStoragePath()) < size;
return SDL_FALSE;

0 comments on commit 70ce0f2

Please sign in to comment.