> > Tested on my x230t and will continue to test. No regrssions noticed on > > relative pointing devices. > > > > OK? > > Anyone? > > I appreciate that I am probably the only one using OpenBSD on a tablet, > but a "looks OK" and "no regressions for relative pointing devices" > would be great.
What happens when priv->swap_axes is set, and the ax && ay branch is taken along with the wsWheelEmuFilterMotion() branch. Following continue another event is processed and now the axes are swapped again (ax and ay were not reset after use) and then what? Not very likely I know. In hindsight it's possible that wheel emulation has been broken in the previous revision; a glance at wsWheelEmuFilterMotion suggests it doesn't like to handle both x and y axes at once, and will only do the former (resetting the latter) if both are set. I've never used this thing though, and I didn't dive deeper. Other than that I guess your diff is about as reasonable as one can be with this hairy code. I was waiting and hoping someone else with an absolute pointing device could've checked and tested it because I really didn't enjoy working on this file when I did my patch :-)