diff --git a/input/input_driver.c b/input/input_driver.c index 6180c40d59..47e95ed246 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -554,14 +554,18 @@ static INLINE bool input_menu_keys_pressed_internal( for (port = 0; port < port_max; port++) { - bool bind_valid = binds[port][i].valid; + const input_device_driver_t *first = current_input->get_joypad_driver + ? current_input->get_joypad_driver(current_input_data) : NULL; + const input_device_driver_t *sec = current_input->get_sec_joypad_driver + ? current_input->get_sec_joypad_driver(current_input_data) : NULL; joypad_info.joy_idx = port; joypad_info.auto_binds = settings->input.autoconf_binds[port]; + joypad_info.axis_threshold = settings->input.axis_threshold; - if (bind_valid && current_input->input_state(current_input_data, joypad_info, - binds, - port, RETRO_DEVICE_JOYPAD, 0, i)) + if (sec && input_joypad_pressed(sec, joypad_info, port, settings->input.binds[0], i)) + return true; + if (first && input_joypad_pressed(first, joypad_info, port, settings->input.binds[0], i)) return true; } }