+1, I’ve noticed that too (especially with the pixel-scroll-mode on OSX). The extra inertia from scrolling causes Emacs to scroll up/down uncontrollably for 300-400 ms after every scroll.

On Jun 28, 2017, at 2:40 AM, Anders Lindgren <andlind@gmail.com> wrote:

I’ve kept a separate ‘touch-scroll’ event as the mac port just embeds
that into the mouse-wheel events, but I feel there’s an argument to be
made that they should be handled differently.

One thing that has annoyed me with the existing mouse-wheel events is that macOS sends implements a kind of inertia, resulting is a sequence of events a few seconds after I've stopped scrolling. Furthermore, if I have pressed, say, shift while scrolling and release the shift key while the extra events are arriving, the remaning events are treated as though they were unshifted, possibly executing a different Emacs command.

It would be good to be able to get a single event for swipe commands (even though the inertia is useful for some commands).

    -- Anders

Ps. In the package https://github.com/Lindydancer/multicolumn I've implemented support for moving to next/prev/first/last window using horizontal swipes. To get around the extra events passed by the macOS, I'm using timers to silence scroll events for a while after a command has been handled, which clearly isn't a good technical solution.