bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#68050: 29.1; Pixel scroll doesn't work on platforms that do not expo


From: Jared Finder
Subject: bug#68050: 29.1; Pixel scroll doesn't work on platforms that do not expose device-class.
Date: Tue, 26 Dec 2023 17:32:54 -0800

On 2023-12-26 17:25, Po Lu wrote:
Jared Finder <jared@finder.org> writes:

Pixel scroll does not work on many platforms, such as Windows and Mac as
they only expose device classes core-keyboard and core-pointer.
Additionally, I have found that for Wayland under WSL on the emacs-29
branch, both the touchpad and the mouse are reported with device-class
'mouse on my Thinkpad laptop.

Incidentally we don't support WSL, as circumventing their bugs for a
proprietary platform which Emacs already supports through the Cygwin and
native Windows builds is an unjustified burden.

Understood. However, I see the same issue on pure Windows and on Mac as well.

The attached patch enables a user to specify arbitrary device classes
that should cause interpolated scrolling so they can fix any issues.
This enables a user to customize this to the behavior of their local
machine.

I am undecided if this should involve renaming the existing
pixel-scroll-precision-interpolate-mice option or if it is important to
stay backward compatible with customizations that changed that option
from its default, t, to some other non-nil value. Please give feedback
here.

Otherwise, this is a straightforward change that I think would be good
for the Emacs 29 branch so all platforms can get the smoothness of
interpolated pixel scrolling.

pixel-scroll-precision-mode is first and foremost designed for devices
such as touchpads, for which interpolation is unnecessary as detailed
scrolling deltas are always reported within events they generate.

Interpolation for wheel mice is an afterthought, so to speak, and if the
code responsible for interfacing with the window system cannot detect
wheel mice by itself, then the option
pixel-scroll-precision-large-scroll-height might be set to a value
suitable for wheel mice to be distinguished from touchpads and for
interpolation to be applied to them.

When a predicated fallback mechanism is already in place, there's no
need for one that's far more coarse.  Furthermore, p-s-p-l-s-h can be
set to 0, which would be identical to setting this variable to t.

Thanks, but this isn't necessary.  Closing.

I'm a bit confused by the "this isn't necessary" response. What should I be doing on Mac or on Windows, where Emacs doesn't distinguish between touchpads and mice currently? Is there a fix in the works for these OSes?

  -- MJF





reply via email to

[Prev in Thread] Current Thread [Next in Thread]