From 3534edcca5e45b7e4ad7f9b7861392b80df5e1a8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 16 Feb 2014 22:35:08 +0100 Subject: [PATCH] (PSP) Reimplement menu toggle - L+R+Select+Start -can't read from PSP_CTRL_NOTE right now --- psp/psp_input.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/psp/psp_input.c b/psp/psp_input.c index d5aff1976f..06005d7761 100644 --- a/psp/psp_input.c +++ b/psp/psp_input.c @@ -98,7 +98,6 @@ static void psp_input_poll(void *data) sceCtrlSetSamplingMode(DEFAULT_SAMPLING_MODE); int ret = CtrlReadBufferPositive(0, &state_tmp, 1); - *lifecycle_state &= ~((1ULL << RARCH_MENU_TOGGLE)); psp->analog_state[0][0][0] = psp->analog_state[0][0][1] = psp->analog_state[0][1][0] = psp->analog_state[0][1][1] = 0; psp->pad_state = 0; psp->pad_state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_LEFT) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_LEFT) : 0; @@ -113,7 +112,19 @@ static void psp_input_poll(void *data) psp->pad_state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_CIRCLE) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_A) : 0; psp->pad_state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_R) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_R) : 0; psp->pad_state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_L) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_L) : 0; - *lifecycle_state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_NOTE) ? (1ULL << RARCH_MENU_TOGGLE) : 0; + + *lifecycle_state &= ~((1ULL << RARCH_MENU_TOGGLE)); + + if ( + (psp->pad_state & (1ULL << RETRO_DEVICE_ID_JOYPAD_L)) + && (psp->pad_state & (1ULL << RETRO_DEVICE_ID_JOYPAD_R)) + && (psp->pad_state & (1ULL << RETRO_DEVICE_ID_JOYPAD_SELECT)) + && (psp->pad_state & (1ULL << RETRO_DEVICE_ID_JOYPAD_START)) + ) + { + *lifecycle_state |= (1ULL << RARCH_MENU_TOGGLE); + RARCH_LOG("Pressed note.\n"); + } #if 0 psp->pad_state |= (STATE_ANALOGLX(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_LSTICK_LEFT_MASK : 0; psp->pad_state |= (STATE_ANALOGLX(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_LSTICK_RIGHT_MASK : 0;