Clear held keybinding when clicking mouse buttons with modifiers

When handling a button click with one or more modifiers, or using the
mouse with the floating modifier, assume that the modifiers are not
intended as a standalone keybinding, and clear the held_binding from
the keyboard. This way it is possible to use a single modifier (e.g.
Super) as main modifier, floating modifier, and as a standalone
keybinding (with --release). Fixes #4505
This commit is contained in:
Livanh 2023-10-06 21:09:18 +02:00
parent 801bc76ce3
commit 2ea6ceb6bb
3 changed files with 10 additions and 1 deletions

View file

@ -9,6 +9,7 @@
#include <wlr/util/edges.h>
#include "sway/config.h"
#include "sway/input/input-manager.h"
#include "sway/input/keyboard.h"
#include "sway/input/tablet.h"
#include "sway/input/text_input.h"
@ -369,4 +370,7 @@ keyboard_shortcuts_inhibitor_get_for_surface(const struct sway_seat *seat,
struct sway_keyboard_shortcuts_inhibitor *
keyboard_shortcuts_inhibitor_get_for_focused_surface(const struct sway_seat *seat);
struct sway_keyboard *sway_keyboard_for_wlr_keyboard(struct sway_seat *seat,
struct wlr_keyboard *wlr_keyboard);
#endif