diff --git a/Ryujinx.Common/Configuration/Hid/Controller/GamepadInputId.cs b/Ryujinx.Common/Configuration/Hid/Controller/GamepadInputId.cs index cae65fc9b..ad1fa6673 100644 --- a/Ryujinx.Common/Configuration/Hid/Controller/GamepadInputId.cs +++ b/Ryujinx.Common/Configuration/Hid/Controller/GamepadInputId.cs @@ -1,5 +1,9 @@ -namespace Ryujinx.Common.Configuration.Hid.Controller +using Ryujinx.Common.Utilities; +using System.Text.Json.Serialization; + +namespace Ryujinx.Common.Configuration.Hid.Controller { + [JsonConverter(typeof(TypedStringEnumConverter))] public enum GamepadInputId : byte { Unbound, @@ -51,4 +55,4 @@ Count } -} +} \ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/Controller/StickInputId.cs b/Ryujinx.Common/Configuration/Hid/Controller/StickInputId.cs index 87945a75a..5fc4d1c87 100644 --- a/Ryujinx.Common/Configuration/Hid/Controller/StickInputId.cs +++ b/Ryujinx.Common/Configuration/Hid/Controller/StickInputId.cs @@ -1,5 +1,9 @@ -namespace Ryujinx.Common.Configuration.Hid.Controller +using Ryujinx.Common.Utilities; +using System.Text.Json.Serialization; + +namespace Ryujinx.Common.Configuration.Hid.Controller { + [JsonConverter(typeof(TypedStringEnumConverter))] public enum StickInputId : byte { Unbound, @@ -8,4 +12,4 @@ Count } -} +} \ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs index 8b6c8c145..1a10c2a53 100644 --- a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs +++ b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs @@ -1,6 +1,8 @@ namespace Ryujinx.Common.Configuration.Hid { - public struct KeyboardHotkeys + // NOTE: Please don't change this to struct. + // This breaks Avalonia's TwoWay binding, which makes us unable to save new KeyboardHotkeys. + public class KeyboardHotkeys { public Key ToggleVsync { get; set; } public Key Screenshot { get; set; }