Genymobile / scrcpy

Display and control your Android device
Apache License 2.0
108.88k stars 10.48k forks source link

Stylus-like UHID mouse pointer for presentation #4846

Open anotheruserofgithub opened 5 months ago

anotheruserofgithub commented 5 months ago

Is your feature request related to a problem? Please describe.

This feature request is about using the mouse (or an actual stylus) as a pointer for presentation, that is, pointing things on the Android device screen as if using a (virtual) laser pointer.

Describe the solution you'd like

In addition to https://github.com/Genymobile/scrcpy/issues/4697, it would be nice to be able to change or even customize the pointer icon, see the links below. Ideally, it should be possible to configure a different icon for each interaction source (hover, click, etc.). And changing the pointer visibility would provide an explicit solution to https://github.com/Genymobile/scrcpy/issues/171 as well.

Describe alternatives you've considered

None that I am aware of.

Additional context

System types:

Pointer icon:

Stylus:

rom1v commented 5 months ago

I like the idea. :+1: Thank you for the links!

Do you want to work on it and submit a PR?

anotheruserofgithub commented 5 months ago

Do you want to work on it and submit a PR?

Not really… ^^ I'm working on other projects right now, and surely won't provide as good a solution as you would.

But I've put a primitive POC in the zip of https://github.com/Genymobile/scrcpy/issues/4697#issuecomment-2057835534, if you enable CHANGE_POINTER_ICON_TYPE in Controller.java it will change the pointer icon after every motion event, but when you hover a button for instance, normally you should see the pointer switch momentarily to the hand-like icon, which is not desired. I'm not sure how to go further.