gpui: Handle Swipe events to support navigation buttons on some mice (#23332)
Szymon Piechaczek
created
Closes #14170
To fix this, Zed needs to handle swipe events on its NSView. Logitech
mice don't send the usual Mouse4 and Mouse5 buttons but emulate swipe
gestures according to these websites:
- https://superuser.com/a/1216049
- https://sensible-side-buttons.archagon.net/
Of course, the user can map these buttons to something else in the
device's driver. Most IDEs (VSCode, IntelliJ) handle that correctly by
default so it would be good to follow that pattern.
Since it's my first contribution here, please let me know if I need to
enhance this PR to make it good enough for the main branch.
Release Notes:
- Fixed mouse navigation buttons on some devices (Logitech, Mac OS)