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

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

bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll


From: Eli Zaretskii
Subject: bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
Date: Sun, 20 Aug 2023 09:34:22 +0300

> From: Po Lu <luangruo@yahoo.com>
> Cc: kzhr@d1.dion.ne.jp,  hiroya.ebine1@gmail.com,  max@mal-richtig.de,
>   65070@debbugs.gnu.org
> Date: Sun, 20 Aug 2023 08:19:49 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Cc: hiroya.ebine1@gmail.com, max@mal-richtig.de, 65070@debbugs.gnu.org
> >> Date: Sat, 19 Aug 2023 10:54:34 +0300
> >> From: Eli Zaretskii <eliz@gnu.org>
> >> 
> >> Po Lu, I'd appreciate if you'd take me through the code that produces
> >> and uses these wheel events, documented in the ELisp reference manual
> >> as (wheel-up/down POSITION CLICKS LINES PIXEL-DELTA).  Specifically:
> >> 
> >>   . what is the conventions for signs in the data of the PIXEL-DELTA
> >>     cons cell?
> 
> The pertinent delta is the one for the axis whose value is larger.  If
> more scrolling has taken place on the X axis, then the relevant delta is
> that for the Y axis.  Otherwise, it is the delta for the Y axis.
> 
> If that delta is less than 0, a wheel-down event is produced.
> Otherwise, a wheel-up event is produced instead.
> 
> >>   . where and how are the PIXEL-DELTA data used for scrolling?
> 
> Only in pixel-scroll-precision-mode; the traditional mouse wheel
> scrolling code derives the direction in which to scroll from the type of
> the wheel event.

So basically, pixel-scroll-precision-mode ignores the event type and
decides on the direction of  scrolling based on the signs in the
PIXEL-DELTA data?  And we expect any other Emacs feature that wants to
use PIXEL-DELTA to ignore the event type in the same manner?

And another question: what if PIXEL-DELTA provides deltas that are
smaller than one screen line -- what should the LINES member of the
wheel-up/down event be in that case?  The code both in w32term.c and
xterm.c produces NO_EVENT event in those cases, AFAICT, so it sounds
like we cannot support such fine scrolling amounts?  Or did I miss
something?





reply via email to

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