Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve mouse buttons events #2259

Closed
wants to merge 3 commits into from
Closed

Improve mouse buttons events #2259

wants to merge 3 commits into from

Conversation

rom1v
Copy link
Collaborator

@rom1v rom1v commented Apr 16, 2021

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.

After than, forward middle-click and right-click shortcuts (respectively HOME and BACK-if-screen-is-off) respecting the DOWN and UP events from the mouse. This is consistent with the keyboard shortcuts.

Read individual commits for more details.

rom1v added 3 commits April 16, 2021 17:53
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.
With this change, the actual HOME is handled by Android on UP on the
device. This is consistent with the keyboard shortcut (MOD+h) behavior.
The shortcut "back on screen on" is a bit special: the control is
requested by the client, but the actual event injection (POWER or BACK)
is determined on the device.

To properly inject DOWN and UP events for BACK, transmit the action as
a control parameter.

If the screen is off:
 - on DOWN, inject POWER (DOWN and UP) (wake up the device immediately)
 - on UP, do nothing
If the screen is on:
 - on DOWN, inject BACK DOWN
 - on UP, inject BACK UP

A corner case is when the screen turns off between the DOWN and UP
event. In that case, a BACK UP event will be injected, so it's harmless.

With this change, the actual BACK is handled by Android on UP on the
device (instead of DOWN). This is consistent with the keyboard shortcut
(Mod+b) behavior.
rom1v added a commit that referenced this pull request Apr 17, 2021
Some mouse clicks DOWN are captured for shortcuts, but the matching UP
events were still forwarded to the device.

Instead, capture both DOWN and UP for shortcuts, and do nothing on UP.

PR #2259 <#2259>
Refs #2258 <#2258>
rom1v added a commit that referenced this pull request Apr 17, 2021
As a consequence of this change, the HOME button is now handled by
Android on mouse released. This is consistent with the keyboard shortcut
(MOD+h) behavior.

PR #2259 <#2259>
Refs #2258 <#2258>
rom1v added a commit that referenced this pull request Apr 17, 2021
The shortcut "back on screen on" is a bit special: the control is
requested by the client, but the actual event injection (POWER or BACK)
is determined on the device.

To properly inject DOWN and UP events for BACK, transmit the action as
a control parameter.

If the screen is off:
 - on DOWN, inject POWER (DOWN and UP) (wake up the device immediately)
 - on UP, do nothing
If the screen is on:
 - on DOWN, inject BACK DOWN
 - on UP, inject BACK UP

A corner case is when the screen turns off between the DOWN and UP
event. In that case, a BACK UP event will be injected, so it's harmless.

As a consequence of this change, the BACK button is now handled by
Android on mouse released. This is consistent with the keyboard shortcut
(Mod+b) behavior.

PR #2259 <#2259>
Refs #2258 <#2258>
@rom1v
Copy link
Collaborator Author

rom1v commented Apr 17, 2021

Merged into dev.

@rom1v rom1v closed this Apr 17, 2021
rom1v added a commit that referenced this pull request Apr 19, 2021
The shortcut "back on screen on" is a bit special: the control is
requested by the client, but the actual event injection (POWER or BACK)
is determined on the device.

To properly inject DOWN and UP events for BACK, transmit the action as
a control parameter.

If the screen is off:
 - on DOWN, inject POWER (DOWN and UP) (wake up the device immediately)
 - on UP, do nothing
If the screen is on:
 - on DOWN, inject BACK DOWN
 - on UP, inject BACK UP

A corner case is when the screen turns off between the DOWN and UP
event. In that case, a BACK UP event will be injected, so it's harmless.

As a consequence of this change, the BACK button is now handled by
Android on mouse released. This is consistent with the keyboard shortcut
(Mod+b) behavior.

PR #2259 <#2259>
Refs #2258 <#2258>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant