From 09e77bf8443b129213aca71ecade23690988d595 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Mon, 6 Jun 2022 12:08:33 +0200 Subject: [PATCH] added force_no_accel --- src/config/ConfigManager.cpp | 1 + src/managers/InputManager.cpp | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index f60f8ea9..ad5ea5a7 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -83,6 +83,7 @@ void CConfigManager::setDefaultVars() { configValues["input:repeat_delay"].intValue = 600; configValues["input:natural_scroll"].intValue = 0; configValues["input:numlock_by_default"].intValue = 0; + configValues["input:force_no_accel"].intValue = 0; configValues["input:touchpad:disable_while_typing"].intValue = 1; configValues["input:follow_mouse"].intValue = 1; diff --git a/src/managers/InputManager.cpp b/src/managers/InputManager.cpp index 7ff80135..be861532 100644 --- a/src/managers/InputManager.cpp +++ b/src/managers/InputManager.cpp @@ -5,12 +5,14 @@ void CInputManager::onMouseMoved(wlr_pointer_motion_event* e) { float sensitivity = g_pConfigManager->getFloat("general:sensitivity"); - if (g_pConfigManager->getInt("general:apply_sens_to_raw") == 1) - wlr_relative_pointer_manager_v1_send_relative_motion(g_pCompositor->m_sWLRRelPointerMgr, g_pCompositor->m_sSeat.seat, (uint64_t)e->time_msec * 1000, e->delta_x * sensitivity, e->delta_y * sensitivity, e->unaccel_dx * sensitivity, e->unaccel_dy * sensitivity); - else - wlr_relative_pointer_manager_v1_send_relative_motion(g_pCompositor->m_sWLRRelPointerMgr, g_pCompositor->m_sSeat.seat, (uint64_t)e->time_msec * 1000, e->delta_x, e->delta_y, e->unaccel_dx, e->unaccel_dy); + const auto DELTA = g_pConfigManager->getInt("input:force_no_accel") == 1 ? Vector2D(e->unaccel_dx, e->unaccel_dy) : Vector2D(e->delta_x, e->delta_y); - wlr_cursor_move(g_pCompositor->m_sWLRCursor, &e->pointer->base, e->delta_x * sensitivity, e->delta_y * sensitivity); + if (g_pConfigManager->getInt("general:apply_sens_to_raw") == 1) + wlr_relative_pointer_manager_v1_send_relative_motion(g_pCompositor->m_sWLRRelPointerMgr, g_pCompositor->m_sSeat.seat, (uint64_t)e->time_msec * 1000, DELTA.x * sensitivity, DELTA.y * sensitivity, e->unaccel_dx * sensitivity, e->unaccel_dy * sensitivity); + else + wlr_relative_pointer_manager_v1_send_relative_motion(g_pCompositor->m_sWLRRelPointerMgr, g_pCompositor->m_sSeat.seat, (uint64_t)e->time_msec * 1000, DELTA.x, DELTA.y, e->unaccel_dx, e->unaccel_dy); + + wlr_cursor_move(g_pCompositor->m_sWLRCursor, &e->pointer->base, DELTA.x * sensitivity, DELTA.y * sensitivity); mouseMoveUnified(e->time_msec); }