Files
oak-gpui/crates
Michael SloanandThorsten Ball 527c9097f8 linux: Various X11 scroll improvements (#18484)
Closes  #14089, #14416, #15970, #17230, #18485

Release Notes:

- Fixed some cases where Linux X11 mouse scrolling doesn't work at all
(#14089, ##15970, #17230)
- Fixed handling of switching between Linux X11 devices used for
scrolling (#14416, #18485)

Change details:

Also includes the commit from PR #18317 so I don't have to deal with
merge conflicts.

* Now uses valuator info from slave pointers rather than master. This
hopefully fixes remaining cases where scrolling is fully
broken. https://github.com/zed-industries/zed/issues/14089,
https://github.com/zed-industries/zed/issues/15970,
https://github.com/zed-industries/zed/issues/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 (https://github.com/zed-industries/zed/issues/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.

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
2024-10-01 09:14:40 +02:00
..
2024-09-19 07:20:27 -04:00
2024-09-23 15:28:04 -06:00
2024-09-13 13:17:49 -04:00
2024-04-30 23:31:59 -06:00
2024-08-13 23:06:07 -07:00
2024-09-23 15:28:04 -06:00
2024-03-11 10:45:57 +01:00
2024-09-23 15:28:04 -06:00
2024-07-15 17:04:15 -06:00
2024-09-23 15:28:04 -06:00
2024-09-27 13:30:25 -04:00
2024-09-24 16:23:08 -06:00
2024-09-19 07:20:27 -04:00
2024-09-17 11:19:07 -04:00
2024-09-27 10:06:19 -06:00
2024-09-16 08:29:46 -04:00