mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Create RARCH_INPUT_CTL_GRAB_MOUSE
This commit is contained in:
parent
ac31eeb360
commit
24bafd7ab9
@ -1635,7 +1635,7 @@ bool event_cmd_ctl(enum event_command cmd, void *data)
|
||||
|
||||
grab_mouse_state = !grab_mouse_state;
|
||||
|
||||
if (!input_driver_grab_mouse(grab_mouse_state))
|
||||
if (!input_driver_ctl(RARCH_INPUT_CTL_GRAB_MOUSE, &grab_mouse_state))
|
||||
return false;
|
||||
|
||||
RARCH_LOG("%s: %s.\n",
|
||||
|
@ -165,10 +165,10 @@ const input_driver_t **input_get_double_ptr(void)
|
||||
bool input_driver_set_rumble_state(unsigned port,
|
||||
enum retro_rumble_effect effect, uint16_t strength)
|
||||
{
|
||||
if (current_input->set_rumble)
|
||||
return current_input->set_rumble(current_input_data,
|
||||
port, effect, strength);
|
||||
return false;
|
||||
if (!current_input || !current_input->set_rumble)
|
||||
return false;
|
||||
return current_input->set_rumble(current_input_data,
|
||||
port, effect, strength);
|
||||
}
|
||||
|
||||
int16_t input_driver_state(const struct retro_keybind **retro_keybinds,
|
||||
@ -180,33 +180,28 @@ int16_t input_driver_state(const struct retro_keybind **retro_keybinds,
|
||||
|
||||
const input_device_driver_t *input_driver_get_joypad_driver(void)
|
||||
{
|
||||
if (current_input->get_joypad_driver)
|
||||
return current_input->get_joypad_driver(current_input_data);
|
||||
return NULL;
|
||||
if (!current_input || !current_input->get_joypad_driver)
|
||||
return NULL;
|
||||
return current_input->get_joypad_driver(current_input_data);
|
||||
}
|
||||
|
||||
const input_device_driver_t *input_driver_get_sec_joypad_driver(void)
|
||||
{
|
||||
if (current_input->get_sec_joypad_driver)
|
||||
return current_input->get_sec_joypad_driver(current_input_data);
|
||||
return NULL;
|
||||
if (!current_input || !current_input->get_sec_joypad_driver)
|
||||
return NULL;
|
||||
return current_input->get_sec_joypad_driver(current_input_data);
|
||||
}
|
||||
|
||||
uint64_t input_driver_get_capabilities(void)
|
||||
{
|
||||
if (current_input->get_capabilities)
|
||||
return current_input->get_capabilities(current_input_data);
|
||||
return 0;
|
||||
if (!current_input || !current_input->get_capabilities)
|
||||
return 0;
|
||||
return current_input->get_capabilities(current_input_data);
|
||||
}
|
||||
|
||||
bool input_driver_grab_mouse(bool state)
|
||||
{
|
||||
if (current_input->grab_mouse)
|
||||
{
|
||||
current_input->grab_mouse(current_input_data, state);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void input_driver_set(const input_driver_t **input, void **input_data)
|
||||
@ -843,6 +838,15 @@ bool input_driver_ctl(enum rarch_input_ctl_state state, void *data)
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case RARCH_INPUT_CTL_GRAB_MOUSE:
|
||||
{
|
||||
bool *bool_data = (bool*)data;
|
||||
if (!current_input || !current_input->grab_mouse)
|
||||
return false;
|
||||
|
||||
current_input->grab_mouse(current_input_data, *bool_data);
|
||||
}
|
||||
break;
|
||||
case RARCH_INPUT_CTL_NONE:
|
||||
default:
|
||||
break;
|
||||
|
@ -82,7 +82,8 @@ enum rarch_input_ctl_state
|
||||
RARCH_INPUT_CTL_COMMAND_DEINIT,
|
||||
RARCH_INPUT_CTL_REMOTE_INIT,
|
||||
RARCH_INPUT_CTL_REMOTE_DEINIT,
|
||||
RARCH_INPUT_CTL_KEY_PRESSED
|
||||
RARCH_INPUT_CTL_KEY_PRESSED,
|
||||
RARCH_INPUT_CTL_GRAB_MOUSE
|
||||
};
|
||||
|
||||
struct retro_keybind
|
||||
@ -198,8 +199,6 @@ const input_device_driver_t * input_driver_get_joypad_driver(void);
|
||||
|
||||
const input_device_driver_t * input_driver_get_sec_joypad_driver(void);
|
||||
|
||||
bool input_driver_grab_mouse(bool state);
|
||||
|
||||
void input_driver_keyboard_mapping_set_block(bool value);
|
||||
|
||||
void input_driver_set(const input_driver_t **input, void **input_data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user