diff --git a/src/citron/configuration/configure_mouse_panning.cpp b/src/citron/configuration/configure_mouse_panning.cpp index 83636cf4a..0a37ea0e5 100644 --- a/src/citron/configuration/configure_mouse_panning.cpp +++ b/src/citron/configuration/configure_mouse_panning.cpp @@ -1,9 +1,12 @@ // SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2025 citron Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include #include +#include "citron/main.h" +#include "citron/bootmanager.h" #include "common/settings.h" #include "ui_configure_mouse_panning.h" #include "citron/configuration/configure_mouse_panning.h" @@ -69,7 +72,14 @@ void ConfigureMousePanning::ConnectEvents() { } void ConfigureMousePanning::ApplyConfiguration() { - Settings::values.mouse_panning = ui->enable->isChecked(); + GMainWindow* main_window = qobject_cast(this->parent()); + + if (main_window) { + main_window->GetRenderWindow()->SetMousePanningState(ui->enable->isChecked()); + } else { + Settings::values.mouse_panning = ui->enable->isChecked(); + } + Settings::values.mouse_panning_x_sensitivity = static_cast(ui->x_sensitivity->value()); Settings::values.mouse_panning_y_sensitivity = static_cast(ui->y_sensitivity->value()); Settings::values.mouse_panning_deadzone_counterweight = @@ -78,7 +88,11 @@ void ConfigureMousePanning::ApplyConfiguration() { Settings::values.mouse_panning_min_decay = static_cast(ui->min_decay->value()); if (Settings::values.mouse_enabled && Settings::values.mouse_panning) { - Settings::values.mouse_panning = false; + if (main_window) { + main_window->GetRenderWindow()->SetMousePanningState(false); + } else { + Settings::values.mouse_panning = false; + } QMessageBox::critical( this, tr("Emulated mouse is enabled"), tr("Real mouse input and mouse panning are incompatible. Please disable the "