* Refactor * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx.Input/ButtonValueType.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Add empty line * Requested renames * Update src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Make parent models private readonly * Fix ControllerInputView * Make line shorter * Mac keys in locale * Double line break * Fix build * Get rid of _isValid * Fix potential race condition * Rename HasAnyButtonPressed to IsAnyButtonPressed * Use switches * Simplify enumeration --------- Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
74 lines
1.7 KiB
C#
74 lines
1.7 KiB
C#
using Avalonia.Svg.Skia;
|
|
using Ryujinx.Ava.UI.Models.Input;
|
|
|
|
namespace Ryujinx.Ava.UI.ViewModels.Input
|
|
{
|
|
public class KeyboardInputViewModel : BaseModel
|
|
{
|
|
private KeyboardInputConfig _config;
|
|
public KeyboardInputConfig Config
|
|
{
|
|
get => _config;
|
|
set
|
|
{
|
|
_config = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private bool _isLeft;
|
|
public bool IsLeft
|
|
{
|
|
get => _isLeft;
|
|
set
|
|
{
|
|
_isLeft = value;
|
|
OnPropertyChanged();
|
|
OnPropertyChanged(nameof(HasSides));
|
|
}
|
|
}
|
|
|
|
private bool _isRight;
|
|
public bool IsRight
|
|
{
|
|
get => _isRight;
|
|
set
|
|
{
|
|
_isRight = value;
|
|
OnPropertyChanged();
|
|
OnPropertyChanged(nameof(HasSides));
|
|
}
|
|
}
|
|
|
|
public bool HasSides => IsLeft ^ IsRight;
|
|
|
|
private SvgImage _image;
|
|
public SvgImage Image
|
|
{
|
|
get => _image;
|
|
set
|
|
{
|
|
_image = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public readonly InputViewModel ParentModel;
|
|
|
|
public KeyboardInputViewModel(InputViewModel model, KeyboardInputConfig config)
|
|
{
|
|
ParentModel = model;
|
|
model.NotifyChangesEvent += OnParentModelChanged;
|
|
OnParentModelChanged();
|
|
Config = config;
|
|
}
|
|
|
|
public void OnParentModelChanged()
|
|
{
|
|
IsLeft = ParentModel.IsLeft;
|
|
IsRight = ParentModel.IsRight;
|
|
Image = ParentModel.Image;
|
|
}
|
|
}
|
|
}
|