On Tue Jan 9 15:16:24 2024 +0000, Warren Togami wrote:
It works. Not sure how sensitivity is supposed to work. It currently is a LOT LESS SENSITIVE than the equivalent touchpad scrolling behavior with XWayland. Here's a test:
- Create a directory with 2433 files. Run wine explorer.exe with
XWayland and native Wayland then navigate to that directory.
- XWayland: Touchpad two-finger scroll requires 18 full sweeps to get
from the top to the bottom.
- Wayland: Touchpad two-finger scroll requires 100 full sweeps to get
from the top to the bottom. Notably half swipe does nothing. It requires a full swipe to get it to scroll at all.
so this just ended up being a bug... Playing with gdb and looking at the R8 register (i can't figure out how to get TRACE to print anything or gdb to show source code, but R8 register should be the axis value), it seems that rather than sending one big event for a big swipe, mutter chunks up the swipe into a series of ~11 pixels smaller events. 11 pixels is less than my defined 18 pixel line, so a casting bug was making it discard the event entirely most of the time. I added an accumulator to coalesce those 11 pixel strokes into line sized chunks. i'm doing a local test build now, we'll see if this fixes it.