Devolutions / Devolutions/UniGetUI

[IMPROVEMENT] Implement Touchpad Smooth Scroll

Open
#5,374 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C#
Stars
26.1k
Forks
924
Avg merge
15h 52m
Merged PRs (30d)
52

Description

### Please confirm these before moving forward.

- [x] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
- [x] This improvement refers to an existing feature. If you want to suggest a new feature, please use [this template](https://github.com/Devolutions/UniGetUI/issues/new?labels=new-feature&projects=&template=feature-request.yml&title=%5BFEATURE+REQUEST%5D+%28Enter+your+description+here%29).
- [x] This improvement is not a bug. If you want to report a bug, please use [this template](https://github.com/Devolutions/UniGetUI/issues/new?labels=bug&projects=&template=bug-issue.yml&title=%5BBUG%5D+%28Enter+your+description+here%29).

### Describe the improvement

UniGetUI’s current touchpad scrolling is still based on mouse-wheel-style events rather than direct manipulation. I recently found [SmoothScroll.Avalonia](https://github.com/zxbmmmmmmmmm/SmoothScroll.Avalonia), an alternative compositor-based implementation with improved precision-touchpad and touchscreen support. I've tried replacing UniGetUI's current implementation with this in one of my testing branches, and it seems to work okay other than some minor edge cases such as inertia etc.

[Workflow Run](https://github.com/Meteoni/UniGetUI/actions/runs/34714926135)

UniGetUI could consider building something similar and apply it consistently across every scrollable surface.

### Describe how this improvement could help users

This could make scrolling feel more directly connected to touchpad and touchscreen input, which is one of the areas users have been reporting to be missing after the Avalonia transition.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing UniGetUI’s current mouse-wheel-style scrolling implementation and the linked SmoothScroll.Avalonia reference. Determine how direct manipulation can be applied consistently across every scrollable surface, including touchpad and touchscreen input. Done means smooth scrolling works throughout the application, including the noted inertia edge cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.