|
Pointer events set button only on press and release, so wsap_term tracked
held buttons itself to tell a drag from a hover.
yasl_pointer_event.buttons now holds a YASL_BUTTON_BIT() mask of the buttons
held after each event. The common input queue tracks it from the DOWN and
UP events it queues, and clears it on INPUT_RESET and on allocation
failure. Wayland also clears it on leave, since the compositor sends leave
during a press only when it takes the pointer and no release follows. X11
and Cocoa keep it, because they deliver motion and the release to the
pressed window after leave.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|