Subject: bug#57526: 29.0.50; Precise pixel-scrolling works great with touchpad but not with mouse wheel

From: Tassilo Horn <[email-masked]>
Date: Fri, 02 Sep 2022 14:39:29 +0200

Po Lu <[email-masked]> writes:

>> Actually, I use pgtk so that emacs runs as native wayland client but
>> I guess that doesn't make a difference here.
>
> Hmm, please show what message is displayed when you scroll with the
> mouse, after running this:
>
>   (while t (read-event) (message "Device: %s" last-event-device))

Device: Virtual core pointer [24 times]

>> AFAIK, X and wayland use libinput for device handling by default and
>> "libinput list-devices" knows about touchpad AND USB mouse.  Of
>> course I have no clue if that has any relevance wrt. emacs.
>
> X doesn't necessarily use libinput for input handling.  It all depends
> on the input drivers in use.
>
> Most Wayland compositors do, however.

I use sway and also have only xf86-input-libinput and
xf86-input-synaptics installed.

When I run "sudo libinput debug-events" and click and scroll with the
USB mouse, I get:

 event6   POINTER_MOTION          +34.209s	 0.00/  0.41 ( +0.00/ +1.00)
 event6   POINTER_BUTTON          +34.209s	BTN_LEFT (272) released, seat count: 0
 event6   POINTER_SCROLL_WHEEL    +35.425s	vert -15.00/-120.0* horiz 0.00/0.0 (wheel)

With the touchpad I get:

-event18  GESTURE_HOLD_BEGIN      +0.041s	2
 event18  GESTURE_HOLD_END        +2.254s	2
 event18  POINTER_MOTION          +3.456s	-0.12/  0.41 ( -1.00/ +3.32)
 event18  POINTER_MOTION          +3.465s	-0.24/  1.60 ( -1.00/ +6.65)
 event18  POINTER_MOTION          +3.475s	-0.51/  1.42 ( -2.00/ +5.54)
 event18  POINTER_MOTION          +3.484s	 0.00/  2.85 ( +0.00/+11.08)
 event18  GESTURE_HOLD_BEGIN      +4.527s	1
 event18  GESTURE_HOLD_END        +4.545s	1

In both cases, event6 and event18 are the devices shown by "sudo
libinput list-devices".

Bye,
Tassilo