diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 9e8d03bece..d5cfeacf9c 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -642,22 +642,20 @@ static void menu_action_setting_disp_set_label_input_desc_kbd( char *s2, size_t len2) { char desc[PATH_MAX_LENGTH]; - unsigned key_id, id; + unsigned key_id, btn_idx; unsigned remap_id; - unsigned offset = 0; + unsigned user_idx = 0; settings_t *settings = config_get_ptr(); if (!settings) return; - offset = type / ((MENU_SETTINGS_INPUT_DESC_KBD_END - - (MENU_SETTINGS_INPUT_DESC_KBD_END - - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN))) - 1; + user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND; + btn_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) - RARCH_FIRST_CUSTOM_BIND * user_idx; - id = (type / (offset + 1)) - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN; remap_id = - settings->uints.input_keymapper_ids[offset][id]; + settings->uints.input_keymapper_ids[user_idx][btn_idx]; for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++) { diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index ecd86c7d0c..529feaa923 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -396,20 +396,17 @@ static int action_left_input_desc_kbd(unsigned type, const char *label, bool wraparound) { unsigned remap_id; - unsigned key_id, id, offset; + unsigned key_id, user_idx, btn_idx; settings_t *settings = config_get_ptr(); if (!settings) return 0; - offset = type / ((MENU_SETTINGS_INPUT_DESC_KBD_END - - (MENU_SETTINGS_INPUT_DESC_KBD_END - - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN))) - 1; - - id = (type / (offset + 1)) - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN; + user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND; + btn_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) - RARCH_FIRST_CUSTOM_BIND * user_idx; remap_id = - settings->uints.input_keymapper_ids[offset][id]; + settings->uints.input_keymapper_ids[user_idx][btn_idx]; for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++) { @@ -422,7 +419,7 @@ static int action_left_input_desc_kbd(unsigned type, const char *label, else key_id = (RARCH_MAX_KEYS - 1) + MENU_SETTINGS_INPUT_DESC_KBD_BEGIN; - settings->uints.input_keymapper_ids[offset][id] = key_descriptors[key_id].key; + settings->uints.input_keymapper_ids[user_idx][btn_idx] = key_descriptors[key_id].key; return 0; } diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index 9d3b8ab9a5..aec568435b 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -103,21 +103,18 @@ int action_right_cheat(unsigned type, const char *label, int action_right_input_desc_kbd(unsigned type, const char *label, bool wraparound) { - unsigned key_id, id, offset; + unsigned key_id, user_idx, btn_idx; unsigned remap_id; settings_t *settings = config_get_ptr(); if (!settings) return 0; - offset = type / ((MENU_SETTINGS_INPUT_DESC_KBD_END - - (MENU_SETTINGS_INPUT_DESC_KBD_END - - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN))) - 1; - - id = (type / (offset + 1)) - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN; + user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND; + btn_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) - RARCH_FIRST_CUSTOM_BIND * user_idx; remap_id = - settings->uints.input_keymapper_ids[offset][id]; + settings->uints.input_keymapper_ids[user_idx][btn_idx]; for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++) { @@ -130,7 +127,7 @@ int action_right_input_desc_kbd(unsigned type, const char *label, else key_id = 0; - settings->uints.input_keymapper_ids[offset][id] = key_descriptors[key_id].key; + settings->uints.input_keymapper_ids[user_idx][btn_idx] = key_descriptors[key_id].key; return 0; } diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 71918beaf5..a2e219a707 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -462,15 +462,13 @@ static int action_bind_sublabel_remap_kbd_sublabel( const char *label, const char *path, char *s, size_t len) { - unsigned offset = type / ((MENU_SETTINGS_INPUT_DESC_KBD_END - - (MENU_SETTINGS_INPUT_DESC_KBD_END - - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN))) - 1; + unsigned user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND; - snprintf(s, len, "User #%d: %s", offset + 1, - input_config_get_device_display_name(offset) ? - input_config_get_device_display_name(offset) : - (input_config_get_device_name(offset) ? - input_config_get_device_name(offset) : "N/A")); + snprintf(s, len, "User #%d: %s", user_idx + 1, + input_config_get_device_display_name(user_idx) ? + input_config_get_device_display_name(user_idx) : + (input_config_get_device_name(user_idx) ? + input_config_get_device_name(user_idx) : "N/A")); return 0; } diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 7582dd5649..5ca7ae6b78 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3298,7 +3298,8 @@ static int menu_displaylist_parse_options_remappings( menu_entries_append_enum(info->list, descriptor, "", MSG_UNKNOWN, - (MENU_SETTINGS_INPUT_DESC_KBD_BEGIN + retro_id) * (p + 1), 0, 0); + MENU_SETTINGS_INPUT_DESC_KBD_BEGIN + + (p * RARCH_FIRST_CUSTOM_BIND) + retro_id, 0, 0); } } }