446f2854a5
* 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>
33 lines
723 B
C#
33 lines
723 B
C#
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);
|
|
}
|
|
}
|
|
}
|