using Ryujinx.Common.Configuration.Hid.Controller.Motion; using System; using System.Text.Json.Serialization; namespace Ryujinx.Common.Configuration.Hid.Controller { public class GenericControllerInputConfig : GenericInputConfigurationCommon where TButton : unmanaged where TStick : unmanaged { [JsonIgnore] private float _deadzoneLeft; [JsonIgnore] private float _deadzoneRight; [JsonIgnore] private float _triggerThreshold; /// /// Left JoyCon Controller Stick Bindings /// public JoyconConfigControllerStick LeftJoyconStick { get; set; } /// /// Right JoyCon Controller Stick Bindings /// public JoyconConfigControllerStick RightJoyconStick { get; set; } /// /// Controller Left Analog Stick Deadzone /// public float DeadzoneLeft { get => _deadzoneLeft; set { _deadzoneLeft = MathF.Round(value, 3); OnPropertyChanged(); } } /// /// Controller Right Analog Stick Deadzone /// public float DeadzoneRight { get => _deadzoneRight; set { _deadzoneRight = MathF.Round(value, 3); OnPropertyChanged(); } } /// /// Controller Left Analog Stick Range /// public float RangeLeft { get; set; } /// /// Controller Right Analog Stick Range /// public float RangeRight { get; set; } /// /// Controller Trigger Threshold /// public float TriggerThreshold { get => _triggerThreshold; set { _triggerThreshold = MathF.Round(value, 3); OnPropertyChanged(); } } /// /// Controller Motion Settings /// public MotionConfigController Motion { get; set; } /// /// Controller Rumble Settings /// public RumbleConfigController Rumble { get; set; } } }