unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
@ 2023-08-04 15:32 Hiroya Ebine
  2023-08-05  9:04 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only Hiroya Ebine
                   ` (3 more replies)
  0 siblings, 4 replies; 34+ messages in thread
From: Hiroya Ebine @ 2023-08-04 15:32 UTC (permalink / raw)
  To: 65070

1. c-h i (open any vertically long document)
M-> (move to the bottom of the document) 3.
3. perform the scroll down gesture on the touchpad.

Then you will see the screen scroll up.
Either scroll down or scroll up, whichever you do, the screen will scroll up.

Emacs (29.1) on Ubuntu and macOS can scroll up and down according to
the direction of the gesture.


In GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-08-02 built on
 AVALON
Windowing system distributor 'Microsoft Corp.', version 10.0.22621
System Description: Microsoft Windows 10 Home (v10.0.2009.22621.1702)

Configured using:
 'configure --with-modules --without-dbus --with-native-compilation=aot
 --without-compress-install --with-tree-sitter CFLAGS=-O2'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB

(NATIVE_COMP present but libgccjit not available)

Important settings:
  value of $LANG: JPN
  locale-coding-system: cp932

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
tutorial face-remap help-mode cl-loaddefs cl-lib japan-util rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table
term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 59204 7453)
 (symbols 48 5725 0)
 (strings 32 16218 1049)
 (string-bytes 1 445505)
 (vectors 16 12327)
 (vector-slots 8 383096 14656)
 (floats 8 49 14)
 (intervals 56 821 97)
 (buffers 984 13))





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only
  2023-08-04 15:32 bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Hiroya Ebine
@ 2023-08-05  9:04 ` Hiroya Ebine
  2023-08-05 10:44   ` Eli Zaretskii
  2023-08-05  9:51 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Eli Zaretskii
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 34+ messages in thread
From: Hiroya Ebine @ 2023-08-05  9:04 UTC (permalink / raw)
  To: 65070

[-- Attachment #1: Type: text/plain, Size: 201 bytes --]

I made a mistake in the subject of the email.

I'm sorry for the confusion for not showing the situation correctly.

 The subject I wanted to convey is "Both scroll gesture scroll the screen
up only."

[-- Attachment #2: Type: text/html, Size: 322 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-04 15:32 bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Hiroya Ebine
  2023-08-05  9:04 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only Hiroya Ebine
@ 2023-08-05  9:51 ` Eli Zaretskii
  2023-08-07 13:18   ` Hiroya Ebine
  2023-08-08 10:19 ` bug#65070: max
  2023-08-18 16:49 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Kazuhiro Ito
  3 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-05  9:51 UTC (permalink / raw)
  To: Hiroya Ebine; +Cc: 65070

> From: Hiroya Ebine <hiroya.ebine1@gmail.com>
> Date: Sat, 5 Aug 2023 00:32:00 +0900
> 
> 1. c-h i (open any vertically long document)
> M-> (move to the bottom of the document) 3.
> 3. perform the scroll down gesture on the touchpad.

Is step 2 necessary for reproducing the problem?  That is, does the
problem only happen at the end of a buffer?

> Then you will see the screen scroll up.
> Either scroll down or scroll up, whichever you do, the screen will scroll up.

After you do the above, what does "C-h l" show?





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only
  2023-08-05  9:04 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only Hiroya Ebine
@ 2023-08-05 10:44   ` Eli Zaretskii
  0 siblings, 0 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-05 10:44 UTC (permalink / raw)
  To: Hiroya Ebine; +Cc: 65070

> From: Hiroya Ebine <hiroya.ebine1@gmail.com>
> Date: Sat, 5 Aug 2023 18:04:57 +0900
> 
> I made a mistake in the subject of the email.
> 
> I'm sorry for the confusion for not showing the situation correctly.
> 
>  The subject I wanted to convey is "Both scroll gesture scroll the screen up only." 

OK, but still please answer the questions I asked: what does
"C-h l" show after you do this scrolling.

Also, please tell how you scrolled (since you are now saying
it was not via the touchpad?)





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-05  9:51 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Eli Zaretskii
@ 2023-08-07 13:18   ` Hiroya Ebine
  2023-08-07 14:05     ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Hiroya Ebine @ 2023-08-07 13:18 UTC (permalink / raw)
  To: 65070

> Is step 2 necessary for reproducing the problem?  That is, does the
> problem only happen at the end of a buffer?

No, step 2 is not required. This problem does not only occur at the
bottom of the buffer.

> After you do the above, what does "C-h l" show?

 <f1> i              ;; info
 ESC >              ;; end-of-buffer
 <wheel-down>          ;; mwheel-scroll
 <double-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <wheel-down>          ;; mwheel-scroll
 <double-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 <triple-wheel-down>      ;; mwheel-scroll
 C-h l              ;; view-lossage

Thank you.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-07 13:18   ` Hiroya Ebine
@ 2023-08-07 14:05     ` Eli Zaretskii
  0 siblings, 0 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-07 14:05 UTC (permalink / raw)
  To: Hiroya Ebine; +Cc: 65070

> From: Hiroya Ebine <hiroya.ebine1@gmail.com>
> Date: Mon, 7 Aug 2023 22:18:39 +0900
> 
> > Is step 2 necessary for reproducing the problem?  That is, does the
> > problem only happen at the end of a buffer?
> 
> No, step 2 is not required. This problem does not only occur at the
> bottom of the buffer.
> 
> > After you do the above, what does "C-h l" show?
> 
>  <f1> i              ;; info
>  ESC >              ;; end-of-buffer
>  <wheel-down>          ;; mwheel-scroll
>  <double-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <wheel-down>          ;; mwheel-scroll
>  <double-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  <triple-wheel-down>      ;; mwheel-scroll
>  C-h l              ;; view-lossage

So Emacs sees scrolling gestures in only one direction, although you
say you scrolled both up and down?

And why "triple" wheel turns?





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070:
  2023-08-04 15:32 bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Hiroya Ebine
  2023-08-05  9:04 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only Hiroya Ebine
  2023-08-05  9:51 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Eli Zaretskii
@ 2023-08-08 10:19 ` max
  2023-08-08 12:46   ` bug#65070: Eli Zaretskii
  2023-08-18 16:49 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Kazuhiro Ito
  3 siblings, 1 reply; 34+ messages in thread
From: max @ 2023-08-08 10:19 UTC (permalink / raw)
  To: 65070

I think I have the same problem.

After the update to Emacs 29.1 (on Windows), I can only scroll upwards somehow with the touchpad.
Scolling is also kind of "jumpy" as it is not scrolling upwards smothly but jumps up a couple of lines at a time.
However, when using the mouse instead of the touchpad, scrolling works fine and is smooth.

< C-h l > shows correct movement, so emacs somehow "understands" the touch-gestures but does not execute them right.

 <wheel-up>                                     ;; mwheel-scroll
 <double-wheel-up>                              ;; mwheel-scroll
 <triple-wheel-up>                              ;; mwheel-scroll
 <triple-wheel-up>                              ;; mwheel-scroll
 <triple-wheel-up>                              ;; mwheel-scroll
 <wheel-down>                                   ;; mwheel-scroll
 <double-wheel-down>                            ;; mwheel-scroll
 <triple-wheel-down>                            ;; mwheel-scroll
 <triple-wheel-down>                            ;; mwheel-scroll
 C-h l                                          ;; view-lossage

This (or similar events) show equally in the log for both touchpad and/or mouse.
Tripple-wheel is shown when scrolling fast.

I can reproduce this scrolling-issue with `emacs -Q` - so I don't think it is a configuration issue.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070:
  2023-08-08 10:19 ` bug#65070: max
@ 2023-08-08 12:46   ` Eli Zaretskii
  2023-08-08 12:54     ` bug#65070: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-08 12:46 UTC (permalink / raw)
  To: max, Po Lu; +Cc: 65070

> Date: Tue, 08 Aug 2023 10:19:39 +0000
> From: max@mal-richtig.de
> TLS-Required: No
> 
> I think I have the same problem.
> 
> After the update to Emacs 29.1 (on Windows), I can only scroll upwards somehow with the touchpad.
> Scolling is also kind of "jumpy" as it is not scrolling upwards smothly but jumps up a couple of lines at a time.
> However, when using the mouse instead of the touchpad, scrolling works fine and is smooth.
> 
> < C-h l > shows correct movement, so emacs somehow "understands" the touch-gestures but does not execute them right.
> 
>  <wheel-up>                                     ;; mwheel-scroll
>  <double-wheel-up>                              ;; mwheel-scroll
>  <triple-wheel-up>                              ;; mwheel-scroll
>  <triple-wheel-up>                              ;; mwheel-scroll
>  <triple-wheel-up>                              ;; mwheel-scroll
>  <wheel-down>                                   ;; mwheel-scroll
>  <double-wheel-down>                            ;; mwheel-scroll
>  <triple-wheel-down>                            ;; mwheel-scroll
>  <triple-wheel-down>                            ;; mwheel-scroll
>  C-h l                                          ;; view-lossage
> 
> This (or similar events) show equally in the log for both touchpad and/or mouse.
> Tripple-wheel is shown when scrolling fast.
> 
> I can reproduce this scrolling-issue with `emacs -Q` - so I don't think it is a configuration issue.

Po Lu, could you perhaps look into this?  Or at least tell me which
w32 code is activated when the user scrolls via the touchpad on
MS-Windows, and then I will try to take a look.

Thanks.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070:
  2023-08-08 12:46   ` bug#65070: Eli Zaretskii
@ 2023-08-08 12:54     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-08 13:04       ` bug#65070: Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-08 12:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: max, 65070

Eli Zaretskii <eliz@gnu.org> writes:

> Po Lu, could you perhaps look into this?  Or at least tell me which
> w32 code is activated when the user scrolls via the touchpad on
> MS-Windows, and then I will try to take a look.

You wrote the W32 touchpad scrolling code, not me :-)

I believe it's within `w32_construct_mouse_wheel'.  Lamentably, I don't
have access to a Windows laptop or similar machine where I can
investigate this myself.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070:
  2023-08-08 12:54     ` bug#65070: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-08 13:04       ` Eli Zaretskii
  0 siblings, 0 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-08 13:04 UTC (permalink / raw)
  To: Po Lu; +Cc: max, 65070

> From: Po Lu <luangruo@yahoo.com>
> Cc: max@mal-richtig.de,  65070@debbugs.gnu.org
> Date: Tue, 08 Aug 2023 20:54:44 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Po Lu, could you perhaps look into this?  Or at least tell me which
> > w32 code is activated when the user scrolls via the touchpad on
> > MS-Windows, and then I will try to take a look.
> 
> You wrote the W32 touchpad scrolling code, not me :-)
> 
> I believe it's within `w32_construct_mouse_wheel'.  Lamentably, I don't
> have access to a Windows laptop or similar machine where I can
> investigate this myself.

Thanks.  I don't have access to such a system either.  I guess someone
will have to step through the code with a debugger and see what is
wrong with it.  Or maybe just look at the code and see what I don't...





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-04 15:32 bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Hiroya Ebine
                   ` (2 preceding siblings ...)
  2023-08-08 10:19 ` bug#65070: max
@ 2023-08-18 16:49 ` Kazuhiro Ito
  2023-08-18 18:26   ` Eli Zaretskii
  3 siblings, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-18 16:49 UTC (permalink / raw)
  To: 65070; +Cc: Hiroya Ebine, Eli Zaretskii, max

> 1. c-h i (open any vertically long document)
> M-> (move to the bottom of the document) 3.
> 3. perform the scroll down gesture on the touchpad.
> 
> Then you will see the screen scroll up.
> Either scroll down or scroll up, whichever you do, the screen will scroll up.

I noticed that when I input wheel-down with touchpad, line count is
set to negative value, which should be positive integer.

(let ((event (read-event)))
  (cons (car event) (event-line-count event)))

;; Input via touchpad
(wheel-down . -3)
(wheel-up . 3)

;; Input via mouse wheel
(wheel-down . 1)
(wheel-up . 1)

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-18 16:49 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Kazuhiro Ito
@ 2023-08-18 18:26   ` Eli Zaretskii
  2023-08-18 18:39     ` Corwin Brust
  2023-08-18 22:54     ` Kazuhiro Ito
  0 siblings, 2 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-18 18:26 UTC (permalink / raw)
  To: Kazuhiro Ito; +Cc: hiroya.ebine1, max, 65070

> Date: Sat, 19 Aug 2023 01:49:08 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: Hiroya Ebine <hiroya.ebine1@gmail.com>,
>   Eli Zaretskii <eliz@gnu.org>, max@mal-richtig.de
> 
> > 1. c-h i (open any vertically long document)
> > M-> (move to the bottom of the document) 3.
> > 3. perform the scroll down gesture on the touchpad.
> > 
> > Then you will see the screen scroll up.
> > Either scroll down or scroll up, whichever you do, the screen will scroll up.
> 
> I noticed that when I input wheel-down with touchpad, line count is
> set to negative value, which should be positive integer.
> 
> (let ((event (read-event)))
>   (cons (car event) (event-line-count event)))
> 
> ;; Input via touchpad
> (wheel-down . -3)
> (wheel-up . 3)
> 
> ;; Input via mouse wheel
> (wheel-down . 1)
> (wheel-up . 1)

Thanks.  Can you show the complete data of the events in both the
mouse and the touchpad cases?

And I wonder how come the results are different: the Windows events
reported to Emacs are the same events, and are processed by the same
code.  Hmm...





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-18 18:26   ` Eli Zaretskii
@ 2023-08-18 18:39     ` Corwin Brust
  2023-08-18 22:58       ` Kazuhiro Ito
  2023-08-18 22:54     ` Kazuhiro Ito
  1 sibling, 1 reply; 34+ messages in thread
From: Corwin Brust @ 2023-08-18 18:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, Kazuhiro Ito, max, 65070

On Fri, Aug 18, 2023 at 1:26 PM Eli Zaretskii <eliz@gnu.org> wrote:
>
> And I wonder how come the results are different: the Windows events
> reported to Emacs are the same events, and are processed by the same
> code.  Hmm...
>

Kazuhiro Ito,

Can you look at the Touchpad control panel and confirm what setting
you have for the "Scroll direction" drop-down menu?

Thank you!





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-18 18:26   ` Eli Zaretskii
  2023-08-18 18:39     ` Corwin Brust
@ 2023-08-18 22:54     ` Kazuhiro Ito
  2023-08-19  7:54       ` Eli Zaretskii
  1 sibling, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-18 22:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, max, 65070

> > I noticed that when I input wheel-down with touchpad, line count is
> > set to negative value, which should be positive integer.
> > 
> > (let ((event (read-event)))
> >   (cons (car event) (event-line-count event)))
> > 
> > ;; Input via touchpad
> > (wheel-down . -3)
> > (wheel-up . 3)
> > 
> > ;; Input via mouse wheel
> > (wheel-down . 1)
> > (wheel-up . 1)
> 
> Thanks.  Can you show the complete data of the events in both the
> mouse and the touchpad cases?

;; touchpad
(wheel-down (#<window 62 on *scratch*> 385 (308 . 211) 300986031 nil 385 (38 . 9) nil (4 . 13) (8 . 22)) 1 -3 (0.0 . -79.75))
(wheel-up (#<window 62 on *scratch*> 158 (225 . 76) 300920437 nil 158 (28 . 3) nil (129 . 10) (8 . 22)) 1 3 (0.0 . 76.45))

;; mouse wheel
(wheel-down (#<window 62 on *scratch*> 101 (237 . 26) 300913750 nil 101 (29 . 1) nil (5 . 4) (8 . 22)))
(wheel-up (#<window 62 on *scratch*> 159 (275 . 101) 300906703 nil 159 (34 . 4) nil (275 . 13) (8 . 22)))

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-18 18:39     ` Corwin Brust
@ 2023-08-18 22:58       ` Kazuhiro Ito
  2023-08-19  7:56         ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-18 22:58 UTC (permalink / raw)
  To: Corwin Brust; +Cc: Eli Zaretskii, hiroya.ebine1, max, 65070

> Can you look at the Touchpad control panel and confirm what setting
> you have for the "Scroll direction" drop-down menu?

Down motion scrolls up.  But the same result if I change setting.

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-18 22:54     ` Kazuhiro Ito
@ 2023-08-19  7:54       ` Eli Zaretskii
  2023-08-19 13:45         ` Kazuhiro Ito
  2023-08-19 14:06         ` Eli Zaretskii
  0 siblings, 2 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-19  7:54 UTC (permalink / raw)
  To: Kazuhiro Ito; +Cc: hiroya.ebine1, max, 65070

> Date: Sat, 19 Aug 2023 07:54:47 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: 65070@debbugs.gnu.org,
> 	hiroya.ebine1@gmail.com,
> 	max@mal-richtig.de
> 
> > > I noticed that when I input wheel-down with touchpad, line count is
> > > set to negative value, which should be positive integer.
> > > 
> > > (let ((event (read-event)))
> > >   (cons (car event) (event-line-count event)))
> > > 
> > > ;; Input via touchpad
> > > (wheel-down . -3)
> > > (wheel-up . 3)
> > > 
> > > ;; Input via mouse wheel
> > > (wheel-down . 1)
> > > (wheel-up . 1)
> > 
> > Thanks.  Can you show the complete data of the events in both the
> > mouse and the touchpad cases?
> 
> ;; touchpad
> (wheel-down (#<window 62 on *scratch*> 385 (308 . 211) 300986031 nil 385 (38 . 9) nil (4 . 13) (8 . 22)) 1 -3 (0.0 . -79.75))
> (wheel-up (#<window 62 on *scratch*> 158 (225 . 76) 300920437 nil 158 (28 . 3) nil (129 . 10) (8 . 22)) 1 3 (0.0 . 76.45))
> 
> ;; mouse wheel
> (wheel-down (#<window 62 on *scratch*> 101 (237 . 26) 300913750 nil 101 (29 . 1) nil (5 . 4) (8 . 22)))
> (wheel-up (#<window 62 on *scratch*> 159 (275 . 101) 300906703 nil 159 (34 . 4) nil (275 . 13) (8 . 22)))

Thanks.  Does the patch below help?

Also, can you try this with mwheel-coalesce-scroll-events set to nil
and report the events Emacs gets in that case and the effect it
produces on scrolling with the touchpad and the mouse wheel?

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?
  . where and how are the PIXEL-DELTA data used for scrolling?

The corresponding X code is incomprehensible for me, as it deals with
concepts and values I cannot relate to the corresponding Windows
functionalities.  (I think the xterm.c code which deals with
pixel-wise scrolling could use some detailed commentary, regardless.)
And the ELisp manual doesn't divulge enough detail, either.  So your
help will be appreciated.

diff --git a/src/w32term.c b/src/w32term.c
index 2899e82..40b04b1 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -3412,7 +3412,7 @@ w32_construct_mouse_wheel (struct input_event *result, W32Msg *msg,
 	    ((double)FRAME_LINE_HEIGHT (f) * scroll_unit)
 	    / ((double)WHEEL_DELTA / delta);
       nlines = value_to_report / FRAME_LINE_HEIGHT (f) + 0.5;
-      result->arg = list3 (make_fixnum (nlines),
+      result->arg = list3 (make_fixnum (eabs (nlines)),
 			   make_float (0.0),
 			   make_float (value_to_report));
     }





^ permalink raw reply related	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-18 22:58       ` Kazuhiro Ito
@ 2023-08-19  7:56         ` Eli Zaretskii
  2023-08-19 13:46           ` Kazuhiro Ito
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-19  7:56 UTC (permalink / raw)
  To: Kazuhiro Ito; +Cc: hiroya.ebine1, corwin, max, 65070

> Date: Sat, 19 Aug 2023 07:58:07 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: Eli Zaretskii <eliz@gnu.org>,
> 	hiroya.ebine1@gmail.com,
> 	max@mal-richtig.de,
> 	65070@debbugs.gnu.org
> 
> > Can you look at the Touchpad control panel and confirm what setting
> > you have for the "Scroll direction" drop-down menu?
> 
> Down motion scrolls up.  But the same result if I change setting.

Can you show the entire set of definitions of the mouse wheel (and of
the touchpad, if it has a separate set of settings)?  I'm particularly
interested in the value of "how much to scroll for each wheel click".
But other settings could also be relevant.

Thanks.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19  7:54       ` Eli Zaretskii
@ 2023-08-19 13:45         ` Kazuhiro Ito
  2023-08-19 13:58           ` Eli Zaretskii
  2023-08-19 14:06         ` Eli Zaretskii
  1 sibling, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-19 13:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, max, 65070

> > > Thanks.  Can you show the complete data of the events in both the
> > > mouse and the touchpad cases?
> > 
> > ;; touchpad
> > (wheel-down (#<window 62 on *scratch*> 385 (308 . 211) 300986031 nil 385 (38 . 9) nil (4 . 13) (8 . 22)) 1 -3 (0.0 . -79.75))
> > (wheel-up (#<window 62 on *scratch*> 158 (225 . 76) 300920437 nil 158 (28 . 3) nil (129 . 10) (8 . 22)) 1 3 (0.0 . 76.45))
> > 
> > ;; mouse wheel
> > (wheel-down (#<window 62 on *scratch*> 101 (237 . 26) 300913750 nil 101 (29 . 1) nil (5 . 4) (8 . 22)))
> > (wheel-up (#<window 62 on *scratch*> 159 (275 . 101) 300906703 nil 159 (34 . 4) nil (275 . 13) (8 . 22)))
> 
> Thanks.  Does the patch below help?

I confirmed the problem was fixed.  Thank you.

> Also, can you try this with mwheel-coalesce-scroll-events set to nil
> and report the events Emacs gets in that case and the effect it
> produces on scrolling with the touchpad and the mouse wheel?

;; touchpad (with patch)
(wheel-down (#<window 19 on *scratch*> 339 (357 . 207) 354039703 nil 339 (44 . 9) nil (357 . 9) (8 . 22)) 1 2 (0.0 . -56.650000000000006))
(wheel-up (#<window 19 on *scratch*> 262 (357 . 207) 354036593 nil 262 (44 . 9) nil (5 . 9) (8 . 22)) 1 2 (0.0 . 40.699999999999996))

;; mouse wheel (with patch)
(wheel-up (#<window 19 on *scratch*> 204 (160 . 139) 353462328 nil 204 (20 . 6) nil (160 . 7) (8 . 22)))
(wheel-down (#<window 19 on *scratch*> 214 (239 . 319) 353457609 nil 214 (29 . 11) nil (239 . 77) (8 . 22)))

line counts of touchpad events vary from 0 to 3.  In the case that
line count is 0, actual scroll doesn't occur.

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19  7:56         ` Eli Zaretskii
@ 2023-08-19 13:46           ` Kazuhiro Ito
  2023-08-19 14:00             ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-19 13:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, corwin, max, 65070

> > > Can you look at the Touchpad control panel and confirm what setting
> > > you have for the "Scroll direction" drop-down menu?
> > 
> > Down motion scrolls up.  But the same result if I change setting.
> 
> Can you show the entire set of definitions of the mouse wheel (and of
> the touchpad, if it has a separate set of settings)?  I'm particularly
> interested in the value of "how much to scroll for each wheel click".
> But other settings could also be relevant.

I don't change settings from default.  In vertical
scrolling, "The following number of lines at a time" is selected and
its value is 3.  In horizontally scrolling, value is 3.

Touchpad specific settings are separeted from mouse settings.
Please see
https://www.digitalcitizen.life/touchpad-settings-windows-11/
if you can't access touchpad settings.

Related my settings are
"Drag two fingers to scroll" is checked.
"Scrolling direction" is "Down motion scrolls up".
"Pinch to zoom" is checked.

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19 13:45         ` Kazuhiro Ito
@ 2023-08-19 13:58           ` Eli Zaretskii
  2023-08-19 15:27             ` Kazuhiro Ito
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-19 13:58 UTC (permalink / raw)
  To: Kazuhiro Ito; +Cc: hiroya.ebine1, max, 65070

> Date: Sat, 19 Aug 2023 22:45:27 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: 65070@debbugs.gnu.org,
> 	hiroya.ebine1@gmail.com,
> 	max@mal-richtig.de
> 
> > > > Thanks.  Can you show the complete data of the events in both the
> > > > mouse and the touchpad cases?
> > > 
> > > ;; touchpad
> > > (wheel-down (#<window 62 on *scratch*> 385 (308 . 211) 300986031 nil 385 (38 . 9) nil (4 . 13) (8 . 22)) 1 -3 (0.0 . -79.75))
> > > (wheel-up (#<window 62 on *scratch*> 158 (225 . 76) 300920437 nil 158 (28 . 3) nil (129 . 10) (8 . 22)) 1 3 (0.0 . 76.45))
> > > 
> > > ;; mouse wheel
> > > (wheel-down (#<window 62 on *scratch*> 101 (237 . 26) 300913750 nil 101 (29 . 1) nil (5 . 4) (8 . 22)))
> > > (wheel-up (#<window 62 on *scratch*> 159 (275 . 101) 300906703 nil 159 (34 . 4) nil (275 . 13) (8 . 22)))
> > 
> > Thanks.  Does the patch below help?
> 
> I confirmed the problem was fixed.  Thank you.

Thanks, I installed the change on the emacs-29 branch.

Would all people who filed this and similar bug reports for touchpad
scrolling on Windows please see if the current emacs-29 branch fixes
their problems?

> > Also, can you try this with mwheel-coalesce-scroll-events set to nil
> > and report the events Emacs gets in that case and the effect it
> > produces on scrolling with the touchpad and the mouse wheel?
> 
> ;; touchpad (with patch)
> (wheel-down (#<window 19 on *scratch*> 339 (357 . 207) 354039703 nil 339 (44 . 9) nil (357 . 9) (8 . 22)) 1 2 (0.0 . -56.650000000000006))
> (wheel-up (#<window 19 on *scratch*> 262 (357 . 207) 354036593 nil 262 (44 . 9) nil (5 . 9) (8 . 22)) 1 2 (0.0 . 40.699999999999996))
> 
> ;; mouse wheel (with patch)
> (wheel-up (#<window 19 on *scratch*> 204 (160 . 139) 353462328 nil 204 (20 . 6) nil (160 . 7) (8 . 22)))
> (wheel-down (#<window 19 on *scratch*> 214 (239 . 319) 353457609 nil 214 (29 . 11) nil (239 . 77) (8 . 22)))
> 
> line counts of touchpad events vary from 0 to 3.  In the case that
> line count is 0, actual scroll doesn't occur.

Thanks, this is as expected, I think.  Is scrolling with the touchpad
more smooth if you set mwheel-coalesce-scroll-events to the nil value?





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19 13:46           ` Kazuhiro Ito
@ 2023-08-19 14:00             ` Eli Zaretskii
  0 siblings, 0 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-19 14:00 UTC (permalink / raw)
  To: Kazuhiro Ito; +Cc: hiroya.ebine1, corwin, max, 65070

> Date: Sat, 19 Aug 2023 22:46:17 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: corwin@bru.st, hiroya.ebine1@gmail.com, max@mal-richtig.de, 65070@debbugs.gnu.org
> 
> > Can you show the entire set of definitions of the mouse wheel (and of
> > the touchpad, if it has a separate set of settings)?  I'm particularly
> > interested in the value of "how much to scroll for each wheel click".
> > But other settings could also be relevant.
> 
> I don't change settings from default.  In vertical
> scrolling, "The following number of lines at a time" is selected and
> its value is 3.  In horizontally scrolling, value is 3.

Thanks, that value of 3 explains why you see LINES = 3 when
mwheel-coalesce-scroll-events is non-nil.  In that case, we collect
scroll events until they indicate the user wants to scroll enough for
a single wheel click.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19  7:54       ` Eli Zaretskii
  2023-08-19 13:45         ` Kazuhiro Ito
@ 2023-08-19 14:06         ` Eli Zaretskii
  2023-08-20  0:19           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-19 14:06 UTC (permalink / raw)
  To: Po Lu; +Cc: hiroya.ebine1, kzhr, max, 65070

> 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?
>   . where and how are the PIXEL-DELTA data used for scrolling?
> 
> The corresponding X code is incomprehensible for me, as it deals with
> concepts and values I cannot relate to the corresponding Windows
> functionalities.  (I think the xterm.c code which deals with
> pixel-wise scrolling could use some detailed commentary, regardless.)
> And the ELisp manual doesn't divulge enough detail, either.  So your
> help will be appreciated.

Now with Po Lu added.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19 13:58           ` Eli Zaretskii
@ 2023-08-19 15:27             ` Kazuhiro Ito
  2023-08-19 15:32               ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-19 15:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, max, 65070

> Is scrolling with the touchpad
> more smooth if you set mwheel-coalesce-scroll-events to the nil value?

No, as far as I tested.
When mwheel-coalesce-scroll-events is nil, it is very hard to
scrolling few lines, beacause slowly slinding fingers doesn't make
valid wheel event of which line count is non-zero.  It seems that
Emacs shows more similar behavior with other Windows applications when
mwheel-coalesce-scroll-events is non-nil on especially small amount
scrolling.

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19 15:27             ` Kazuhiro Ito
@ 2023-08-19 15:32               ` Eli Zaretskii
  2023-08-20  0:16                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-19 15:32 UTC (permalink / raw)
  To: Kazuhiro Ito, Po Lu; +Cc: hiroya.ebine1, max, 65070

> Date: Sun, 20 Aug 2023 00:27:13 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: 65070@debbugs.gnu.org,
> 	hiroya.ebine1@gmail.com,
> 	max@mal-richtig.de
> 
> > Is scrolling with the touchpad
> > more smooth if you set mwheel-coalesce-scroll-events to the nil value?
> 
> No, as far as I tested.
> When mwheel-coalesce-scroll-events is nil, it is very hard to
> scrolling few lines, beacause slowly slinding fingers doesn't make
> valid wheel event of which line count is non-zero.  It seems that
> Emacs shows more similar behavior with other Windows applications when
> mwheel-coalesce-scroll-events is non-nil on especially small amount
> scrolling.

Po Lu, is this expected?  Or, put it another way: how would a user set
up Emacs for smooth scrolling when the touchpad can produce scrolling
amounts smaller than "one scroll unit"?





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19 15:32               ` Eli Zaretskii
@ 2023-08-20  0:16                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-20  6:28                   ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-20  0:16 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, Kazuhiro Ito, max, 65070

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Sun, 20 Aug 2023 00:27:13 +0900
>> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
>> Cc: 65070@debbugs.gnu.org,
>> 	hiroya.ebine1@gmail.com,
>> 	max@mal-richtig.de
>> 
>> > Is scrolling with the touchpad
>> > more smooth if you set mwheel-coalesce-scroll-events to the nil value?
>> 
>> No, as far as I tested.
>> When mwheel-coalesce-scroll-events is nil, it is very hard to
>> scrolling few lines, beacause slowly slinding fingers doesn't make
>> valid wheel event of which line count is non-zero.  It seems that
>> Emacs shows more similar behavior with other Windows applications when
>> mwheel-coalesce-scroll-events is non-nil on especially small amount
>> scrolling.
>
> Po Lu, is this expected?  Or, put it another way: how would a user set
> up Emacs for smooth scrolling when the touchpad can produce scrolling
> amounts smaller than "one scroll unit"?

By enabling pixel-scroll-precision-mode, thanks.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-19 14:06         ` Eli Zaretskii
@ 2023-08-20  0:19           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-20  6:34             ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-20  0:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, kzhr, max, 65070

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.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  0:16                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-20  6:28                   ` Eli Zaretskii
  2023-08-20 13:14                     ` Kazuhiro Ito
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-20  6:28 UTC (permalink / raw)
  To: Po Lu; +Cc: hiroya.ebine1, kzhr, max, 65070

> From: Po Lu <luangruo@yahoo.com>
> Cc: Kazuhiro Ito <kzhr@d1.dion.ne.jp>,  65070@debbugs.gnu.org,
>   hiroya.ebine1@gmail.com,  max@mal-richtig.de
> Date: Sun, 20 Aug 2023 08:16:27 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Date: Sun, 20 Aug 2023 00:27:13 +0900
> >> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> >> Cc: 65070@debbugs.gnu.org,
> >> 	hiroya.ebine1@gmail.com,
> >> 	max@mal-richtig.de
> >> 
> >> > Is scrolling with the touchpad
> >> > more smooth if you set mwheel-coalesce-scroll-events to the nil value?
> >> 
> >> No, as far as I tested.
> >> When mwheel-coalesce-scroll-events is nil, it is very hard to
> >> scrolling few lines, beacause slowly slinding fingers doesn't make
> >> valid wheel event of which line count is non-zero.  It seems that
> >> Emacs shows more similar behavior with other Windows applications when
> >> mwheel-coalesce-scroll-events is non-nil on especially small amount
> >> scrolling.
> >
> > Po Lu, is this expected?  Or, put it another way: how would a user set
> > up Emacs for smooth scrolling when the touchpad can produce scrolling
> > amounts smaller than "one scroll unit"?
> 
> By enabling pixel-scroll-precision-mode, thanks.

Kazuhiro Ito and Max, could you perhaps try that and provide feedback?
I wrote that code flying blind, having no access to a system where the
scrolling gestures could provide such fine resolution.  So I would be
interested to know the results.

Thanks.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  0:19           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-20  6:34             ` Eli Zaretskii
  2023-08-20  7:04               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-20  6:34 UTC (permalink / raw)
  To: Po Lu; +Cc: hiroya.ebine1, kzhr, max, 65070

> 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?





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  6:34             ` Eli Zaretskii
@ 2023-08-20  7:04               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-20  7:13                 ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-20  7:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, kzhr, max, 65070

Eli Zaretskii <eliz@gnu.org> writes:

> 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?

Yes, the event type is entirely disregarded.

> 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?

Actually, LINES is only meant to be produced under NS, where the window
system allegedly provides this information.  handle_one_xevent and most
other terminals merely set LINES to nil.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  7:04               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-20  7:13                 ` Eli Zaretskii
  2023-08-20  7:43                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-20  7:13 UTC (permalink / raw)
  To: Po Lu; +Cc: hiroya.ebine1, kzhr, max, 65070

> 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 15:04:40 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > 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?
> 
> Actually, LINES is only meant to be produced under NS, where the window
> system allegedly provides this information.  handle_one_xevent and most
> other terminals merely set LINES to nil.

So, when PIXEL-DELTA is non-nil, LINES is (or should be) ignored?
What happens on NS, which does provide this information?





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  7:13                 ` Eli Zaretskii
@ 2023-08-20  7:43                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-20  8:10                     ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-20  7:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: hiroya.ebine1, kzhr, max, 65070

Eli Zaretskii <eliz@gnu.org> writes:

> So, when PIXEL-DELTA is non-nil, LINES is (or should be) ignored?

Not when PIXEL-DELTA is non-nil, but when mwheel-coalesce-scroll-events
is disabled.

> What happens on NS, which does provide this information?

I'm not sure, only the NS port developers who introduced LINES know
that.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  7:43                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-20  8:10                     ` Eli Zaretskii
  0 siblings, 0 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-20  8:10 UTC (permalink / raw)
  To: Po Lu; +Cc: hiroya.ebine1, kzhr, max, 65070

> 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 15:43:51 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > So, when PIXEL-DELTA is non-nil, LINES is (or should be) ignored?
> 
> Not when PIXEL-DELTA is non-nil, but when mwheel-coalesce-scroll-events
> is disabled.
> 
> > What happens on NS, which does provide this information?
> 
> I'm not sure, only the NS port developers who introduced LINES know
> that.

Thanks, I've now updated the documentation with this information.





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20  6:28                   ` Eli Zaretskii
@ 2023-08-20 13:14                     ` Kazuhiro Ito
  2023-08-20 13:34                       ` Eli Zaretskii
  0 siblings, 1 reply; 34+ messages in thread
From: Kazuhiro Ito @ 2023-08-20 13:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Po Lu, hiroya.ebine1, max, 65070

> > >> > Is scrolling with the touchpad
> > >> > more smooth if you set mwheel-coalesce-scroll-events to the nil value?
> > >> 
> > >> No, as far as I tested.
> > >> When mwheel-coalesce-scroll-events is nil, it is very hard to
> > >> scrolling few lines, beacause slowly slinding fingers doesn't make
> > >> valid wheel event of which line count is non-zero.  It seems that
> > >> Emacs shows more similar behavior with other Windows applications when
> > >> mwheel-coalesce-scroll-events is non-nil on especially small amount
> > >> scrolling.
> > >
> > > Po Lu, is this expected?  Or, put it another way: how would a user set
> > > up Emacs for smooth scrolling when the touchpad can produce scrolling
> > > amounts smaller than "one scroll unit"?
> > 
> > By enabling pixel-scroll-precision-mode, thanks.
> 
> Kazuhiro Ito and Max, could you perhaps try that and provide feedback?
> I wrote that code flying blind, having no access to a system where the
> scrolling gestures could provide such fine resolution.  So I would be
> interested to know the results.

Enabling pixel-scroll-precision-mode provides more smoother,
pixel-based scrolling on Windows!

FYI, mwheel-coalesce-scroll-events is automatically set to nil by
pixel-scroll-precision-mode.

-- 
Kazuhiro Ito





^ permalink raw reply	[flat|nested] 34+ messages in thread

* bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down.
  2023-08-20 13:14                     ` Kazuhiro Ito
@ 2023-08-20 13:34                       ` Eli Zaretskii
  0 siblings, 0 replies; 34+ messages in thread
From: Eli Zaretskii @ 2023-08-20 13:34 UTC (permalink / raw)
  To: Kazuhiro Ito; +Cc: luangruo, hiroya.ebine1, max, 65070

> Date: Sun, 20 Aug 2023 22:14:58 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: Po Lu <luangruo@yahoo.com>,
> 	65070@debbugs.gnu.org,
> 	hiroya.ebine1@gmail.com,
> 	max@mal-richtig.de
> 
> > > > Po Lu, is this expected?  Or, put it another way: how would a user set
> > > > up Emacs for smooth scrolling when the touchpad can produce scrolling
> > > > amounts smaller than "one scroll unit"?
> > > 
> > > By enabling pixel-scroll-precision-mode, thanks.
> > 
> > Kazuhiro Ito and Max, could you perhaps try that and provide feedback?
> > I wrote that code flying blind, having no access to a system where the
> > scrolling gestures could provide such fine resolution.  So I would be
> > interested to know the results.
> 
> Enabling pixel-scroll-precision-mode provides more smoother,
> pixel-based scrolling on Windows!
> 
> FYI, mwheel-coalesce-scroll-events is automatically set to nil by
> pixel-scroll-precision-mode.

Thanks, I'm glad to know the code I wrote and couldn't test does its
job.





^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2023-08-20 13:34 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-04 15:32 bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Hiroya Ebine
2023-08-05  9:04 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up only Hiroya Ebine
2023-08-05 10:44   ` Eli Zaretskii
2023-08-05  9:51 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Eli Zaretskii
2023-08-07 13:18   ` Hiroya Ebine
2023-08-07 14:05     ` Eli Zaretskii
2023-08-08 10:19 ` bug#65070: max
2023-08-08 12:46   ` bug#65070: Eli Zaretskii
2023-08-08 12:54     ` bug#65070: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-08 13:04       ` bug#65070: Eli Zaretskii
2023-08-18 16:49 ` bug#65070: 29.1; (Only on Windows) Both touchpad scroll gestures scroll the screen up and down Kazuhiro Ito
2023-08-18 18:26   ` Eli Zaretskii
2023-08-18 18:39     ` Corwin Brust
2023-08-18 22:58       ` Kazuhiro Ito
2023-08-19  7:56         ` Eli Zaretskii
2023-08-19 13:46           ` Kazuhiro Ito
2023-08-19 14:00             ` Eli Zaretskii
2023-08-18 22:54     ` Kazuhiro Ito
2023-08-19  7:54       ` Eli Zaretskii
2023-08-19 13:45         ` Kazuhiro Ito
2023-08-19 13:58           ` Eli Zaretskii
2023-08-19 15:27             ` Kazuhiro Ito
2023-08-19 15:32               ` Eli Zaretskii
2023-08-20  0:16                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-20  6:28                   ` Eli Zaretskii
2023-08-20 13:14                     ` Kazuhiro Ito
2023-08-20 13:34                       ` Eli Zaretskii
2023-08-19 14:06         ` Eli Zaretskii
2023-08-20  0:19           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-20  6:34             ` Eli Zaretskii
2023-08-20  7:04               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-20  7:13                 ` Eli Zaretskii
2023-08-20  7:43                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-20  8:10                     ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).