mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-04-21 03:55:05 +00:00
Prevent forwarding only mouse UP events
Some mouse clicks DOWN are captured for shortcuts, but the matching UP event was still forwarded to the device. Instead, capture both DOWN and UP for shortcuts, and do nothing on UP.
This commit is contained in:
parent
edee69d637
commit
f0f96fbc3d
1 changed files with 10 additions and 4 deletions
|
@ -646,13 +646,17 @@ input_manager_process_mouse_button(struct input_manager *im,
|
|||
}
|
||||
|
||||
bool down = event->type == SDL_MOUSEBUTTONDOWN;
|
||||
if (!im->forward_all_clicks && down) {
|
||||
if (!im->forward_all_clicks) {
|
||||
if (control && event->button == SDL_BUTTON_RIGHT) {
|
||||
press_back_or_turn_screen_on(im->controller);
|
||||
if (down) {
|
||||
press_back_or_turn_screen_on(im->controller);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (control && event->button == SDL_BUTTON_MIDDLE) {
|
||||
action_home(im->controller, ACTION_DOWN | ACTION_UP);
|
||||
if (down) {
|
||||
action_home(im->controller, ACTION_DOWN | ACTION_UP);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -665,7 +669,9 @@ input_manager_process_mouse_button(struct input_manager *im,
|
|||
bool outside = x < r->x || x >= r->x + r->w
|
||||
|| y < r->y || y >= r->y + r->h;
|
||||
if (outside) {
|
||||
screen_resize_to_fit(im->screen);
|
||||
if (down) {
|
||||
screen_resize_to_fit(im->screen);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue