From acc0f2143fb9d9ded8eb83c786dd2fcaee9c6999 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 1 Sep 2020 21:43:19 +0200 Subject: [PATCH] Change input_key_pressed so we no longer need to pass joypad to the poll function callback --- input/drivers/android_input.c | 6 ++---- input/drivers/cocoa_input.c | 2 +- input/drivers/dinput.c | 2 +- input/drivers/gx_input.c | 2 +- input/drivers/linuxraw_input.c | 2 +- input/drivers/ps3_input.c | 2 +- input/drivers/psl1ght_input.c | 2 +- input/drivers/psp_input.c | 2 +- input/drivers/qnx_input.c | 2 +- input/drivers/rwebinput_input.c | 2 +- input/drivers/sdl_input.c | 2 +- input/drivers/switch_input.c | 2 +- input/drivers/udev_input.c | 2 +- input/drivers/uwp_input.c | 2 +- input/drivers/wayland_input.c | 2 +- input/drivers/winraw_input.c | 2 +- input/drivers/x11_input.c | 2 +- input/drivers/xenon360_input.c | 2 +- input/input_driver.h | 2 +- retroarch.c | 12 +++++------- retroarch.h | 3 +-- 21 files changed, 26 insertions(+), 31 deletions(-) diff --git a/input/drivers/android_input.c b/input/drivers/android_input.c index f18fadf13b..a9db99063d 100644 --- a/input/drivers/android_input.c +++ b/input/drivers/android_input.c @@ -1244,18 +1244,16 @@ static void android_input_poll_user(android_input_t *android) /* Handle all events. If our activity is in pause state, * block until we're unpaused. */ -static void android_input_poll(void *data, const void *joypad_data) +static void android_input_poll(void *data) { int ident; struct android_app *android_app = (struct android_app*)g_android; android_input_t *android = (android_input_t*)data; - const input_device_driver_t - *joypad = (const input_device_driver_t*)joypad_data; settings_t *settings = config_get_ptr(); while ((ident = ALooper_pollAll((input_config_binds[0][RARCH_PAUSE_TOGGLE].valid - && input_key_pressed(joypad, RARCH_PAUSE_TOGGLE, + && input_key_pressed(RARCH_PAUSE_TOGGLE, ANDROID_KEYBOARD_PORT_INPUT_PRESSED(input_config_binds[0], RARCH_PAUSE_TOGGLE))) ? -1 : settings->uints.input_block_timeout, diff --git a/input/drivers/cocoa_input.c b/input/drivers/cocoa_input.c index a93d78cf12..e128399312 100644 --- a/input/drivers/cocoa_input.c +++ b/input/drivers/cocoa_input.c @@ -333,7 +333,7 @@ static void *cocoa_input_init(const char *joypad_driver) return apple; } -static void cocoa_input_poll(void *data, const void *joypad_data) +static void cocoa_input_poll(void *data) { uint32_t i; cocoa_input_data_t *apple = (cocoa_input_data_t*)data; diff --git a/input/drivers/dinput.c b/input/drivers/dinput.c index 191b4df0c1..1ea410e7d4 100644 --- a/input/drivers/dinput.c +++ b/input/drivers/dinput.c @@ -190,7 +190,7 @@ static void *dinput_init(const char *joypad_driver) return di; } -static void dinput_poll(void *data, const void *joypad_data) +static void dinput_poll(void *data) { struct dinput_input *di = (struct dinput_input*)data; uint8_t *kb_state = NULL; diff --git a/input/drivers/gx_input.c b/input/drivers/gx_input.c index 5ff4a652a3..19e3ddb7d8 100644 --- a/input/drivers/gx_input.c +++ b/input/drivers/gx_input.c @@ -232,7 +232,7 @@ static INLINE int rvl_count_mouse(gx_input_t *gx) return count; } -static void rvl_input_poll(void *data, const void *joypad_data) +static void rvl_input_poll(void *data) { gx_input_t *gx = (gx_input_t*)data; if (gx && gx->mouse) diff --git a/input/drivers/linuxraw_input.c b/input/drivers/linuxraw_input.c index 7ae2259c3b..b5c0750a44 100644 --- a/input/drivers/linuxraw_input.c +++ b/input/drivers/linuxraw_input.c @@ -190,7 +190,7 @@ static bool linuxraw_set_rumble( return false; } -static void linuxraw_input_poll(void *data, const void *joypad_data) +static void linuxraw_input_poll(void *data) { uint8_t c; linuxraw_input_t *linuxraw = (linuxraw_input_t*)data; diff --git a/input/drivers/ps3_input.c b/input/drivers/ps3_input.c index 5c56348caf..2e97a3778f 100644 --- a/input/drivers/ps3_input.c +++ b/input/drivers/ps3_input.c @@ -54,7 +54,7 @@ typedef struct ps3_input } ps3_input_t; #ifdef HAVE_MOUSE -static void ps3_input_poll(void *data, const void *joypad_data) +static void ps3_input_poll(void *data) { CellMouseInfo mouse_info; ps3_input_t *ps3 = (ps3_input_t*)data; diff --git a/input/drivers/psl1ght_input.c b/input/drivers/psl1ght_input.c index 7b3af5747f..0f604762ae 100644 --- a/input/drivers/psl1ght_input.c +++ b/input/drivers/psl1ght_input.c @@ -82,7 +82,7 @@ static void ps3_disconnect_keyboard(ps3_input_t *ps3, int port) ps3->connected[port] = 0; } -static void ps3_input_poll(void *data, const void *joypad_data) +static void ps3_input_poll(void *data) { unsigned i, j; ps3_input_t *ps3 = (ps3_input_t*)data; diff --git a/input/drivers/psp_input.c b/input/drivers/psp_input.c index 691ad153c7..237279ce91 100644 --- a/input/drivers/psp_input.c +++ b/input/drivers/psp_input.c @@ -88,7 +88,7 @@ typedef struct psp_input bool sensors_enabled; } psp_input_t; -static void vita_input_poll(void *data, const void *joypad_data) +static void vita_input_poll(void *data) { psp_input_t *psp = (psp_input_t*)data; unsigned int i = 0; diff --git a/input/drivers/qnx_input.c b/input/drivers/qnx_input.c index e0736c430c..708f38c2b8 100644 --- a/input/drivers/qnx_input.c +++ b/input/drivers/qnx_input.c @@ -705,7 +705,7 @@ static void *qnx_input_init(const char *joypad_driver) return qnx; } -static void qnx_input_poll(void *data, const void *joypad_data) +static void qnx_input_poll(void *data) { qnx_input_t *qnx = (qnx_input_t*)data; diff --git a/input/drivers/rwebinput_input.c b/input/drivers/rwebinput_input.c index 72a577b411..fc4fd74f19 100644 --- a/input/drivers/rwebinput_input.c +++ b/input/drivers/rwebinput_input.c @@ -650,7 +650,7 @@ static void rwebinput_process_keyboard_events( rwebinput->keys[translated_keycode] = keydown; } -static void rwebinput_input_poll(void *data, const void *joypad_data) +static void rwebinput_input_poll(void *data) { size_t i; rwebinput_input_t *rwebinput = (rwebinput_input_t*)data; diff --git a/input/drivers/sdl_input.c b/input/drivers/sdl_input.c index 5e406139cd..503bba08f3 100644 --- a/input/drivers/sdl_input.c +++ b/input/drivers/sdl_input.c @@ -328,7 +328,7 @@ static void sdl_poll_mouse(sdl_input_t *sdl) #endif } -static void sdl_input_poll(void *data, const void *joypad_data) +static void sdl_input_poll(void *data) { SDL_Event event; sdl_input_t *sdl = (sdl_input_t*)data; diff --git a/input/drivers/switch_input.c b/input/drivers/switch_input.c index 3b342d8d5e..96d641c76f 100644 --- a/input/drivers/switch_input.c +++ b/input/drivers/switch_input.c @@ -148,7 +148,7 @@ static void finish_simulated_mouse_clicks(switch_input_t *sw, uint64_t currentTi #endif #ifdef HAVE_LIBNX -static void switch_input_poll(void *data, const void *joypad_data) +static void switch_input_poll(void *data) { MousePosition mouse_pos; unsigned int i = 0; diff --git a/input/drivers/udev_input.c b/input/drivers/udev_input.c index ded146413f..83f4b87aef 100644 --- a/input/drivers/udev_input.c +++ b/input/drivers/udev_input.c @@ -704,7 +704,7 @@ static bool udev_input_poll_hotplug_available(struct udev_monitor *dev) return (poll(&fds, 1, 0) == 1) && (fds.revents & POLLIN); } -static void udev_input_poll(void *data, const void *joypad_data) +static void udev_input_poll(void *data) { int i, ret; #if defined(HAVE_EPOLL) diff --git a/input/drivers/uwp_input.c b/input/drivers/uwp_input.c index c5e08a4ac1..c016963e94 100644 --- a/input/drivers/uwp_input.c +++ b/input/drivers/uwp_input.c @@ -34,7 +34,7 @@ typedef struct uwp_input void *empty; } uwp_input_t; -static void uwp_input_poll(void *data, const void *joypad_data) +static void uwp_input_poll(void *data) { uwp_input_next_frame(); } diff --git a/input/drivers/wayland_input.c b/input/drivers/wayland_input.c index ee59041f02..61956f82a5 100644 --- a/input/drivers/wayland_input.c +++ b/input/drivers/wayland_input.c @@ -64,7 +64,7 @@ static bool wayland_context_gettouchpos( return wl->active_touch_positions[id].active; } -static void input_wl_poll(void *data, const void *joypad_data) +static void input_wl_poll(void *data) { int id; unsigned touch_x = 0; diff --git a/input/drivers/winraw_input.c b/input/drivers/winraw_input.c index f00cc15ceb..5111f0831b 100644 --- a/input/drivers/winraw_input.c +++ b/input/drivers/winraw_input.c @@ -505,7 +505,7 @@ error: return NULL; } -static void winraw_poll(void *data, const void *joypad_data) +static void winraw_poll(void *data) { unsigned i; winraw_input_t *wr = (winraw_input_t*)data; diff --git a/input/drivers/x11_input.c b/input/drivers/x11_input.c index ae2d59723b..77a836d195 100644 --- a/input/drivers/x11_input.c +++ b/input/drivers/x11_input.c @@ -641,7 +641,7 @@ static void x_input_free(void *data) free(x11); } -static void x_input_poll(void *data, const void *joypad_data) +static void x_input_poll(void *data) { unsigned mask; int root_x, root_y, win_x, win_y; diff --git a/input/drivers/xenon360_input.c b/input/drivers/xenon360_input.c index fd0bfaa5df..aec38e24ee 100644 --- a/input/drivers/xenon360_input.c +++ b/input/drivers/xenon360_input.c @@ -33,7 +33,7 @@ /* TODO/FIXME - static global variable */ static uint64_t state[DEFAULT_MAX_PADS]; -static void xenon360_input_poll(void *data, const void *joypad_data) +static void xenon360_input_poll(void *data) { unsigned i; diff --git a/input/input_driver.h b/input/input_driver.h index 1b755cfbc8..ecde7f4ee8 100644 --- a/input/input_driver.h +++ b/input/input_driver.h @@ -173,7 +173,7 @@ struct input_driver void *(*init)(const char *joypad_driver); /* Polls input. Called once every frame. */ - void (*poll)(void *data, const void *joypad_data); + void (*poll)(void *data); /* Queries input state for a certain key on a certain player. * Players are 1 - MAX_USERS. diff --git a/retroarch.c b/retroarch.c index 7e273526d0..d9e3be64b4 100644 --- a/retroarch.c +++ b/retroarch.c @@ -675,7 +675,7 @@ static const gfx_ctx_driver_t *gfx_ctx_gl_drivers[] = { }; static void *input_null_init(const char *joypad_driver) { return (void*)-1; } -static void input_null_poll(void *data, const void *joypad_data) { } +static void input_null_poll(void *data) { } static int16_t input_null_input_state( void *data, const input_device_driver_t *joypad, @@ -15456,8 +15456,7 @@ static void command_event_reinit(struct rarch_state *p_rarch, if (p_rarch->sec_joypad->poll) p_rarch->sec_joypad->poll(); #endif - p_rarch->current_input->poll(p_rarch->current_input_data, - p_rarch->joypad); + p_rarch->current_input->poll(p_rarch->current_input_data); } command_event(CMD_EVENT_GAME_FOCUS_TOGGLE, (void*)(intptr_t)-1); @@ -23700,8 +23699,7 @@ static void input_driver_poll(void) if (p_rarch->sec_joypad->poll) p_rarch->sec_joypad->poll(); #endif - p_rarch->current_input->poll(p_rarch->current_input_data, - p_rarch->joypad); + p_rarch->current_input->poll(p_rarch->current_input_data); p_rarch->input_driver_turbo_btns.count++; @@ -26652,13 +26650,13 @@ bool input_joypad_set_rumble(const input_device_driver_t *drv, return drv->set_rumble(joy_idx, effect, strength); } -bool input_key_pressed(const void *data, int key, bool keyboard_pressed) +bool input_key_pressed(int key, bool keyboard_pressed) { rarch_joypad_info_t joypad_info; struct rarch_state *p_rarch = &rarch_st; const input_device_driver_t - *joypad = (const input_device_driver_t*)data; + *joypad = (const input_device_driver_t*)p_rarch->joypad; joypad_info.joy_idx = 0; joypad_info.auto_binds = input_autoconf_binds[0]; joypad_info.axis_threshold = p_rarch->input_driver_axis_threshold; diff --git a/retroarch.h b/retroarch.h index 124e94baad..c7e84cecc8 100644 --- a/retroarch.h +++ b/retroarch.h @@ -1980,8 +1980,7 @@ void retroarch_init_task_queue(void); bool is_input_keyboard_display_on(void); -bool input_key_pressed(const void *data, - int key, bool keyboard_pressed); +bool input_key_pressed(int key, bool keyboard_pressed); const char *joypad_driver_name(unsigned i); void joypad_driver_reinit(void *data, const char *joypad_driver_name);