labwc/src/input
tokyo4j 7cc79edd62 cursor: fix button release events sometimes not being sent
When `wlr_seat_pointer_notify_button()` is called on a button press event,
that funtion must also be called on the subsequent button release event
because otherwise wlroots thinks the button is kept pressed and it
causes issues with validating DnD requests from clients, where only one
button must be pressed. This was the case when a CSD client opens a
client-menu via `show_window_menu` request after pressing its window with
the right button because we were always not notifying button release
events while a menu is open.

So let's keep track of bound (pressed but not notified) buttons and notify
button release events only when the button is not bound, like we are doing
for key-state.
2024-10-13 20:45:16 +01:00
..
cursor.c cursor: fix button release events sometimes not being sent 2024-10-13 20:45:16 +01:00
gestures.c Move gesture handling out of cursor.c 2023-10-30 21:14:04 +00:00
ime.c IME: fix flicker when popup surface is initially mapped 2024-06-04 03:59:56 +09:00
input.c keyboard: set keyboard layout on reconfigure 2024-01-19 18:59:14 +00:00
key-state.c key-state.c: generalize set operations 2024-10-13 20:45:16 +01:00
keyboard.c Refactor the logic of placing client-menu with ShowMenu action 2024-09-21 18:07:34 +01:00
meson.build input: add tablet tool setup 2024-05-27 22:40:50 +02:00
tablet-pad.c input: move cursor event listeners from tablet to seat 2024-08-13 18:40:34 +02:00
tablet-tool.c input: move cursor event listeners from tablet to seat 2024-08-13 18:40:34 +02:00
tablet.c cursor: prevent Drag mousebinds from running without button press 2024-10-01 21:26:19 +01:00
touch.c Refactor the logic of placing client-menu with ShowMenu action 2024-09-21 18:07:34 +01:00