|
From: | Alexander Huntley |
Subject: | bug#50269: 27.2; Request: use GTK continuous scroll events for smooth touchpad scrolling |
Date: | Wed, 1 Sep 2021 13:57:46 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 |
With pixel-scroll-mode on, when pixel-resolution-fine-flag is nil (the default), I cannot get Emacs to scroll up by "just a few pixels", however small my movement on the touchpad. Emacs always waits for "enough movement" to scroll up a complete line, although the *animation* is indeed done pixel-by-pixel (as opposed to line-by-line when pixel-scroll-mode is off). On e.g. Mousepad (XFCE's text editor), if I move "just a bit" on the touchpad, the display moves by "just a few pixels", i.e. less than a full line. FWIW setting pixel-resolution-fine-flag to 1 seems to allow Emacs to do the same.So if pixel-resolution-fine-flag is set, the behavior is the expected one, and we can conclude that Emacs passes this test?
If the flag is set to 1, then yes the scrolling works as desired, but only when scrolling with the touchpad slowly (although perhaps it is scrolling by 2 or 3 pixels instead of only 1). When scrolling quickly, Emacs scrolls abruptly by many lines at a time, which is not what we want. I'm sure this is possible to disable. But now scrolling with a mouse wheel also only causes the view to shift by 1 pixel per "wheel click". IMO the best way to solve this would be to use GTK scrolling events. They give the correct magnitude of the scroll event (which in touchpads is variable and much smaller than for mouse wheels). Hence Emacs would not have to distinguish between mouse vs touchpad scrolling; it would all be handled by GTK.
[Prev in Thread] | Current Thread | [Next in Thread] |