|
|
@@ -1,13 +1,13 @@
|
|
|
using Avalonia.Media;
|
|
|
+using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
using Ryujinx.Ava.UI.ViewModels;
|
|
|
using Ryujinx.Common.Configuration.Hid;
|
|
|
using Ryujinx.Common.Configuration.Hid.Controller;
|
|
|
using Ryujinx.Common.Configuration.Hid.Controller.Motion;
|
|
|
-using System;
|
|
|
|
|
|
namespace Ryujinx.Ava.UI.Models.Input
|
|
|
{
|
|
|
- public class GamepadInputConfig : BaseModel
|
|
|
+ public partial class GamepadInputConfig : BaseModel
|
|
|
{
|
|
|
public bool EnableCemuHookMotion { get; set; }
|
|
|
public string DsuServerHost { get; set; }
|
|
|
@@ -25,402 +25,58 @@ namespace Ryujinx.Ava.UI.Models.Input
|
|
|
public ControllerType ControllerType { get; set; }
|
|
|
public PlayerIndex PlayerIndex { get; set; }
|
|
|
|
|
|
- private StickInputId _leftJoystick;
|
|
|
- public StickInputId LeftJoystick
|
|
|
- {
|
|
|
- get => _leftJoystick;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftJoystick = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _leftInvertStickX;
|
|
|
- public bool LeftInvertStickX
|
|
|
- {
|
|
|
- get => _leftInvertStickX;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftInvertStickX = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _leftInvertStickY;
|
|
|
- public bool LeftInvertStickY
|
|
|
- {
|
|
|
- get => _leftInvertStickY;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftInvertStickY = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _leftRotate90;
|
|
|
- public bool LeftRotate90
|
|
|
- {
|
|
|
- get => _leftRotate90;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftRotate90 = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _leftStickButton;
|
|
|
- public GamepadInputId LeftStickButton
|
|
|
- {
|
|
|
- get => _leftStickButton;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftStickButton = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private StickInputId _rightJoystick;
|
|
|
- public StickInputId RightJoystick
|
|
|
- {
|
|
|
- get => _rightJoystick;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightJoystick = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _rightInvertStickX;
|
|
|
- public bool RightInvertStickX
|
|
|
- {
|
|
|
- get => _rightInvertStickX;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightInvertStickX = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _rightInvertStickY;
|
|
|
- public bool RightInvertStickY
|
|
|
- {
|
|
|
- get => _rightInvertStickY;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightInvertStickY = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _rightRotate90;
|
|
|
- public bool RightRotate90
|
|
|
- {
|
|
|
- get => _rightRotate90;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightRotate90 = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _rightStickButton;
|
|
|
- public GamepadInputId RightStickButton
|
|
|
- {
|
|
|
- get => _rightStickButton;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightStickButton = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _dpadUp;
|
|
|
- public GamepadInputId DpadUp
|
|
|
- {
|
|
|
- get => _dpadUp;
|
|
|
- set
|
|
|
- {
|
|
|
- _dpadUp = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _dpadDown;
|
|
|
- public GamepadInputId DpadDown
|
|
|
- {
|
|
|
- get => _dpadDown;
|
|
|
- set
|
|
|
- {
|
|
|
- _dpadDown = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _dpadLeft;
|
|
|
- public GamepadInputId DpadLeft
|
|
|
- {
|
|
|
- get => _dpadLeft;
|
|
|
- set
|
|
|
- {
|
|
|
- _dpadLeft = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _dpadRight;
|
|
|
- public GamepadInputId DpadRight
|
|
|
- {
|
|
|
- get => _dpadRight;
|
|
|
- set
|
|
|
- {
|
|
|
- _dpadRight = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonL;
|
|
|
- public GamepadInputId ButtonL
|
|
|
- {
|
|
|
- get => _buttonL;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonL = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonMinus;
|
|
|
- public GamepadInputId ButtonMinus
|
|
|
- {
|
|
|
- get => _buttonMinus;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonMinus = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _leftButtonSl;
|
|
|
- public GamepadInputId LeftButtonSl
|
|
|
- {
|
|
|
- get => _leftButtonSl;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftButtonSl = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _leftButtonSr;
|
|
|
- public GamepadInputId LeftButtonSr
|
|
|
- {
|
|
|
- get => _leftButtonSr;
|
|
|
- set
|
|
|
- {
|
|
|
- _leftButtonSr = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonZl;
|
|
|
- public GamepadInputId ButtonZl
|
|
|
- {
|
|
|
- get => _buttonZl;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonZl = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonA;
|
|
|
- public GamepadInputId ButtonA
|
|
|
- {
|
|
|
- get => _buttonA;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonA = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonB;
|
|
|
- public GamepadInputId ButtonB
|
|
|
- {
|
|
|
- get => _buttonB;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonB = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonX;
|
|
|
- public GamepadInputId ButtonX
|
|
|
- {
|
|
|
- get => _buttonX;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonX = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonY;
|
|
|
- public GamepadInputId ButtonY
|
|
|
- {
|
|
|
- get => _buttonY;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonY = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonR;
|
|
|
- public GamepadInputId ButtonR
|
|
|
- {
|
|
|
- get => _buttonR;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonR = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonPlus;
|
|
|
- public GamepadInputId ButtonPlus
|
|
|
- {
|
|
|
- get => _buttonPlus;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonPlus = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _rightButtonSl;
|
|
|
- public GamepadInputId RightButtonSl
|
|
|
- {
|
|
|
- get => _rightButtonSl;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightButtonSl = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _rightButtonSr;
|
|
|
- public GamepadInputId RightButtonSr
|
|
|
- {
|
|
|
- get => _rightButtonSr;
|
|
|
- set
|
|
|
- {
|
|
|
- _rightButtonSr = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GamepadInputId _buttonZr;
|
|
|
- public GamepadInputId ButtonZr
|
|
|
- {
|
|
|
- get => _buttonZr;
|
|
|
- set
|
|
|
- {
|
|
|
- _buttonZr = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private float _deadzoneLeft;
|
|
|
- public float DeadzoneLeft
|
|
|
- {
|
|
|
- get => _deadzoneLeft;
|
|
|
- set
|
|
|
- {
|
|
|
- _deadzoneLeft = MathF.Round(value, 3);
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
+ [ObservableProperty] private StickInputId _leftJoystick;
|
|
|
+ [ObservableProperty] private bool _leftInvertStickX;
|
|
|
+ [ObservableProperty] private bool _leftInvertStickY;
|
|
|
+ [ObservableProperty] private bool _leftRotate90;
|
|
|
+ [ObservableProperty] private GamepadInputId _leftStickButton;
|
|
|
+
|
|
|
+ [ObservableProperty] private StickInputId _rightJoystick;
|
|
|
+ [ObservableProperty] private bool _rightInvertStickX;
|
|
|
+ [ObservableProperty] private bool _rightInvertStickY;
|
|
|
+ [ObservableProperty] private bool _rightRotate90;
|
|
|
+ [ObservableProperty] private GamepadInputId _rightStickButton;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _dpadUp;
|
|
|
+ [ObservableProperty] private GamepadInputId _dpadDown;
|
|
|
+ [ObservableProperty] private GamepadInputId _dpadLeft;
|
|
|
+ [ObservableProperty] private GamepadInputId _dpadRight;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonMinus;
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonPlus;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonA;
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonB;
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonX;
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonY;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonZl;
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonZr;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonL;
|
|
|
+ [ObservableProperty] private GamepadInputId _buttonR;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _leftButtonSl;
|
|
|
+ [ObservableProperty] private GamepadInputId _leftButtonSr;
|
|
|
+
|
|
|
+ [ObservableProperty] private GamepadInputId _rightButtonSl;
|
|
|
+ [ObservableProperty] private GamepadInputId _rightButtonSr;
|
|
|
|
|
|
- private float _deadzoneRight;
|
|
|
- public float DeadzoneRight
|
|
|
- {
|
|
|
- get => _deadzoneRight;
|
|
|
- set
|
|
|
- {
|
|
|
- _deadzoneRight = MathF.Round(value, 3);
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
+ [ObservableProperty] private float _deadzoneLeft;
|
|
|
+ [ObservableProperty] private float _deadzoneRight;
|
|
|
|
|
|
- private float _rangeLeft;
|
|
|
- public float RangeLeft
|
|
|
- {
|
|
|
- get => _rangeLeft;
|
|
|
- set
|
|
|
- {
|
|
|
- _rangeLeft = MathF.Round(value, 3);
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
+ [ObservableProperty] private float _rangeLeft;
|
|
|
+ [ObservableProperty] private float _rangeRight;
|
|
|
|
|
|
- private float _rangeRight;
|
|
|
- public float RangeRight
|
|
|
- {
|
|
|
- get => _rangeRight;
|
|
|
- set
|
|
|
- {
|
|
|
- _rangeRight = MathF.Round(value, 3);
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
+ [ObservableProperty] private float _triggerThreshold;
|
|
|
|
|
|
- private float _triggerThreshold;
|
|
|
- public float TriggerThreshold
|
|
|
- {
|
|
|
- get => _triggerThreshold;
|
|
|
- set
|
|
|
- {
|
|
|
- _triggerThreshold = MathF.Round(value, 3);
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _enableMotion;
|
|
|
- public bool EnableMotion
|
|
|
- {
|
|
|
- get => _enableMotion;
|
|
|
- set
|
|
|
- {
|
|
|
- _enableMotion = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private bool _enableRumble;
|
|
|
- public bool EnableRumble
|
|
|
- {
|
|
|
- get => _enableRumble;
|
|
|
- set
|
|
|
- {
|
|
|
- _enableRumble = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
+ [ObservableProperty] private bool _enableMotion;
|
|
|
|
|
|
- private bool _enableLedChanging;
|
|
|
-
|
|
|
- public bool EnableLedChanging
|
|
|
- {
|
|
|
- get => _enableLedChanging;
|
|
|
- set
|
|
|
- {
|
|
|
- _enableLedChanging = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
+ [ObservableProperty] private bool _enableRumble;
|
|
|
+
|
|
|
+ [ObservableProperty] private bool _enableLedChanging;
|
|
|
+
|
|
|
+ [ObservableProperty] private Color _ledColor;
|
|
|
|
|
|
public bool ShowLedColorPicker => !TurnOffLed && !UseRainbowLed;
|
|
|
|
|
|
@@ -449,18 +105,6 @@ namespace Ryujinx.Ava.UI.Models.Input
|
|
|
OnPropertyChanged(nameof(ShowLedColorPicker));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private Color _ledColor;
|
|
|
-
|
|
|
- public Color LedColor
|
|
|
- {
|
|
|
- get => _ledColor;
|
|
|
- set
|
|
|
- {
|
|
|
- _ledColor = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
public GamepadInputConfig(InputConfig config)
|
|
|
{
|