Skip to content

Commit

Permalink
Improve Linux X11 scroll handling
Browse files Browse the repository at this point in the history
* Now uses valuator info from slave pointers rather than master. This
hopefully fixes remaining cases where scrolling is fully
broken. #14089, #15970, #17230

* Per-device recording of "last scroll position" used to calculate
deltas. This meant that swithing scroll devices would cause a sudden
jump of scroll position, often to the beginning or end of the
file (#14416).

* Re-queries device metadata when devices change, so that newly
plugged in devices will work, and re-use of device-ids don't use old
metadata with a new device.

* xinput 2 documentation describes support for multiple master
devices. I believe this implementation will support that, since now it
just uses `DeviceInfo` from slave devices. The concept of master
devices is only used in registering for events.

* Uses popcount+bit masking to resolve axis indexes, instead of
iterating bit indices.
  • Loading branch information
mgsloan committed Oct 1, 2024
1 parent 4c60cf3 commit 1b872a9
Show file tree
Hide file tree
Showing 3 changed files with 319 additions and 117 deletions.
Loading

0 comments on commit 1b872a9

Please sign in to comment.