diff --git a/input/drivers/psp_input.c b/input/drivers/psp_input.c index d64194033c..50d0317f38 100644 --- a/input/drivers/psp_input.c +++ b/input/drivers/psp_input.c @@ -43,6 +43,7 @@ typedef struct psp_input { bool blocked; const input_device_driver_t *joypad; + uint64_t lifecycle_state; } psp_input_t; static void psp_input_poll(void *data) @@ -99,10 +100,9 @@ static void* psp_input_initialize(void) static bool psp_input_key_pressed(void *data, int key) { settings_t *settings = config_get_ptr(); - global_t *global = global_get_ptr(); psp_input_t *psp = (psp_input_t*)data; - return (global->lifecycle_state & (1ULL << key)) || + return (psp->lifecycle_state & (1ULL << key)) || input_joypad_pressed(psp->joypad, 0, settings->input.binds[0], key); } diff --git a/input/drivers_joypad/psp_joypad.c b/input/drivers_joypad/psp_joypad.c index b78f18224c..5e52a049ff 100644 --- a/input/drivers_joypad/psp_joypad.c +++ b/input/drivers_joypad/psp_joypad.c @@ -110,9 +110,9 @@ static int16_t psp_joypad_axis(unsigned port_num, uint32_t joyaxis) static void psp_joypad_poll(void) { int32_t ret; + unsigned i, j; SceCtrlData state_tmp; - global_t *global = global_get_ptr(); - uint64_t *lifecycle_state = (uint64_t*)&global->lifecycle_state; + psp_input_t *psp = (psp_input_t*)input_driver_get_ptr(); #ifdef PSP sceCtrlSetSamplingCycle(0); @@ -147,12 +147,12 @@ static void psp_joypad_poll(void) analog_state[0][RETRO_DEVICE_INDEX_ANALOG_RIGHT][RETRO_DEVICE_ID_ANALOG_Y] = (int16_t)(STATE_ANALOGRY(state_tmp)-128) * 256; #endif - for (int i = 0; i < 2; i++) - for (int j = 0; j < 2; j++) + for (i = 0; i < 2; i++) + for (j = 0; j < 2; j++) if (analog_state[0][i][j] == -0x8000) analog_state[0][i][j] = -0x7fff; - *lifecycle_state &= ~((1ULL << RARCH_MENU_TOGGLE)); + psp->lifecycle_state &= ~((1ULL << RARCH_MENU_TOGGLE)); #ifdef HAVE_KERNEL_PRX if (STATE_BUTTON(state_tmp) & PSP_CTRL_NOTE) @@ -164,7 +164,7 @@ static void psp_joypad_poll(void) && (pad_state & (1ULL << RETRO_DEVICE_ID_JOYPAD_START)) ) #endif - *lifecycle_state |= (1ULL << RARCH_MENU_TOGGLE); + psp->lifecycle_state |= (1ULL << RARCH_MENU_TOGGLE); } static bool psp_joypad_query_pad(unsigned pad)