Skip to content

I fixed your godawful touch controls#7697

Open
ifilipis wants to merge 1 commit intoutmapp:mainfrom
ifilipis:v5.0.2
Open

I fixed your godawful touch controls#7697
ifilipis wants to merge 1 commit intoutmapp:mainfrom
ifilipis:v5.0.2

Conversation

@ifilipis
Copy link
Copy Markdown

@ifilipis ifilipis commented May 1, 2026

It's a complete rewrite of everything, but I did also preserve some old code for the time being

Let's start with issues:

  • Old system had conflicts all over the place. Scroll would trigger pinch and taps all the time
  • Gesture types were very limited
  • Some recognizers were super flawed, like scroll that would only trigger if you drag it across half the screen
  • I also discovered a few undocumented and unconfigurable gestures

At the times it was so bad that I just gave up and switched to Microsoft Remote Desktop, and a lot of gestures are inspired by it. They are quite typical to Microsoft tablets as well.

The list of changes is massive

  • Old Touch mode conserved, new Multitouch mode added
  • Tap / click still works the same way!
  • 1 finger drag now does scroll and does not trigger erroneous clicks
  • Added long press with default right click. Also added a visual indicator for when it is triggered.
  • Added long press + drag for left clicking and dragging
  • 2 finger tap now uses the location of first touch for mouse position. Much easier to aim this way
  • 2 finger drag resolved conflicts with everything else and MUCH improved recognition. There's no more delay at all - it triggers instantly
  • 2 finger swipe is also resolved correctly now and is fine-tunable. It took a lot of code to distinguish it from 2F drag
  • 2 finger pinch also has a new resolver based on absolute finger travel instead of percentage to avoid erroneous triggers. This is what fixed it
  • It is also 2 fingers only now. You can't do pinch with 3 or more fingers anymore
  • Same set of fixes for 3 finger gestures + exposed 3 finger swipe in settings
  • All gestures now persist! You can't trigger different gestures after any recognizer has fired.
  • Added new types of mouse events, too. Middle drag, right drag, left drag + clicks
  • Fixed a bug with gestures near the edges of the screen. There was a border where they were blocked, I even thought there's something wrong with my iPad
  • I also played with defaults a bit. They are set to what MS RDP does at the moment
  • Nothing in the driver was changed. All fixes are in the UI

Hoping to see it in the upcoming release, because otherwise, the UX is horrible and made me dust off a MacBook, install macOS updates and Xcode for this sole purpose

@osy
Copy link
Copy Markdown
Contributor

osy commented May 1, 2026

Please confirm you have read and followed all of the contribution guidelines: https://github.com/utmapp/UTM/blob/main/CONTRIBUTING.md

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.

2 participants