int SDL_SYS_JoystickInit(void) { /* First see if the user specified one or more joysticks to use */ if (SDL_getenv("SDL_JOYSTICK_DEVICE") != NULL) { char *envcopy, *envpath, *delim; envcopy = SDL_strdup(SDL_getenv("SDL_JOYSTICK_DEVICE")); envpath = envcopy; while (envpath != NULL) { delim = SDL_strchr(envpath, ':'); if (delim != NULL) { *delim++ = '\0'; } MaybeAddDevice(envpath); envpath = delim; } SDL_free(envcopy); } SDL_InitSteamControllers(SteamControllerConnectedCallback, SteamControllerDisconnectedCallback); #if SDL_USE_LIBUDEV return JoystickInitWithUdev(); #else return JoystickInitWithoutUdev(); #endif }
int SDL_SYS_JoystickInit(void) { /* First see if the user specified one or more joysticks to use */ if (SDL_getenv("SDL_JOYSTICK_DEVICE") != NULL) { char *envcopy, *envpath, *delim; envcopy = SDL_strdup(SDL_getenv("SDL_JOYSTICK_DEVICE")); envpath = envcopy; while (envpath != NULL) { delim = SDL_strchr(envpath, ':'); if (delim != NULL) { *delim++ = '\0'; } MaybeAddDevice(envpath); envpath = delim; } SDL_free(envcopy); } #if SDL_USE_LIBUDEV if (LoadUDEVLibrary() == 0) { /* okay if this fails, FOR NOW. */ return JoystickInitWithUdev(); } #endif return JoystickInitWithoutUdev(); }