diff --git a/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs b/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs index d3692f4e3..5b353a2c8 100644 --- a/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs @@ -349,7 +349,6 @@ namespace Ryujinx.Ava.UI.ViewModels.Input ConfigViewModel = new ControllerInputViewModel(this, new GamepadInputConfig(controllerInputConfig), VisualStick); } - FindPairedDeviceInConfigFile(); } private void FindPairedDeviceInConfigFile() @@ -483,7 +482,7 @@ namespace Ryujinx.Ava.UI.ViewModels.Input RevertChanges(); _isChangeTrackingActive = true;// Enable configuration change tracking - + } private string GetCurrentGamepadId() @@ -946,11 +945,14 @@ namespace Ryujinx.Ava.UI.ViewModels.Input public void RevertChanges() { - Device = Devices.ToList().FindIndex(d => d.Id == RevertDeviceId); - LoadDevice(); - LoadConfiguration(); - OnPropertyChanged(); - IsModified = false; + LoadConfiguration(); // configuration preload is required if the paired gamepad was disconnected but was changed to another gamepad + Device = Devices.ToList().FindIndex(d => d.Id == RevertDeviceId); + + LoadDevice(); + LoadConfiguration(); + + OnPropertyChanged(); + IsModified = false; } public void Save()