static int16_t sdl_input_state(void *data_, const struct retro_keybind **binds, unsigned port, unsigned device, unsigned idx, unsigned id) { enum input_device_type type = INPUT_DEVICE_TYPE_NONE; sdl_input_t *data = (sdl_input_t*)data_; switch (device) { case RETRO_DEVICE_JOYPAD: return sdl_joypad_device_state(data, binds, port, id, &type); case RETRO_DEVICE_ANALOG: return sdl_analog_device_state(data, binds, port, idx, id); case RETRO_DEVICE_MOUSE: return sdl_mouse_device_state(data, id); case RETRO_DEVICE_POINTER: case RARCH_DEVICE_POINTER_SCREEN: return sdl_pointer_device_state(data, idx, id, device == RARCH_DEVICE_POINTER_SCREEN); case RETRO_DEVICE_KEYBOARD: return sdl_keyboard_device_state(data, id); case RETRO_DEVICE_LIGHTGUN: return sdl_lightgun_device_state(data, id); } return 0; }
static int16_t sdl_input_state(void *data_, const struct snes_keybind **binds, unsigned port, unsigned device, unsigned index, unsigned id) { sdl_input_t *data = (sdl_input_t*)data_; switch (device) { case RETRO_DEVICE_JOYPAD: return sdl_joypad_device_state(data, binds, port, id); case RETRO_DEVICE_ANALOG: return sdl_analog_device_state(data, binds, port, index, id); case RETRO_DEVICE_MOUSE: return sdl_mouse_device_state(data, id); case RETRO_DEVICE_LIGHTGUN: return sdl_lightgun_device_state(data, id); default: return 0; } }