From 5139241e87c5b11d852c573fbb951374d13a55f5 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 19 Feb 2018 09:11:08 +0100 Subject: [PATCH] Fix Python codepath --- gfx/drivers_tracker/video_state_python.c | 4 ++-- input/input_driver.c | 12 ++++++++++++ input/input_driver.h | 5 +++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gfx/drivers_tracker/video_state_python.c b/gfx/drivers_tracker/video_state_python.c index cf3bac5ff3..3e4e1afb99 100644 --- a/gfx/drivers_tracker/video_state_python.c +++ b/gfx/drivers_tracker/video_state_python.c @@ -128,7 +128,7 @@ static PyObject *py_read_input(PyObject *self, PyObject *args) joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx]; if (!input_driver_is_libretro_input_blocked()) - res = current_input->input_state(current_input_data, joypad_info, + res = input_driver_input_state(joypad_info, py_binds, user - 1, RETRO_DEVICE_JOYPAD, 0, key); return PyBool_FromLong(res); @@ -156,7 +156,7 @@ static PyObject *py_read_analog(PyObject *self, PyObject *args) joypad_info.joy_idx = settings->uints.input_joypad_map[user - 1]; joypad_info.auto_binds = input_autoconf_binds[joypad_info.joy_idx]; - res = current_input->input_state(current_input_data, + res = input_driver_input_state( joypad_info, py_binds, user - 1, RETRO_DEVICE_ANALOG, index, id); return PyFloat_FromDouble((double)res / 0x7fff); diff --git a/input/input_driver.c b/input/input_driver.c index e5e31b7fbe..0e42a4584d 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -1035,6 +1035,18 @@ void input_menu_keys_pressed(void *data, retro_bits_t* p_new_state) } #endif +int16_t input_driver_input_state( + rarch_joypad_info_t joypad_info, + const struct retro_keybind **retro_keybinds, + unsigned port, unsigned device, unsigned index, unsigned id) +{ + if (current_input && current_input->input_state) + return current_input->input_state(current_input_data, joypad_info, + retro_keybinds, + port, device, index, id); + return 0; +} + /** * input_keys_pressed: * diff --git a/input/input_driver.h b/input/input_driver.h index b3c53ab8d2..2ef47c7d24 100644 --- a/input/input_driver.h +++ b/input/input_driver.h @@ -407,6 +407,11 @@ bool input_driver_grab_mouse(void); bool input_driver_ungrab_mouse(void); +int16_t input_driver_input_state( + rarch_joypad_info_t joypad_info, + const struct retro_keybind **retro_keybinds, + unsigned port, unsigned device, unsigned index, unsigned id); + float *input_driver_get_float(enum input_action action); unsigned *input_driver_get_uint(enum input_action action);