From 64d6e0facff9e67cb3cbcaf4f9fcd0d13b163494 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 2 Aug 2016 16:48:54 +0200 Subject: [PATCH] (Vita) Implement proper gamepad menu toggle combo for Vita, and remove old hack --- config.def.h | 2 ++ input/drivers_joypad/psp_joypad.c | 9 +-------- input/input_driver.h | 1 + runloop.c | 10 ++++++++++ 4 files changed, 14 insertions(+), 8 deletions(-) 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;