diff --git a/android/native/jni/input_android.c b/android/native/jni/input_android.c index 94144279b3..c1190a6786 100644 --- a/android/native/jni/input_android.c +++ b/android/native/jni/input_android.c @@ -467,11 +467,6 @@ static void android_input_poll(void *data) else if (ident == LOOPER_ID_MAIN) engine_handle_cmd(); } - - if (!(g_extern.frame_count < g_extern.delay_timer[0]) && g_extern.lifecycle_state & (1ULL << RARCH_RMENU_TOGGLE)) - { - g_extern.lifecycle_state |= (1ULL << RARCH_QUIT_KEY); - } } static int16_t android_input_state(void *data, const struct retro_keybind **binds, unsigned port, unsigned device, unsigned index, unsigned id) diff --git a/gx/gx_input.c b/gx/gx_input.c index 318a6eddf2..8c75e0d7c1 100644 --- a/gx/gx_input.c +++ b/gx/gx_input.c @@ -528,10 +528,7 @@ static void gx_input_poll(void *data) | GX_CLASSIC_HOME #endif )) - { *lifecycle_state |= (1ULL << RARCH_RMENU_TOGGLE); - *lifecycle_state |= (1ULL << RARCH_QUIT_KEY); - } } } diff --git a/ps3/ps3_input.c b/ps3/ps3_input.c index 0fd318f67e..02633b1a50 100644 --- a/ps3/ps3_input.c +++ b/ps3/ps3_input.c @@ -210,14 +210,11 @@ static void ps3_input_poll(void *data) if (!(g_extern.frame_count < g_extern.delay_timer[0])) { if ((*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_L3)) && (*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_R3))) - { *lifecycle_state |= (1ULL << RARCH_RMENU_TOGGLE); - *lifecycle_state |= (1ULL << RARCH_QUIT_KEY); - } if (!(*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_L3)) && (*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_R3))) { + *lifecycle_state |= (1ULL << RARCH_RMENU_TOGGLE); *lifecycle_state |= (1ULL << RARCH_RMENU_QUICKMENU_TOGGLE); - *lifecycle_state |= (1ULL << RARCH_QUIT_KEY); } } diff --git a/retroarch.c b/retroarch.c index dc3345e5d2..fd9d342d75 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2793,25 +2793,26 @@ bool rarch_main_iterate(void) } // Time to drop? - if (input_key_pressed_func(RARCH_QUIT_KEY) || - !video_alive_func()) + if (input_key_pressed_func(RARCH_QUIT_KEY) || !video_alive_func()) { #ifdef HAVE_RMENU - bool rmenu_enable = input_key_pressed_func(RARCH_RMENU_TOGGLE); - if (input_key_pressed_func(RARCH_RMENU_QUICKMENU_TOGGLE)) - g_extern.lifecycle_mode_state |= (1ULL << MODE_MENU_INGAME); - - if (rmenu_enable || ((g_extern.lifecycle_mode_state & (1ULL << MODE_MENU_INGAME)) && !rmenu_enable)) - { - g_extern.lifecycle_mode_state |= (1ULL << MODE_MENU); - g_extern.delay_timer[0] = g_extern.frame_count + 30; - } - else - g_extern.lifecycle_mode_state |= (1ULL << MODE_EXIT); + g_extern.lifecycle_mode_state |= (1ULL << MODE_EXIT); #endif return false; } +#ifdef HAVE_RMENU + if (input_key_pressed_func(RARCH_RMENU_TOGGLE)) + { + if (input_key_pressed_func(RARCH_RMENU_QUICKMENU_TOGGLE)) + g_extern.lifecycle_mode_state |= (1ULL << MODE_MENU_INGAME); + + g_extern.lifecycle_mode_state |= (1ULL << MODE_MENU); + g_extern.delay_timer[0] = g_extern.frame_count + 30; + return false; + } +#endif + #ifdef HAVE_COMMAND if (driver.command) rarch_cmd_pre_frame(driver.command); diff --git a/xdk/xdk_xinput_input.c b/xdk/xdk_xinput_input.c index 4e2ec607ce..b18236abc3 100644 --- a/xdk/xdk_xinput_input.c +++ b/xdk/xdk_xinput_input.c @@ -231,14 +231,11 @@ static void xdk_input_poll(void *data) if (!(g_extern.frame_count < g_extern.delay_timer[0])) { if((*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_L3)) && (*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_R3))) - { *lifecycle_state |= (1ULL << RARCH_RMENU_TOGGLE); - *lifecycle_state |= (1ULL << RARCH_QUIT_KEY); - } if(!(*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_L3)) && (*state_p1 & (1ULL << RETRO_DEVICE_ID_JOYPAD_R3))) { + *lifecycle_state |= (1ULL << RARCH_RMENU_TOGGLE); *lifecycle_state |= (1ULL << RARCH_RMENU_QUICKMENU_TOGGLE); - *lifecycle_state |= (1ULL << RARCH_QUIT_KEY); } } }