diff options
| author | Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com> | 2024-04-17 22:52:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-17 18:52:12 -0300 |
| commit | 446f2854a5af18aef7151f95d64e0fe66a3498b8 (patch) | |
| tree | 2d92deeffc089cdad97ed49d13b0e858ddabd404 /src/Ryujinx.Input/Button.cs | |
| parent | 8884d1fd732c9ba788f0ab711e6a9f507d934ac8 (diff) | |
Ava UI: Input Menu Refactor (#5826)
* 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>
Diffstat (limited to 'src/Ryujinx.Input/Button.cs')
| -rw-r--r-- | src/Ryujinx.Input/Button.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/Ryujinx.Input/Button.cs b/src/Ryujinx.Input/Button.cs new file mode 100644 index 00000000..4289901c --- /dev/null +++ b/src/Ryujinx.Input/Button.cs @@ -0,0 +1,33 @@ +using System; + +namespace Ryujinx.Input +{ + public readonly struct Button + { + public readonly ButtonType Type; + private readonly uint _rawValue; + + public Button(Key key) + { + Type = ButtonType.Key; + _rawValue = (uint)key; + } + + public Button(GamepadButtonInputId gamepad) + { + Type = ButtonType.GamepadButtonInputId; + _rawValue = (uint)gamepad; + } + + public Button(StickInputId stick) + { + Type = ButtonType.StickId; + _rawValue = (uint)stick; + } + + public T AsHidType<T>() where T : Enum + { + return (T)Enum.ToObject(typeof(T), _rawValue); + } + } +} |
