Subject: Re: bug#57995: <wheel-right> with pixel-scroll-precision-mode

From: Po Lu <[email-masked]>
Date: Mon, 26 Sep 2022 15:57:34 +0800

Tak Kunihiro <[email-masked]> writes:

>>> With pixel-scroll-precision-mode, <wheel-right> and <wheel-left> does
>>> not work. Is this expected behavior?
>>> 
>>> 1. emacs -Q
>>> 2. (setq mouse-wheel-tilt-scroll t)
>>> 3. <wheel-right> or <wheel-left> scrolls buffer.
>>> 4. (pixel-scroll-precision-mode 1)
>>> 5. Then <wheel-right> or <wheel-left> does not scroll buffer.
>> 
>> Thanks for reporting this bug.  Could you please include the output from
>> `report-emacs-bug', as this is likely a system-specific issue?
>
> No buffer scroll with <wheel-right> and <wheel-left> by mouse with Mac.
> I confirm that I can scroll buffer with swipe-right and swipe-left by
> touchpad with MacBook.

Right, thanks.  Could you please run Emacs underneath a debugger (GDB or
LLDB), and see whether or not this code around line 7342 of nsterm.m is
ever hit:

          CGFloat delta = [theEvent deltaY];
          /* Mac notebooks send wheel events with delta equal to 0
	     when trackpad scrolling.  */
          if (delta == 0)
            {
              delta = [theEvent deltaX];
              if (delta == 0)
                {
                  NSTRACE_MSG ("deltaIsZero");
                  return;
                }
              emacs_event->kind = HORIZ_WHEEL_EVENT; <================
            }
          else
            emacs_event->kind = WHEEL_EVENT;

          emacs_event->code = 0;
          emacs_event->modifiers = EV_MODIFIERS (theEvent) |
            ((delta > 0) ? up_modifier : down_modifier);

when you try to scroll left or right with your mouse while
pixel-scroll-precision-mode is enabled?