microsoft / microsoft/microsoft-ui-xaml

No events triggered for simultaneous multi-contact press and hold on touch screen

Open
#10,924 1 comment 0 reactions 0 assignees View on GitHub
area-Pointer bug
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

### Describe the bug

If you _simultanesously_ press and hold with two fingers on a touch screen, no events are triggered (but a two-finger tap works as expected).

### Why is this important?

I want a two-finger "hold" gesture to trigger an action in my app (akin to [UILongPressGestureRecognizer](https://developer.apple.com/documentation/uikit/uilongpressgesturerecognizer?language=objc))

### Steps to reproduce the bug

1. Clone https://github.com/jeremy-visionaid/WinUITestApp/tree/two-finger-hold
3. Press and hold with two fingers simultaneously on the grid (i.e. anywhere)

### Actual behavior

No press or release event is received for either contact point

### Expected behavior

Press and release events should be received for both contact points

### Screenshots

_No response_

### NuGet package version

WinUI 3 - Windows App SDK 1.8.3: 1.8.251106002

### Windows version

Windows 11 (24H2): Build 26100

### Additional context

Did the gesture recognizers ever get fixed?

https://github.com/microsoft/microsoft-ui-xaml/issues/10687

Contributor guide

Open the contributing guide

Research direction

Clone the linked WinUITestApp repository on its two-finger-hold branch and reproduce the missing press and release events on the grid. Review the related gesture-recognizer discussion in microsoft-ui-xaml#10687 and trace the touch-input path; done means both contact points generate press and release events during a simultaneous hold.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.