diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index f349eae0bb..cd14cad11b 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1286,7 +1286,23 @@ static int action_ok_download_generic(const char *path, if (!strcmp(type_msg, "cb_update_assets")) path = "assets.zip"; else if (!strcmp(type_msg, "cb_update_autoconfig_profiles")) + { +#ifdef ANDROID + path = "autoconf_android.zip"; +#elif defined(__QNX__) + path = "autoconf_qnx.zip"; +#elif defined(HAVE_UDEV) + path = "autoconf_udev.zip"; +#elif defined(HAVE_XINPUT2) + path = "autoconf_xinput.zip"; +#else path = "autoconf.zip"; +#endif + } +#ifdef HAVE_HID + else if (!strcmp(type_msg, "cb_update_autoconfig_profiles_hid")) + path = "autoconf_hid.zip"; +#endif else if (!strcmp(type_msg, "cb_update_cheats")) path = "cheats.zip"; else if (!strcmp(type_msg, "cb_update_overlays")) @@ -1397,6 +1413,16 @@ static int action_ok_update_autoconfig_profiles(const char *path, return 0; } +static int action_ok_update_autoconfig_profiles_hid(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ +#ifdef HAVE_NETWORKING + action_ok_download_generic(path, label, type, idx, entry_idx, + "cb_update_autoconfig_profiles_hid"); +#endif + return 0; +} + static int action_ok_disk_cycle_tray_status(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { @@ -1789,6 +1815,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES: cbs->action_ok = action_ok_update_autoconfig_profiles; break; + case MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES_HID: + cbs->action_ok = action_ok_update_autoconfig_profiles_hid; + break; default: return -1; } diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 1a3ac12d98..c1fd1dfaf7 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -564,6 +564,8 @@ static const char *menu_hash_to_str_us_label(uint32_t hash) return "update_cheats"; case MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES: return "update_autoconfig_profiles"; + case MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES_HID: + return "update_autoconfig_profiles_hid"; case MENU_LABEL_UPDATE_DATABASES: return "update_databases"; case MENU_LABEL_UPDATE_OVERLAYS: @@ -1144,6 +1146,8 @@ const char *menu_hash_to_str_us(uint32_t hash) return "Update Cheats"; case MENU_LABEL_VALUE_UPDATE_AUTOCONFIG_PROFILES: return "Update Autoconfig Profiles"; + case MENU_LABEL_VALUE_UPDATE_AUTOCONFIG_PROFILES_HID: + return "Update Autoconfig Profiles (HID)"; case MENU_LABEL_VALUE_UPDATE_DATABASES: return "Update Databases"; case MENU_LABEL_VALUE_UPDATE_OVERLAYS: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index a22d66a352..d36450b578 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1697,6 +1697,13 @@ static int menu_displaylist_parse_options(menu_displaylist_info_t *info) menu_hash_to_str(MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES), MENU_SETTING_ACTION, 0, 0); +#ifdef HAVE_HID + menu_list_push(info->list, + menu_hash_to_str(MENU_LABEL_VALUE_UPDATE_AUTOCONFIG_PROFILES_HID), + menu_hash_to_str(MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES_HID), + MENU_SETTING_ACTION, 0, 0); +#endif + menu_list_push(info->list, menu_hash_to_str(MENU_LABEL_VALUE_UPDATE_CHEATS), menu_hash_to_str(MENU_LABEL_UPDATE_CHEATS), diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 91a7027000..d376b61f70 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -25,6 +25,9 @@ extern "C" { #define MENU_VALUE_SEARCH 0xd0d5febbU +#define MENU_LABEL_UPDATE_AUTOCONFIG_PROFILES_HID 0x1e94ee4dU +#define MENU_LABEL_VALUE_UPDATE_AUTOCONFIG_PROFILES_HID 0x524f4590U + #define MENU_VALUE_DONT_CARE 0x19da07bcU #define MENU_VALUE_LINEAR 0xc0d12dc0U #define MENU_VALUE_NEAREST 0x6ab2b0b7U