diff --git a/sway/input/seatop_default.c b/sway/input/seatop_default.c index 7fd00d718..d407b48f0 100644 --- a/sway/input/seatop_default.c +++ b/sway/input/seatop_default.c @@ -247,8 +247,12 @@ static void handle_tablet_tool_tip(struct sway_seat *seat, bool is_floating_or_child = container_is_floating_or_child(cont); bool is_fullscreen_or_child = container_is_fullscreen_or_child(cont); struct wlr_keyboard *keyboard = wlr_seat_get_keyboard(seat->wlr_seat); + struct sway_keyboard_shortcuts_inhibitor *sway_inhibitor = + keyboard_shortcuts_inhibitor_get_for_focused_surface(seat); + bool shortcuts_inhibited = sway_inhibitor && sway_inhibitor->inhibitor->active; bool mod_pressed = keyboard && - (wlr_keyboard_get_modifiers(keyboard) & config->floating_mod); + (wlr_keyboard_get_modifiers(keyboard) & config->floating_mod) + && (!shortcuts_inhibited || config->floating_mod_inhibited); // Handle beginning floating move if (is_floating_or_child && !is_fullscreen_or_child && mod_pressed) {