GNU bug report logs - #68050
29.1; Pixel scroll doesn't work on platforms that do not expose device-class.

Previous Next

Package: emacs;

Reported by: Jared Finder <jared <at> finder.org>

Date: Tue, 26 Dec 2023 21:02:01 UTC

Severity: normal

Found in version 29.1

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jared Finder <jared <at> finder.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 68050-done <at> debbugs.gnu.org
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 <at> 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




This bug report was last modified 1 year and 239 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.