static void input_autoconfigure_connect_handler(retro_task_t *task) { autoconfig_params_t *params = (autoconfig_params_t*)task->state; if (!params || string_is_empty(params->name)) goto end; if ( !input_autoconfigure_joypad_from_conf_dir(params, task) && !input_autoconfigure_joypad_from_conf_internal(params, task)) { char msg[255]; msg[0] = '\0'; #ifdef ANDROID if (!string_is_empty(params->name)) free(params->name); params->name = strdup("Android Gamepad"); if (input_autoconfigure_joypad_from_conf_internal(params, task)) { RARCH_LOG("[Autoconf]: no profiles found for %s (%d/%d). Using fallback\n", !string_is_empty(params->name) ? params->name : "N/A", params->vid, params->pid); snprintf(msg, sizeof(msg), "%s (%ld/%ld) %s.", !string_is_empty(params->name) ? params->name : "N/A", (long)params->vid, (long)params->pid, msg_hash_to_str(MSG_DEVICE_NOT_CONFIGURED_FALLBACK)); } #else RARCH_LOG("[Autoconf]: no profiles found for %s (%d/%d).\n", !string_is_empty(params->name) ? params->name : "N/A", params->vid, params->pid); snprintf(msg, sizeof(msg), "%s (%ld/%ld) %s.", !string_is_empty(params->name) ? params->name : "N/A", (long)params->vid, (long)params->pid, msg_hash_to_str(MSG_DEVICE_NOT_CONFIGURED)); #endif task_free_title(task); task_set_title(task, strdup(msg)); } end: if (params) { input_autoconfigure_params_free(params); free(params); } task_set_finished(task, true); }
bool input_config_autoconfigure_joypad(autoconfig_params_t *params) { char msg[PATH_MAX_LENGTH]; if (!input_config_autoconfigure_joypad_init(params)) goto error; if (!*params->name) goto error; if (input_autoconfigure_joypad_from_conf_dir(params)) return true; #if defined(HAVE_BUILTIN_AUTOCONFIG) if (input_autoconfigure_joypad_from_conf_internal(params)) return true; #endif RARCH_LOG("Autodetect: no profiles found for %s (%d/%d)\n", params->name, params->vid, params->pid); snprintf(msg, sizeof(msg), "%s (%ld/%ld) not configured", params->name, (long)params->vid, (long)params->pid); runloop_msg_queue_push(msg, 0, 60, false); error: return false; }
bool input_config_autoconfigure_joypad(autoconfig_params_t *params) { bool ret = false; if (!input_config_autoconfigure_joypad_init(params)) return ret; if (!*params->name) return ret; if (!ret) ret = input_autoconfigure_joypad_from_conf_dir(params); #if defined(HAVE_BUILTIN_AUTOCONFIG) if (!ret) ret = input_autoconfigure_joypad_from_conf_internal(params); #endif if (!ret) { char msg[PATH_MAX_LENGTH]; RARCH_LOG("Autodetect: no profiles found for %s (%d/%d)", params->name, params->vid, params->pid); snprintf(msg, sizeof(msg), "%s (%ld/%ld) not configured", params->name, (long)params->vid, (long)params->pid); rarch_main_msg_queue_push(msg, 0, 60, false); } return ret; }
bool input_config_autoconfigure_joypad(autoconfig_params_t *params) { bool ret = false; if (!input_config_autoconfigure_joypad_init(params)) return ret; if (!*params->name) return ret; #if defined(HAVE_BUILTIN_AUTOCONFIG) ret = input_autoconfigure_joypad_from_conf_internal(params); #endif if (!ret) ret = input_autoconfigure_joypad_from_conf_dir(params); return ret; }