Fix Python codepath

This commit is contained in:
twinaphex 2018-02-19 09:11:08 +01:00
parent a453819732
commit 5139241e87
3 changed files with 19 additions and 2 deletions

View File

@ -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);

View File

@ -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:
*

View File

@ -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);