Block pointer input when overlay is pressed

This commit is contained in:
sonninnos 2022-06-16 16:49:51 +03:00
parent e759f81149
commit 53be17aee2
2 changed files with 12 additions and 4 deletions

View File

@ -2052,10 +2052,14 @@ void input_poll_overlay(
break; break;
} }
if (input_overlay_show_inputs != OVERLAY_SHOW_INPUT_NONE) button_pressed = input_overlay_add_inputs(ol,
button_pressed = input_overlay_add_inputs(ol, (input_overlay_show_inputs == OVERLAY_SHOW_INPUT_TOUCHED),
(input_overlay_show_inputs == OVERLAY_SHOW_INPUT_TOUCHED), input_overlay_show_inputs_port);
input_overlay_show_inputs_port);
input_st->block_pointer_input = button_pressed;
if (input_overlay_show_inputs == OVERLAY_SHOW_INPUT_NONE)
button_pressed = false;
if (button_pressed || polled) if (button_pressed || polled)
input_overlay_post_poll(overlay_visibility, ol, input_overlay_post_poll(overlay_visibility, ol,
@ -3977,6 +3981,9 @@ int16_t input_state_device(
case RETRO_DEVICE_LIGHTGUN: case RETRO_DEVICE_LIGHTGUN:
case RETRO_DEVICE_POINTER: case RETRO_DEVICE_POINTER:
if (input_st->block_pointer_input)
break;
if (id < RARCH_FIRST_META_KEY) if (id < RARCH_FIRST_META_KEY)
{ {
bool bind_valid = input_st->libretro_input_binds[port] bool bind_valid = input_st->libretro_input_binds[port]

View File

@ -436,6 +436,7 @@ typedef struct
bool block_hotkey; bool block_hotkey;
bool block_libretro_input; bool block_libretro_input;
bool block_pointer_input;
bool grab_mouse_state; bool grab_mouse_state;
bool analog_requested[MAX_USERS]; bool analog_requested[MAX_USERS];
bool keyboard_mapping_blocked; bool keyboard_mapping_blocked;