Touchpad scrolling too fast -- should act in precision mode #1421

Closed
opened 2026-01-30 22:26:42 +00:00 by claunia · 20 comments
Owner

Originally created by @SJang1 on GitHub (May 30, 2019).

Environment

Windows build number: Microsoft Windows [Version 10.0.18898.1000], Microsoft Windows [Version 10.0.18908.1000] (both)
Windows Terminal version (if applicable): commit d24d647 and even before.

PC Info: Samsung NT901X5L

Steps to reproduce

Just scroll (up and down) by touchpad. (two-hand scrolling)
That's all.

Expected behavior

Smooth scrolling

Actual behavior

Terminal scrolls too fast.

Originally created by @SJang1 on GitHub (May 30, 2019). <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Windows build number: Microsoft Windows [Version 10.0.18898.1000], Microsoft Windows [Version 10.0.18908.1000] (both) Windows Terminal version (if applicable): commit d24d647 and even before. PC Info: Samsung NT901X5L ``` # Steps to reproduce Just scroll (up and down) by touchpad. (two-hand scrolling) That's all. # Expected behavior Smooth scrolling # Actual behavior Terminal scrolls too fast.
Author
Owner

@zadjii-msft commented on GitHub (May 30, 2019):

I mean, I guess we could figure out how to configure how much we scroll by when the user scrolls. That seems like it should be something the system configures however.

Maybe we just need to look up some value from the system to determine how much to scroll by.

@zadjii-msft commented on GitHub (May 30, 2019): I mean, I guess we could figure out how to configure how much we scroll by when the user scrolls. That seems like it should be something the system configures however. Maybe we just need to look up some value from the system to determine how much to scroll by.
Author
Owner

@DHowett-MSFT commented on GitHub (May 30, 2019):

We should probably do line-by-line scrolling on touchpads to mimic precision scrolling. We should almost certainly make sure velocity coasting works when we do this.

@DHowett-MSFT commented on GitHub (May 30, 2019): We should probably do line-by-line scrolling on touchpads to mimic precision scrolling. We should almost certainly make sure velocity coasting works when we do this.
Author
Owner

@warpdesign commented on GitHub (Jun 22, 2019):

Same problem here on a Surface Book.

I think it should be possible to scroll by as little as one line if movement is very small.

Also, having some kind of velocity and not have the scrolling immediately stop as soon as the user stops scrolling would make the Terminal app behave more like other (UWP) apps.

@warpdesign commented on GitHub (Jun 22, 2019): Same problem here on a Surface Book. I think it should be possible to scroll by as little as one line if movement is very small. Also, having some kind of velocity and not have the scrolling immediately stop as soon as the user stops scrolling would make the Terminal app behave more like other (UWP) apps.
Author
Owner

@ZZYSonny commented on GitHub (Aug 4, 2019):

Both line by line and pixel by pixel are pretty nice for me. Pixel by pixel is "nicer" but smooth scroll could result in a efficiency problem in terminal.

For now I think we should fix scroll too fast problem. The gesture to scroll a few lines in a browser could scroll an entire page in Windows Terminal, which makes the scrolling process unreadable and hard to locate. Probably do some translation, like scrolling one line in windows terminal = scrolling some lines in UWP. At least make it slower.

@ZZYSonny commented on GitHub (Aug 4, 2019): Both line by line and pixel by pixel are pretty nice for me. Pixel by pixel is "nicer" but smooth scroll could result in a efficiency problem in terminal. For now I think we should fix scroll too fast problem. The gesture to scroll a few lines in a browser could scroll an entire page in Windows Terminal, which makes the scrolling process unreadable and hard to locate. Probably do some translation, like scrolling one line in windows terminal = scrolling some lines in UWP. At least make it slower.
Author
Owner

@liuguangyong93 commented on GitHub (Sep 14, 2019):

i think its scroll fast,Seriously affect user experience!!

@liuguangyong93 commented on GitHub (Sep 14, 2019): i think its scroll fast,Seriously affect user experience!!
Author
Owner

@PaulBendall commented on GitHub (Oct 31, 2019):

Any update on this issue? Its been listed for a while and makes terminal a pretty poor experience on laptops with touchpads include Microsoft's own Surface range (e.g Surface Book 2)

@PaulBendall commented on GitHub (Oct 31, 2019): Any update on this issue? Its been listed for a while and makes terminal a pretty poor experience on laptops with touchpads include Microsoft's own Surface range (e.g Surface Book 2)
Author
Owner

@zadjii-msft commented on GitHub (Oct 31, 2019):

@PaulBendall Nope. We'll make sure to post on this thread when we do find some time to address it. It's marked for "Terminal 1.0", so we plan on fixing this before the 1.0 release, but we don't have a more specific timetable than that. If someone's passionate about this bug and wants to take a crack at fixing it themselves, we'd be more than happy to review a PR from the community 😊

@zadjii-msft commented on GitHub (Oct 31, 2019): @PaulBendall Nope. We'll make sure to post on this thread when we do find some time to address it. It's marked for "Terminal 1.0", so we plan on fixing this before the 1.0 release, but we don't have a more specific timetable than that. If someone's passionate about this bug and wants to take a crack at fixing it themselves, we'd be more than happy to review a PR from the community 😊
Author
Owner

@jboeshart commented on GitHub (Nov 15, 2019):

Upvote on this, touchpad scrolling on Surface Book 2 (and would assume other Surface devices) is really bad.

@jboeshart commented on GitHub (Nov 15, 2019): Upvote on this, touchpad scrolling on Surface Book 2 (and would assume other Surface devices) is really bad.
Author
Owner

@piratetub commented on GitHub (Nov 17, 2019):

I have a precision Touchpad and I can vouch that the scrolling is so fast that I can't use Windows Terminal with my Touchpad at all. I have to rely on a touchscreen to scroll.
Also, the general scrolling behavior does not adhere to the general UWP scrolling behavior- no smooth scrolling. The team should consider changing the behavior to at least match the classic console's, which is usable at the least.

@piratetub commented on GitHub (Nov 17, 2019): I have a precision Touchpad and I can vouch that the scrolling is so fast that I can't use _Windows Terminal_ with my Touchpad at all. I have to rely on a touchscreen to scroll. Also, the general scrolling behavior does not adhere to the general UWP scrolling behavior- no smooth scrolling. The team should consider changing the behavior to at least match the classic console's, which is usable at the least.
Author
Owner

@hannesne commented on GitHub (Nov 27, 2019):

I've done a pull request to make the number of lines that is scolled at a time configurable in the settings file. Default was previously hard coded at 4, with a todo in the comment. On my Surfacebook I set it to 1 and it works real nice. Pull Request is #3575 Incidentally setting the number of lines to scroll to a negative value enables reverse scrolling. cc @zadjii-msft

@hannesne commented on GitHub (Nov 27, 2019): I've done a pull request to make the number of lines that is scolled at a time configurable in the settings file. Default was previously hard coded at 4, with a todo in the comment. On my Surfacebook I set it to 1 and it works real nice. Pull Request is #3575 Incidentally setting the number of lines to scroll to a negative value enables reverse scrolling. cc @zadjii-msft
Author
Owner

@ovcharik commented on GitHub (Dec 4, 2019):

Not sure that is still relevant. But as temponary solution it is possible use AutoHotkey script.

https://gist.github.com/ovcharik/20af27323514fcf2b116f9cfaad420f4

@ovcharik commented on GitHub (Dec 4, 2019): Not sure that is still relevant. But as temponary solution it is possible use [AutoHotkey](https://www.autohotkey.com/) script. https://gist.github.com/ovcharik/20af27323514fcf2b116f9cfaad420f4
Author
Owner

@davidwparker commented on GitHub (Dec 27, 2019):

Nice PR @hannesne - is there any update on this? I'm assuming (due to holidays, etc), the earliest we would see this would be next year?

@davidwparker commented on GitHub (Dec 27, 2019): Nice PR @hannesne - is there any update on this? I'm assuming (due to holidays, etc), the earliest we would see this would be next year?
Author
Owner

@zadjii-msft commented on GitHub (Dec 30, 2019):

@davidwparker Correct - I don't think we're planning on shipping an update today, so it's definitely not landing till the next decade :P

@zadjii-msft commented on GitHub (Dec 30, 2019): @davidwparker Correct - I don't think we're planning on shipping an update _today_, so it's definitely not landing till the next decade :P
Author
Owner

@hannesne commented on GitHub (Jan 5, 2020):

@davidwparker PR only needs approval from @carlos-zamora, before being merged.

@hannesne commented on GitHub (Jan 5, 2020): @davidwparker PR only needs approval from @carlos-zamora, before being merged.
Author
Owner

@joeyaiello commented on GitHub (Jan 13, 2020):

Just wanted to pile on that, while setting the number of lines on scroll is very helpful, smooth scrolling (a la what I get in most browsers) is what I'm really looking for. Touchpad/scroll wheel is a bigger deal for me than touchscreen, but that would be sweet too.

@joeyaiello commented on GitHub (Jan 13, 2020): Just wanted to pile on that, while setting the number of lines on scroll is very helpful, smooth scrolling (a la what I get in most browsers) is what I'm really looking for. Touchpad/scroll wheel is a bigger deal for me than touchscreen, but that would be sweet too.
Author
Owner

@DHowett-MSFT commented on GitHub (Jan 13, 2020):

Yes, we just need somebody who knows anything about the direct input/direct manipulation APIs to take a crack at it 😄

@DHowett-MSFT commented on GitHub (Jan 13, 2020): Yes, we just need somebody who knows anything about the direct input/direct manipulation APIs to take a crack at it :smile:
Author
Owner

@mahmoudajawad commented on GitHub (Jan 15, 2020):

So, this didn't make it in v0.8 arrived today. Can we expect it with next release?

@mahmoudajawad commented on GitHub (Jan 15, 2020): So, this didn't make it in v0.8 arrived today. Can we expect it with next release?
Author
Owner

@DHowett-MSFT commented on GitHub (Jan 15, 2020):

If a bug is open and doesn’t contain a comment from the bot indicating that a fix is available in a specific release, a fix is not available in that release.

As a workaround, you can set the global rowsToScroll property in your profiles.json to approximate precision scrolling. 1 seems like a nice value.

@DHowett-MSFT commented on GitHub (Jan 15, 2020): If a bug is open and doesn’t contain a comment from the bot indicating that a fix is available in a specific release, a fix is not available in that release. As a workaround, you can set the global `rowsToScroll` property in your `profiles.json` to approximate precision scrolling. 1 seems like a nice value.
Author
Owner

@Fedorov113 commented on GitHub (Jan 22, 2020):

@DHowett-MSFT I can confirm that setting rowsToScroll to 1 works as a workaround. Waiting for the proper fix.

@Fedorov113 commented on GitHub (Jan 22, 2020): @DHowett-MSFT I can confirm that setting `rowsToScroll` to 1 works as a workaround. Waiting for the proper fix.
Author
Owner

@Jewsh-S commented on GitHub (Feb 18, 2020):

This is great! Just wanted to say thanks and that I personally really appreciate this.

@Jewsh-S commented on GitHub (Feb 18, 2020): This is great! Just wanted to say thanks and that I personally really appreciate this.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#1421