add cooldown on ok/back buttons in menu, fixes weird wii bug with load core menu
This commit is contained in:
parent
b0b9ff8d8d
commit
5e6840a9a5
|
@ -970,6 +970,7 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input)
|
||||||
unsigned ret = 0;
|
unsigned ret = 0;
|
||||||
static bool initial_held = true;
|
static bool initial_held = true;
|
||||||
static bool first_held = false;
|
static bool first_held = false;
|
||||||
|
static int cooldown = 0;
|
||||||
static const retro_input_t input_repeat =
|
static const retro_input_t input_repeat =
|
||||||
(1UL << RETRO_DEVICE_ID_JOYPAD_UP)
|
(1UL << RETRO_DEVICE_ID_JOYPAD_UP)
|
||||||
| (1UL << RETRO_DEVICE_ID_JOYPAD_DOWN)
|
| (1UL << RETRO_DEVICE_ID_JOYPAD_DOWN)
|
||||||
|
@ -1041,10 +1042,16 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input)
|
||||||
ret = MENU_ACTION_SCROLL_UP;
|
ret = MENU_ACTION_SCROLL_UP;
|
||||||
else if (trigger_input & (1ULL << settings->menu_scroll_down_btn))
|
else if (trigger_input & (1ULL << settings->menu_scroll_down_btn))
|
||||||
ret = MENU_ACTION_SCROLL_DOWN;
|
ret = MENU_ACTION_SCROLL_DOWN;
|
||||||
else if (trigger_input & (1ULL << settings->menu_cancel_btn))
|
else if (trigger_input & (1ULL << settings->menu_cancel_btn) && !cooldown)
|
||||||
|
{
|
||||||
ret = MENU_ACTION_CANCEL;
|
ret = MENU_ACTION_CANCEL;
|
||||||
else if (trigger_input & (1ULL << settings->menu_ok_btn))
|
cooldown = 20;
|
||||||
|
}
|
||||||
|
else if (trigger_input & (1ULL << settings->menu_ok_btn) && !cooldown)
|
||||||
|
{
|
||||||
ret = MENU_ACTION_OK;
|
ret = MENU_ACTION_OK;
|
||||||
|
cooldown = 20;
|
||||||
|
}
|
||||||
else if (trigger_input & (1ULL << settings->menu_search_btn))
|
else if (trigger_input & (1ULL << settings->menu_search_btn))
|
||||||
ret = MENU_ACTION_SEARCH;
|
ret = MENU_ACTION_SEARCH;
|
||||||
else if (trigger_input & (1ULL << RETRO_DEVICE_ID_JOYPAD_Y))
|
else if (trigger_input & (1ULL << RETRO_DEVICE_ID_JOYPAD_Y))
|
||||||
|
@ -1064,6 +1071,9 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input)
|
||||||
if (settings->menu.pointer.enable)
|
if (settings->menu.pointer.enable)
|
||||||
menu_input_pointer(&ret);
|
menu_input_pointer(&ret);
|
||||||
|
|
||||||
|
if (cooldown > 0)
|
||||||
|
cooldown--;
|
||||||
|
|
||||||
if (trigger_input &&
|
if (trigger_input &&
|
||||||
menu_ctx_driver_get_ptr()->perform_action &&
|
menu_ctx_driver_get_ptr()->perform_action &&
|
||||||
menu_ctx_driver_get_ptr()->perform_action(menu->userdata, ret))
|
menu_ctx_driver_get_ptr()->perform_action(menu->userdata, ret))
|
||||||
|
|
Loading…
Reference in New Issue