tiny-pilot / tinypilot

Use your Raspberry Pi as a browser-based KVM.
https://tinypilotkvm.com
MIT License
3k stars 252 forks source link

Handle touch events on touchscreen devices #270

Closed ksherwood02 closed 5 months ago

ksherwood02 commented 3 years ago

When using a mobile device (Chrome on Android, Chrome or Safari on iOS13) only the initial input is registered. I'd love to contribute and I'll start digging in to this if I can, but I'm sure others would benefit from this too.

mtlynch commented 3 years ago

Thanks for filing this, @ksherwood02! Can you share more details? I'm not sure what you mean when you say "only the initial input is registered."

Support for input from mobile devices was only added this morning (#266). Are you using the latest version?

ksherwood02 commented 3 years ago

If I bring up MS Paint, as an example app so I can see where the cursor is, anywhere I touch the cursor moves, so it's registered the touch, but not the "click." Beyond that, I can't drag my finger across the screen to indicate the mouse has moved either. As I think about it, converting from a touch interface - deciding what is a click, a move, a click/drag, etc., will probably be a bit more involved.

When I use Chrome on Android, it registers a point being dropped where I touch. When I use Chrome on an iPad, it moves the curosr w/o placing a dot. The dots are from controlling it through Android.

[cid:88838f39-d603-44ba-9cf0-3f65ee9ae3f5]

Thanks, Kevin


From: Michael Lynch notifications@github.com Sent: Wednesday, September 23, 2020 2:27 PM To: mtlynch/tinypilot tinypilot@noreply.github.com Cc: ksherwood02 kshrwood@hotmail.com; Mention mention@noreply.github.com Subject: Re: [mtlynch/tinypilot] Add support for mobile devices as clients (#270)

Thanks for filing this, @ksherwood02https://github.com/ksherwood02! Can you share more details? I'm not sure what you mean when you say "only the initial input is registered."

Support for input from mobile devices was only added this morning (#266https://github.com/mtlynch/tinypilot/pull/266). Are you using the latest version?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/mtlynch/tinypilot/issues/270#issuecomment-697842594, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARDWFDYFGLTR4EBVCAT5EP3SHI4YNANCNFSM4RXLRUMA.

mtlynch commented 3 years ago

Ah, gotcha. Someone started working on this in #192 but then work stopped. It doesn't look like it'd be too much work to get touch events working.

db39 commented 1 year ago

A user on the forum has a use case that would take advantage of touch screen input (accessing the TinyPilot web interface remotely using Tailscale on a smartphone).

db39 commented 1 year ago

Some potentially useful info: Firefox's responsive mode has a 'touch simulation' option which could be very useful for testing touch functionality on desktop.

mtlynch commented 11 months ago

Adding references to some draft PRs around this that never got merged:

https://github.com/tiny-pilot/tinypilot/pull/1387 https://github.com/tiny-pilot/tinypilot/pull/1385

db39 commented 8 months ago

Another user on the forum is also interested in touch screen support.

jotaen4tinypilot commented 5 months ago

We explored this feature with a proof-of-concept branch, and it appears that there is some complexity if we wanted to achieve full-blown touch support.

So for the first step (this ticket), we un-break the touch experience, and support single left clicks.

We then split out two follow-up tickets for iterating on touch support: