From 724fa4a7d44fe594109213b8a6f438e3539aa332 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Fri, 14 Oct 2022 12:38:44 +0100 Subject: add touch binding to output --- src/managers/input/Touch.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/managers/input/Touch.cpp') diff --git a/src/managers/input/Touch.cpp b/src/managers/input/Touch.cpp index d7b52171..e140d8a1 100644 --- a/src/managers/input/Touch.cpp +++ b/src/managers/input/Touch.cpp @@ -3,6 +3,12 @@ void CInputManager::onTouchDown(wlr_touch_down_event* e) { auto PMONITOR = g_pCompositor->getMonitorFromName(e->touch->output_name ? e->touch->output_name : ""); + + const auto PDEVIT = std::find_if(m_lTouchDevices.begin(), m_lTouchDevices.end(), [&](const STouchDevice& other) { return other.pWlrDevice == &e->touch->base; }); + + if (PDEVIT != m_lTouchDevices.end() && !PDEVIT->boundOutput.empty()) + PMONITOR = g_pCompositor->getMonitorFromName(PDEVIT->boundOutput); + PMONITOR = PMONITOR ? PMONITOR : g_pCompositor->m_pLastMonitor; wlr_cursor_warp(g_pCompositor->m_sWLRCursor, g_pCompositor->m_sSeat.mouse->mouse, PMONITOR->vecPosition.x + e->x * PMONITOR->vecSize.x, PMONITOR->vecPosition.y + e->y * PMONITOR->vecSize.y); -- cgit v1.2.3