diff --git a/config.def.h b/config.def.h index a3f3fbc10b..5d7e7184eb 100644 --- a/config.def.h +++ b/config.def.h @@ -574,6 +574,8 @@ static unsigned default_menu_btn_scroll_up = RETRO_DEVICE_ID_JOYPAD_L; #if defined(__CELLOS_LV2__) || defined(_XBOX1) || defined(_XBOX360) static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L3_R3; +#elif defined(VITA) +static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L1_R1_START_SELECT; #else static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_NONE; #endif diff --git a/input/drivers_joypad/psp_joypad.c b/input/drivers_joypad/psp_joypad.c index 62b16ca36b..be420416eb 100644 --- a/input/drivers_joypad/psp_joypad.c +++ b/input/drivers_joypad/psp_joypad.c @@ -161,15 +161,8 @@ static void psp_joypad_poll(void) #ifdef HAVE_KERNEL_PRX if (STATE_BUTTON(state_tmp) & PSP_CTRL_NOTE) -#else - if ( - (pad_state & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_L)) - && (pad_state & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_R)) - && (pad_state & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_SELECT)) - && (pad_state & (UINT64_C(1) << RETRO_DEVICE_ID_JOYPAD_START)) - ) + BIT64_SET(lifecycle_state, RARCH_MENU_TOGGLE); #endif - BIT64_SET(lifecycle_state, RARCH_MENU_TOGGLE); } static bool psp_joypad_query_pad(unsigned pad) diff --git a/input/input_driver.h b/input/input_driver.h index cf0ea95ab2..cc6fcdcadb 100644 --- a/input/input_driver.h +++ b/input/input_driver.h @@ -54,6 +54,7 @@ enum input_toggle_type INPUT_TOGGLE_NONE = 0, INPUT_TOGGLE_DOWN_Y_L_R, INPUT_TOGGLE_L3_R3, + INPUT_TOGGLE_L1_R1_START_SELECT, INPUT_TOGGLE_START_SELECT, INPUT_TOGGLE_LAST }; diff --git a/runloop.c b/runloop.c index 7d4ffe555b..8527f1ba0f 100644 --- a/runloop.c +++ b/runloop.c @@ -338,6 +338,16 @@ static bool runloop_cmd_get_state_menu_toggle_button_combo( if (!BIT64_GET(input.state, RETRO_DEVICE_ID_JOYPAD_R3)) return false; break; + case INPUT_TOGGLE_L1_R1_START_SELECT: + if (!BIT64_GET(input.state, RETRO_DEVICE_ID_JOYPAD_START)) + return false; + if (!BIT64_GET(input.state, RETRO_DEVICE_ID_JOYPAD_SELECT)) + return false; + if (!BIT64_GET(input.state, RETRO_DEVICE_ID_JOYPAD_L)) + return false; + if (!BIT64_GET(input.state, RETRO_DEVICE_ID_JOYPAD_R)) + return false; + break; case INPUT_TOGGLE_START_SELECT: if (!BIT64_GET(input.state, RETRO_DEVICE_ID_JOYPAD_START)) return false;