From 89831db960882de34c23a7604eb9370e50eb2587 Mon Sep 17 00:00:00 2001 From: Olivia!! Date: Wed, 13 May 2026 22:23:23 +0200 Subject: [PATCH] Adds option to unbind using controller only --- src/dusk/ui/controller_config.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/dusk/ui/controller_config.cpp b/src/dusk/ui/controller_config.cpp index aef911f996..74809e9060 100644 --- a/src/dusk/ui/controller_config.cpp +++ b/src/dusk/ui/controller_config.cpp @@ -1013,6 +1013,10 @@ void ControllerConfigWindow::poll_pending_binding() { const s32 nativeButton = PADGetNativeButtonPressed(mPendingPort); if (nativeButton != -1) { const int completedPort = mPendingPort; + if (mPendingButtonMapping->nativeButton == static_cast(nativeButton)) { + unmap_pending_binding(); + return; + } mPendingButtonMapping->nativeButton = static_cast(nativeButton); finish_pending_binding(completedPort); } @@ -1023,6 +1027,10 @@ void ControllerConfigWindow::poll_pending_binding() { const PADSignedNativeAxis nativeAxis = PADGetNativeAxisPulled(mPendingPort); if (nativeAxis.nativeAxis != -1) { const int completedPort = mPendingPort; + if (mPendingAxisMapping->nativeAxis.nativeAxis == nativeAxis.nativeAxis) { + unmap_pending_binding(); + return; + } mPendingAxisMapping->nativeAxis = nativeAxis; mPendingAxisMapping->nativeButton = -1; finish_pending_binding(completedPort); @@ -1049,6 +1057,10 @@ void ControllerConfigWindow::poll_pending_binding() { if (button != -1) { const int completedPort = mPendingPort; + if (mPendingActionBinding->getValue() == button) { + unmap_pending_binding(); + return; + } mPendingActionBinding->setValue(button); config::Save(); finish_pending_binding(completedPort);