fix: trackpad ios ipad desktop#22762
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adjusts trackpad/mouse-wheel scrolling behavior for Apple platforms (iOS/iPadOS + Mac Catalyst) to improve responsiveness and correctness when scroll events arrive at high frequency.
Changes:
- Modify
ScrollContentPresenterwheel scrolling on iOS to avoid long composition animations by applying immediate offset updates. - Add Mac Catalyst scroll-event forwarding from
UIWindow.SendEventinto the pointer input pipeline, and update iOS scroll gesture handling to support inertia viaCADisplayLink. - Ensure
Uno.UI.Dispatching.netcoremobileselects the Skia dispatcher implementation when building with a “generic”netX.Ytarget framework override.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Uno.UI/UI/Xaml/Controls/ScrollContentPresenter/ScrollContentPresenter.cs | Adjusts wheel-scroll offset updates (special-cases iOS) to avoid animation backlog with trackpads. |
| src/Uno.UI.Runtime.Skia.AppleUIKit/UI/Xaml/Window/AppleUIKitWindow.cs | Hooks Mac Catalyst scroll UIEvents and forwards deltas into Uno’s pointer input source. |
| src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/TopViewLayer.cs | Tightens iOS scroll gesture recognizer configuration and routes gesture handling through the updated API. |
| src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs | Adds iOS inertia scrolling and Mac Catalyst scroll event handling, generating wheel-like pointer events. |
| src/Uno.UI.Dispatching/Uno.UI.Dispatching.netcoremobile.csproj | Sets UnoRuntimeIdentifier to Skia for “generic net” builds so the Skia dispatcher source is included. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/Uno.UI/UI/Xaml/Controls/ScrollContentPresenter/ScrollContentPresenter.cs
Outdated
Show resolved
Hide resolved
src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs
Show resolved
Hide resolved
src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs
Show resolved
Hide resolved
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/Uno.UI/UI/Xaml/Controls/ScrollContentPresenter/ScrollContentPresenter.cs
Show resolved
Hide resolved
src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs
Outdated
Show resolved
Hide resolved
src/Uno.UI/UI/Xaml/Controls/ScrollContentPresenter/ScrollContentPresenter.cs
Show resolved
Hide resolved
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
1 similar comment
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
|
|
2437a5b to
c06ab14
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs
Show resolved
Hide resolved
src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs
Show resolved
Hide resolved
src/Uno.UI/UI/Xaml/Controls/ScrollContentPresenter/ScrollContentPresenter.cs
Outdated
Show resolved
Hide resolved
spouliot
left a comment
There was a problem hiding this comment.
most of copilot comments sounds legit (they might not be but they do sound like)
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/Uno.UI/UI/Xaml/Controls/ScrollContentPresenter/ScrollContentPresenter.cs
Outdated
Show resolved
Hide resolved
src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs
Outdated
Show resolved
Hide resolved
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
|
|
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22762/wasm-skia-net9/index.html |
GitHub Issue: closes https://github.com/unoplatform/uno-private/issues/1740
PR Type:
What is the current behavior? 🤔
What is the new behavior? 🚀
PR Checklist ✅
Please check if your PR fulfills the following requirements:
Screenshots Compare Test Runresults.Other information ℹ️