Skip to content

Can’t scroll with Synaptics touchpad in WinUI Win32 apps #2482

@BreeceW

Description

@BreeceW

Describe the bug
This issue echoes #2172 except it also applies to WinUI Win32. Scrolling does not work using an HP Spectre x360 that’s a few years old and does not have a precision trackpad, just like in the Windows Terminal’s issue. Windows has historically had issues with touchpad scrolling inactive windows, but here’s the bizarre part: an active WinUI Win32 window will not scroll, but an inactive window will, provided that a certain other window is active. Since this is convoluted, I will format it in a table.

Active window Synaptics scrolling behavior
The WinUI Win32 app itself No scrolling in WinUI Win32 app
Windows taskbar Scrolling works in WinUI Win32 app
Any UWP app Scrolling works in WinUI Win32 app
The desktop No scrolling in WinUI Win32 app
Microsoft Edge (Chromium) No scrolling in WinUI Win32 app
A different WinUI Win32 app No scrolling in the other WinUI Win32 app
File Explorer No scrolling in WinUI Win32 app, but File Explorer scrolls instead

Sorry if this is confusing. I was about to publish this issue before I realized that the window does scroll under certain circumstances (I have also tested this and it is true for XAML islands as well). The key takeaway, though, is that scrolling in WinUI Win32 does not function in a useful way with a Synaptics touchpad.

I assume that these are limitations in the Synaptics driver, but I would love it if WinUI Win32 apps worked just as smoothly with the touchpad as it does in UWP apps. If a UWP app is the active window, it always scrolls the correct inactive window if you mouse over it. This may not be possible, but I would expect, at the least, a patch to be applied to fix basic two-finger scrolling.

Steps to reproduce the bug
Steps to reproduce the behavior:

  1. Attempt two-finger scroll with a Synaptics touchpad with your WinUI Win32 app active
  2. It will not scroll
  3. Try clicking other windows (like those described in the tab) and try using two-finger scroll on your WinUI Win32 app without clicking on it first
  4. It may or may not scroll depending on what was focused (it’s worth pointing out that if it does scroll, it is not the same smooth experience as in UWP)

Expected behavior
I expect a WinUI Win32 app to scroll when the window is focused (must), scroll when the window is not focused (if possible), and scroll as smoothly as it does in UWP when using a Synaptics touchpad.

Version Info

NuGet package version:
Microsoft.WinUI 3.0.0-preview1.200515.3

Windows 10 version Saw the problem?
Insider Build (xxxxx)
November 2019 Update (18363) Yes
May 2019 Update (18362)
October 2018 Update (17763)
April 2018 Update (17134)
Fall Creators Update (16299)
Creators Update (15063)
Device form factor Saw the problem?
Desktop Yes
Mobile
Xbox
Surface Hub
IoT

Additional context
Using the on screen touchpad, which does successfully scroll in the WinUI Win32 app, it is apparent that the scrolling behavior is different between UWP and Win32. For example, the UWP app has a bouncing effect when scrolling to the ends. I think this warrants a separate issue, but I would like someone with a precision touchpad to test this first. Scrolling with the touch screen is identical for both.

Metadata

Metadata

Assignees

Labels

needs-triageIssue needs to be triaged by the area ownersproduct-winui3WinUI 3 issuesteam-CompInputIssue for IXP (Composition, Input) teamteam-ReachIssue for the Reach team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions