there seems to be an issue that with too many registered events some window
manager cannot recognize the device as input device with systemd 247.
PixlOne#166
This commit allows HiresScroll (when target is true) to map the up and
down events to gestures that support it (i.e.AxisGesture/
IntervalGesture). This check is done by checking if wheelCompatibility()
is true.
This also allows hires scroll events to send low-res scroll events as
well.
TODO: Fix bug w/ Chromium (and some other programs?) where mapping
scroll wheel to REL_WHEEL_HI_RES will cause the program to skip events
occassionally. I have literally been stuck on this bug for a week and I
still don't know what causes it. evtest shows proper scroll events,
Firefox works fine, and libinput test-gui reports proper scrolling.
Only supports OnRelease right now. Also, some bugs were spotted while
writing this:
- Sometimes deadlocks on startup (cause unknown)
- Sometimes valid CIDs will be unknown (bug may have been fixed?)