diff options
| author | vaxerski <vaxry@vaxry.net> | 2023-08-18 22:40:23 +0200 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2023-08-18 22:40:23 +0200 |
| commit | 942ee943f5b0f3f9611b2ff5481dacf19aed6a17 (patch) | |
| tree | 7948429ac0dab0295b21406b3d88352c5c8e829e /src/events/Devices.cpp | |
| parent | 14f20a737221f09a601d846c2b37b969afe2e725 (diff) | |
input: unify constraint hint logic
Unifies the constraint hint logic. Previously, ignoring the stupid conditions, unscaled hints were mistaken with scaled coordinates.
Diffstat (limited to 'src/events/Devices.cpp')
| -rw-r--r-- | src/events/Devices.cpp | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/events/Devices.cpp b/src/events/Devices.cpp index 4b8eeea8..7a836edd 100644 --- a/src/events/Devices.cpp +++ b/src/events/Devices.cpp @@ -122,19 +122,8 @@ void Events::listener_destroyConstraint(void* owner, void* data) { const auto PWINDOW = g_pCompositor->getConstraintWindow(g_pCompositor->m_sSeat.mouse); - if (PWINDOW && PCONSTRAINT->positionHint != Vector2D{-1, -1}) { - if (PWINDOW->m_bIsX11) { - wlr_cursor_warp(g_pCompositor->m_sWLRCursor, nullptr, PCONSTRAINT->positionHint.x + PWINDOW->m_uSurface.xwayland->x, - PWINDOW->m_uSurface.xwayland->y + PCONSTRAINT->positionHint.y); - - wlr_seat_pointer_warp(PCONSTRAINT->constraint->seat, PCONSTRAINT->positionHint.x, PCONSTRAINT->positionHint.y); - } else { - wlr_cursor_warp(g_pCompositor->m_sWLRCursor, nullptr, PCONSTRAINT->positionHint.x + PWINDOW->m_vRealPosition.vec().x, - PCONSTRAINT->positionHint.y + PWINDOW->m_vRealPosition.vec().y); - - wlr_seat_pointer_warp(PCONSTRAINT->constraint->seat, PCONSTRAINT->positionHint.x, PCONSTRAINT->positionHint.y); - } - } + if (PWINDOW && PCONSTRAINT->positionHint != Vector2D{-1, -1}) + g_pInputManager->warpMouseToConstraintMiddle(PCONSTRAINT); PCONSTRAINT->pMouse->currentConstraint = nullptr; } |
