Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XAML Islands: Synaptics touchpads can't scroll XAML content #2172

Open
zadjii-msft opened this issue Mar 26, 2020 · 3 comments
Open

XAML Islands: Synaptics touchpads can't scroll XAML content #2172

zadjii-msft opened this issue Mar 26, 2020 · 3 comments
Labels
area-Islands Xaml Islands feature bug Something isn't working needs-winui-3 Indicates that feature can only be done in WinUI 3.0 or beyond. (needs winui 3) team-Reach Issue for the Reach team

Comments

@zadjii-msft
Copy link
Member

Describe the bug

This is being filed to track the following bug in the Windows Terminal: microsoft/terminal#979

I've got a HP Spectre 2017 x360 that I use at home, with a touchpad using the synaptics drivers. On this laptop, I can't use the touchpad to scroll the contents of the Terminal at all. Scrolling simply doesn't on any DPI scaling nor display. However, scrolling with a actual mouse wheel works perfectly fine.

From what I've gathered, nothing in the XAML island ever receives a PointerWheeled event when this touchpad is used to scroll the Terminal. However, we do get a WM_MOUSEWEEL window message on our parent HWND (the HWND that's hosting the XAML island) on this type of device. This WM_MOUSEWEEL does not occur on the Surface Laptop I've also been using to test.

From what I can tell, the Synaptics touchpads don't support "Scroll inactive windows" broadly[1]. notepad.exe, the Settings app, nothing. Even with "Scroll inactive windows when I hover over them" enabled.
image

[1]: Additional research discovered that inactive window scrolling works fine on these devices if certain applications are in the foreground. Applications can scroll fine with the touchpad while inactive when Settings is in the foreground, but does not scroll when Chrome is in the foreground. NOTE that the Terminal never scrolls, even when the Terminal is in the foreground.

My working theory, which is derived from notes in #2101 is that the entire XAML island is treated like an inactive window. Unfortunately, I don't really understand the XI input stack, so that might be way off base.

Steps to reproduce the bug

  • With a laptop with a Synaptics touchpad, use any version of the terminal <= 0.10.781. (0.11 will likely include a workaround)
  • Attempt to scroll the contents of the Terminal window
  • Note that it doesn't scroll.

Expected behavior

  • The Terminal should scroll.

Version Info

NuGet package version: `Microsoft.UI.Xaml.2.3.191217003-prerelease

I'm seeing this on Microsoft Windows [Version 10.0.19578.1000], RS_ONECORE_DEP, though this has been around for months.

Device form factor Saw the problem?
Desktop Yes
Mobile n/a
Xbox n/a
Surface Hub n/a
IoT n/a

Additional context

I've previously discussed this with @Austin-Lamb and @ocalvo in a mail thread.

@msft-github-bot msft-github-bot added the needs-triage Issue needs to be triaged by the area owners label Mar 26, 2020
@StephenLPeters StephenLPeters added team-Reach Issue for the Reach team area-Islands Xaml Islands feature needs-winui-3 Indicates that feature can only be done in WinUI 3.0 or beyond. (needs winui 3) labels Mar 26, 2020
@Austin-Lamb Austin-Lamb removed the needs-triage Issue needs to be triaged by the area owners label Apr 17, 2020
@crutkas
Copy link
Member

crutkas commented Dec 11, 2020

PowerToys also has this bug. microsoft/PowerToys#3400. the microsoft Arc mouse seems to be affected as well

@github-actions
Copy link

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@zadjii-msft
Copy link
Member Author

This is absolutely still an issue, and I maintain that just documenting this issue isn't a real solution. Internally, this is also discussed in MSFT:37969989, and a fairly long mail thread with some IXP and PowerToys folks.

@duncanmacmichael duncanmacmichael added the bug Something isn't working label Nov 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Islands Xaml Islands feature bug Something isn't working needs-winui-3 Indicates that feature can only be done in WinUI 3.0 or beyond. (needs winui 3) team-Reach Issue for the Reach team
Projects
None yet
Development

No branches or pull requests

6 participants