summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
diff options
context:
space:
mode:
authorDregu <dregu@dreg.us>2026-03-23 14:55:22 +0200
committerGitHub <noreply@github.com>2026-03-23 12:55:22 +0000
commit64a2e4e26388f017fd9198a6d70424f1f251a5a0 (patch)
treef47ee4a90831f3be6395eca2bee10983ed3cbe31 /src/managers/input/InputManager.cpp
parent488c8f4902ca307b01d3b712a3f565d3ede2675c (diff)
input: fix the multimon touch fix (#13819)
Diffstat (limited to 'src/managers/input/InputManager.cpp')
-rw-r--r--src/managers/input/InputManager.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp
index 81383b58..875fd0b6 100644
--- a/src/managers/input/InputManager.cpp
+++ b/src/managers/input/InputManager.cpp
@@ -261,7 +261,7 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st
g_pCompositor->scheduleFrameForMonitor(PMONITOR, Aquamarine::IOutput::AQ_SCHEDULE_CURSOR_MOVE);
// constraints
- if (mouse && !g_pSeatManager->m_mouse.expired() && isConstrained()) {
+ if (!overridePos.has_value() && !g_pSeatManager->m_mouse.expired() && isConstrained()) {
const auto SURF = Desktop::View::CWLSurface::fromResource(Desktop::focusState()->surface());
const auto CONSTRAINT = SURF ? SURF->constraint() : nullptr;
@@ -342,8 +342,8 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st
// if we are holding a pointer button,
// and we're not dnd-ing, don't refocus. Keep focus on last surface.
- if (mouse && !PROTO::data->dndActive() && !m_currentlyHeldButtons.empty() && Desktop::focusState()->surface() && Desktop::focusState()->surface()->m_mapped &&
- g_pSeatManager->m_state.pointerFocus && !m_hardInput) {
+ if (!overridePos.has_value() && !PROTO::data->dndActive() && !m_currentlyHeldButtons.empty() && Desktop::focusState()->surface() &&
+ Desktop::focusState()->surface()->m_mapped && g_pSeatManager->m_state.pointerFocus && !m_hardInput) {
foundSurface = g_pSeatManager->m_state.pointerFocus.lock();
// IME popups aren't desktop-like elements
@@ -648,7 +648,7 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st
m_lastFocusOnLS = true;
}
- if (mouse) {
+ if (!overridePos.has_value()) {
g_pSeatManager->setPointerFocus(foundSurface, surfaceLocal);
g_pSeatManager->sendPointerMotion(time, surfaceLocal);
}