I've implemented support for exposing the pixel delta of XInput 2 wheel events to Lisp code. With GC turned off, utilizing a modified pixel-scroll.el with this support results in a quite pleasant experience, but pixel-scroll still GCs too much to be useful. Pixel based scrolling is a popular feature in modern X applications, and does make life a lot easier in many cases. The existing support is inadequate as it cannot utilize the detailed delta information available from modern touch-based scroll wheels, which this patch enables. The XInput 2 support isn't the best from a code duplication POV, but the behavior of the XInput 2 code often differs in subtle ways from that of the Core Input code, and trying to combine the two together would result in a more catastrophic mess than leaving them apart. Obviously, here is the original XInput 2 support patch: