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

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

bug#49803: 27.2; Mouse wheel on MacOS is reported as mouse-4 and mouse-5


From: Didier
Subject: bug#49803: 27.2; Mouse wheel on MacOS is reported as mouse-4 and mouse-5, but Emacs mwheel seems to use wheel-up/wheel-down instead
Date: Sun, 1 Aug 2021 23:44:05 -0700

In macOS, when running Emacs in GUI, the wheel is received as <wheel-up> and <wheel-down> and it all works.

But in macOS, when running inside a terminal such as Terminal.app or iTerm2, the wheel is received as <mouse-4> and <mouse-5> and it no longer works, because the defcustom is not smart enough to check if we are running in GUI or not.

So I think it should be modified to something like:

(if (or (featurep 'w32-win) (and (display-graphic-p) (featurep 'ns-win)))
        'wheel-down
      'mouse-5)

Does that make sense?

On Sat, 31 Jul 2021 at 23:18, Eli Zaretskii <eliz@gnu.org> wrote:
> From: Didier <didibus@gmail.com>
> Date: Sat, 31 Jul 2021 19:27:58 -0700
>
> I'm on a MacBook Pro with macOS Big Sur, and on both the laptop trackpad
> and with my plugged in USB mouse, the wheel or 2-finger up/down on
> trackpad, is reported to Emacs when in terminal as mouse-4 and mouse-5.
> That means that scroll doesn't work in Terminal.app or in iTerm2 on MAC,
> since mouse-4 and mouse-5 are not bound.
>
> In the GUI Mac it works, because it gets reported as wheel-up and
> wheel-down.
>
> My thought is maybe here
> https://github.com/emacs-mirror/emacs/blob/master/lisp/mwheel.el#L54
> there should be an additional check for if its running with a
> window-system or not?

I don't think I follow.  The defcustoms there say:

  (defcustom mouse-wheel-down-event
    (if (or (featurep 'w32-win) (featurep 'ns-win))
        'wheel-up
      'mouse-4)
    "Event used for scrolling down."
    :group 'mouse
    :type 'symbol
    :set 'mouse-wheel-change-button)

  (defcustom mouse-wheel-up-event
    (if (or (featurep 'w32-win) (featurep 'ns-win))
        'wheel-down
      'mouse-5)
    "Event used for scrolling up."
    :group 'mouse
    :type 'symbol
    :set 'mouse-wheel-change-button)

This seems already to cater to macOS, so why isn't it working for you?

reply via email to

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