From b087a7441a4e66efd1b5f06cc660599dd0f90b27 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 11 Dec 2016 03:52:08 +0100 Subject: [PATCH] Fix game focus toggle --- input/input_driver.c | 7 +++++++ runloop.c | 13 ++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/input/input_driver.c b/input/input_driver.c index f879ee20ea..45429306e4 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -585,6 +585,13 @@ uint64_t input_menu_keys_pressed( if (!current_input || !current_input_data) goto end; + if (settings->menu.unified_controls) + return input_keys_pressed( + old_input, + last_input, + trigger_input, + runloop_paused); + for (i = 0; i < settings->input.max_users; i++) { struct retro_keybind *auto_binds = settings->input.autoconf_binds[i]; diff --git a/runloop.c b/runloop.c index dd9326258b..29e413d7fe 100644 --- a/runloop.c +++ b/runloop.c @@ -1076,7 +1076,7 @@ static enum runloop_state runloop_check_state( return RUNLOOP_STATE_ITERATE; } -#define runloop_menu_unified_controls_pressed() (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL) && settings->menu.unified_controls) +#define runloop_menu_unified_controls_pressed() (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) /** * runloop_iterate: @@ -1092,18 +1092,17 @@ int runloop_iterate(unsigned *sleep_ms) unsigned i; retro_time_t current, target, to_sleep_ms; uint64_t trigger_input = 0; - uint64_t current_input = 0; static uint64_t last_input = 0; settings_t *settings = config_get_ptr(); uint64_t old_input = last_input; + uint64_t current_input = #ifdef HAVE_MENU - if (!runloop_menu_unified_controls_pressed()) - current_input = input_menu_keys_pressed(old_input, - &last_input, &trigger_input, runloop_paused); - else + runloop_menu_unified_controls_pressed() ? + input_menu_keys_pressed(old_input, + &last_input, &trigger_input, runloop_paused) : #endif - current_input = input_keys_pressed(old_input, &last_input, + input_keys_pressed(old_input, &last_input, &trigger_input, runloop_paused); if (runloop_frame_time.callback)