Browse Source

fix SDL SetGamepadMappings

pull/5548/head
あるる / きのもと 結衣 1 week ago
parent
commit
d4c89b9626
1 changed files with 19 additions and 1 deletions
  1. +19
    -1
      src/platforms/rcore_desktop_sdl.c

+ 19
- 1
src/platforms/rcore_desktop_sdl.c View File

@ -1287,7 +1287,25 @@ void OpenURL(const char *url)
// Set internal gamepad mappings
int SetGamepadMappings(const char *mappings)
{
return SDL_GameControllerAddMapping(mappings);
const int mappingsLength = strlen(mappings);
char *buffer = (char *)RL_CALLOC(mappingsLength + 1, sizeof(char));
memcpy(buffer, mappings, mappingsLength);
char *p = strtok(buffer, "\n");
bool succeed = true;
while (p != NULL)
{
if (SDL_GameControllerAddMapping(p) == -1)
{
succeed = false;
}
p = strtok(NULL, "\n");
}
RL_FREE(buffer);
// To make return value is consistent with the GLFW version.
return (succeed)? 1 : 0;
}
// Set gamepad vibration

Loading…
Cancel
Save