Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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;
}