diff options
| author | Xpl0itR <xpl0itr@outlook.com> | 2020-05-03 03:00:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-03 04:00:53 +0200 |
| commit | 538fba826b75cdd2feffaeac684044246590cb29 (patch) | |
| tree | 4f9b09aaaeec6249b49d665012dd4e585f3e67f0 /Ryujinx.Common/Configuration | |
| parent | 5f3558fd51a0920966e5341101c4233a02c98307 (diff) | |
Improvements to input and input configuration in the GUI. (#849)
* Improvements to input and input configuration in the GUI
* Requested changes
* nits
* more nits
Diffstat (limited to 'Ryujinx.Common/Configuration')
15 files changed, 253 insertions, 153 deletions
diff --git a/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs b/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs index ff5a67c4..09252b77 100644 --- a/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs +++ b/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs @@ -4,9 +4,7 @@ using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.Logging; using Ryujinx.Common.Utilities; using Ryujinx.Configuration.System; -using Ryujinx.Configuration.Hid; using Ryujinx.Configuration.Ui; -using Ryujinx.UI.Input; namespace Ryujinx.Configuration { @@ -15,7 +13,7 @@ namespace Ryujinx.Configuration /// <summary> /// The current version of the file format /// </summary> - public const int CurrentVersion = 5; + public const int CurrentVersion = 6; public int Version { get; set; } @@ -130,11 +128,6 @@ namespace Ryujinx.Configuration public bool IgnoreMissingServices { get; set; } /// <summary> - /// The primary controller's type - /// </summary> - public ControllerType ControllerType { get; set; } - - /// <summary> /// Used to toggle columns in the GUI /// </summary> public GuiColumns GuiColumns { get; set; } @@ -162,12 +155,12 @@ namespace Ryujinx.Configuration /// <summary> /// Keyboard control bindings /// </summary> - public NpadKeyboard KeyboardControls { get; set; } + public List<KeyboardConfig> KeyboardConfig { get; set; } /// <summary> /// Controller control bindings /// </summary> - public NpadController JoystickControls { get; set; } + public List<ControllerConfig> ControllerConfig { get; set; } /// <summary> /// Loads a configuration file from disk diff --git a/Ryujinx.Common/Configuration/ConfigurationState.cs b/Ryujinx.Common/Configuration/ConfigurationState.cs index d2826d36..a994e6d5 100644 --- a/Ryujinx.Common/Configuration/ConfigurationState.cs +++ b/Ryujinx.Common/Configuration/ConfigurationState.cs @@ -1,10 +1,9 @@ -using Ryujinx.Common; +using Ryujinx.Common; using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.Logging; using Ryujinx.Configuration.Hid; using Ryujinx.Configuration.System; using Ryujinx.Configuration.Ui; -using Ryujinx.UI.Input; using System; using System.Collections.Generic; @@ -159,7 +158,7 @@ namespace Ryujinx.Configuration public ReactiveObject<string> TimeZone { get; private set; } /// <summary> - /// System Time Offset in seconds + /// System Time Offset in Seconds /// </summary> public ReactiveObject<long> SystemTimeOffset { get; private set; } @@ -208,31 +207,21 @@ namespace Ryujinx.Configuration public class HidSection { /// <summary> - /// The primary controller's type - /// </summary> - public ReactiveObject<ControllerType> ControllerType { get; private set; } - - /// <summary> /// Enable or disable keyboard support (Independent from controllers binding) /// </summary> public ReactiveObject<bool> EnableKeyboard { get; private set; } /// <summary> - /// Keyboard control bindings + /// Input device configuration. + /// NOTE: This ReactiveObject won't issue an event when the List has elements added or removed. + /// TODO: Implement a ReactiveList class. /// </summary> - public ReactiveObject<NpadKeyboard> KeyboardControls { get; private set; } - - /// <summary> - /// Controller control bindings - /// </summary> - public ReactiveObject<NpadController> JoystickControls { get; private set; } + public ReactiveObject<List<InputConfig>> InputConfig { get; private set; } public HidSection() { - ControllerType = new ReactiveObject<ControllerType>(); - EnableKeyboard = new ReactiveObject<bool>(); - KeyboardControls = new ReactiveObject<NpadKeyboard>(); - JoystickControls = new ReactiveObject<NpadController>(); + EnableKeyboard = new ReactiveObject<bool>(); + InputConfig = new ReactiveObject<List<InputConfig>>(); } } @@ -311,6 +300,21 @@ namespace Ryujinx.Configuration public ConfigurationFileFormat ToFileFormat() { + List<ControllerConfig> controllerConfigList = new List<ControllerConfig>(); + List<KeyboardConfig> keyboardConfigList = new List<KeyboardConfig>(); + + foreach (InputConfig inputConfig in Hid.InputConfig.Value) + { + if (inputConfig is ControllerConfig controllerConfig) + { + controllerConfigList.Add(controllerConfig); + } + else if (inputConfig is KeyboardConfig keyboardConfig) + { + keyboardConfigList.Add(keyboardConfig); + } + } + ConfigurationFileFormat configurationFile = new ConfigurationFileFormat { Version = ConfigurationFileFormat.CurrentVersion, @@ -336,7 +340,6 @@ namespace Ryujinx.Configuration EnableFsIntegrityChecks = System.EnableFsIntegrityChecks, FsGlobalAccessLogMode = System.FsGlobalAccessLogMode, IgnoreMissingServices = System.IgnoreMissingServices, - ControllerType = Hid.ControllerType, GuiColumns = new GuiColumns() { FavColumn = Ui.GuiColumns.FavColumn, @@ -354,8 +357,8 @@ namespace Ryujinx.Configuration EnableCustomTheme = Ui.EnableCustomTheme, CustomThemePath = Ui.CustomThemePath, EnableKeyboard = Hid.EnableKeyboard, - KeyboardControls = Hid.KeyboardControls, - JoystickControls = Hid.JoystickControls + KeyboardConfig = keyboardConfigList, + ControllerConfig = controllerConfigList }; return configurationFile; @@ -385,7 +388,6 @@ namespace Ryujinx.Configuration System.EnableFsIntegrityChecks.Value = true; System.FsGlobalAccessLogMode.Value = 0; System.IgnoreMissingServices.Value = false; - Hid.ControllerType.Value = ControllerType.Handheld; Ui.GuiColumns.FavColumn.Value = true; Ui.GuiColumns.IconColumn.Value = true; Ui.GuiColumns.AppColumn.Value = true; @@ -401,73 +403,51 @@ namespace Ryujinx.Configuration Ui.CustomThemePath.Value = ""; Hid.EnableKeyboard.Value = false; - Hid.KeyboardControls.Value = new NpadKeyboard + Hid.InputConfig.Value = new List<InputConfig> { - LeftJoycon = new NpadKeyboardLeft - { - StickUp = Key.W, - StickDown = Key.S, - StickLeft = Key.A, - StickRight = Key.D, - StickButton = Key.F, - DPadUp = Key.Up, - DPadDown = Key.Down, - DPadLeft = Key.Left, - DPadRight = Key.Right, - ButtonMinus = Key.Minus, - ButtonL = Key.E, - ButtonZl = Key.Q, - }, - RightJoycon = new NpadKeyboardRight - { - StickUp = Key.I, - StickDown = Key.K, - StickLeft = Key.J, - StickRight = Key.L, - StickButton = Key.H, - ButtonA = Key.Z, - ButtonB = Key.X, - ButtonX = Key.C, - ButtonY = Key.V, - ButtonPlus = Key.Plus, - ButtonR = Key.U, - ButtonZr = Key.O, - }, - Hotkeys = new KeyboardHotkeys + new KeyboardConfig { - ToggleVsync = Key.Tab - } - }; - - Hid.JoystickControls.Value = new NpadController - { - Enabled = true, - Index = 0, - Deadzone = 0.05f, - TriggerThreshold = 0.5f, - LeftJoycon = new NpadControllerLeft - { - Stick = ControllerInputId.Axis0, - StickButton = ControllerInputId.Button8, - DPadUp = ControllerInputId.Hat0Up, - DPadDown = ControllerInputId.Hat0Down, - DPadLeft = ControllerInputId.Hat0Left, - DPadRight = ControllerInputId.Hat0Right, - ButtonMinus = ControllerInputId.Button6, - ButtonL = ControllerInputId.Button4, - ButtonZl = ControllerInputId.Axis2, - }, - RightJoycon = new NpadControllerRight - { - Stick = ControllerInputId.Axis3, - StickButton = ControllerInputId.Button9, - ButtonA = ControllerInputId.Button1, - ButtonB = ControllerInputId.Button0, - ButtonX = ControllerInputId.Button3, - ButtonY = ControllerInputId.Button2, - ButtonPlus = ControllerInputId.Button7, - ButtonR = ControllerInputId.Button5, - ButtonZr = ControllerInputId.Axis5, + Index = 0, + ControllerType = ControllerType.JoyconPair, + PlayerIndex = PlayerIndex.Player1, + LeftJoycon = new NpadKeyboardLeft + { + StickUp = Key.W, + StickDown = Key.S, + StickLeft = Key.A, + StickRight = Key.D, + StickButton = Key.F, + DPadUp = Key.Up, + DPadDown = Key.Down, + DPadLeft = Key.Left, + DPadRight = Key.Right, + ButtonMinus = Key.Minus, + ButtonL = Key.E, + ButtonZl = Key.Q, + ButtonSl = Key.Home, + ButtonSr = Key.End + }, + RightJoycon = new NpadKeyboardRight + { + StickUp = Key.I, + StickDown = Key.K, + StickLeft = Key.J, + StickRight = Key.L, + StickButton = Key.H, + ButtonA = Key.Z, + ButtonB = Key.X, + ButtonX = Key.C, + ButtonY = Key.V, + ButtonPlus = Key.Plus, + ButtonR = Key.U, + ButtonZr = Key.O, + ButtonSl = Key.PageUp, + ButtonSr = Key.PageDown + }, + Hotkeys = new KeyboardHotkeys + { + ToggleVsync = Key.Tab + } } }; } @@ -521,6 +501,71 @@ namespace Ryujinx.Configuration configurationFileUpdated = true; } + if (configurationFileFormat.Version < 6) + { + Common.Logging.Logger.PrintWarning(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 6."); + + configurationFileFormat.ControllerConfig = new List<ControllerConfig>(); + configurationFileFormat.KeyboardConfig = new List<KeyboardConfig>{ + new KeyboardConfig + { + Index = 0, + ControllerType = ControllerType.JoyconPair, + PlayerIndex = PlayerIndex.Player1, + LeftJoycon = new NpadKeyboardLeft + { + StickUp = Key.W, + StickDown = Key.S, + StickLeft = Key.A, + StickRight = Key.D, + StickButton = Key.F, + DPadUp = Key.Up, + DPadDown = Key.Down, + DPadLeft = Key.Left, + DPadRight = Key.Right, + ButtonMinus = Key.Minus, + ButtonL = Key.E, + ButtonZl = Key.Q, + ButtonSl = Key.Unbound, + ButtonSr = Key.Unbound + }, + RightJoycon = new NpadKeyboardRight + { + StickUp = Key.I, + StickDown = Key.K, + StickLeft = Key.J, + StickRight = Key.L, + StickButton = Key.H, + ButtonA = Key.Z, + ButtonB = Key.X, + ButtonX = Key.C, + ButtonY = Key.V, + ButtonPlus = Key.Plus, + ButtonR = Key.U, + ButtonZr = Key.O, + ButtonSl = Key.Unbound, + ButtonSr = Key.Unbound + }, + Hotkeys = new KeyboardHotkeys + { + ToggleVsync = Key.Tab + } + } + }; + + configurationFileUpdated = true; + } + + List<InputConfig> inputConfig = new List<InputConfig>(); + foreach (ControllerConfig controllerConfig in configurationFileFormat.ControllerConfig) + { + inputConfig.Add(controllerConfig); + } + foreach (KeyboardConfig keyboardConfig in configurationFileFormat.KeyboardConfig) + { + inputConfig.Add(keyboardConfig); + } + Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy; Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath; Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug; @@ -544,7 +589,6 @@ namespace Ryujinx.Configuration System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks; System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode; System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices; - Hid.ControllerType.Value = configurationFileFormat.ControllerType; Ui.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn; Ui.GuiColumns.IconColumn.Value = configurationFileFormat.GuiColumns.IconColumn; Ui.GuiColumns.AppColumn.Value = configurationFileFormat.GuiColumns.AppColumn; @@ -559,14 +603,13 @@ namespace Ryujinx.Configuration Ui.EnableCustomTheme.Value = configurationFileFormat.EnableCustomTheme; Ui.CustomThemePath.Value = configurationFileFormat.CustomThemePath; Hid.EnableKeyboard.Value = configurationFileFormat.EnableKeyboard; - Hid.KeyboardControls.Value = configurationFileFormat.KeyboardControls; - Hid.JoystickControls.Value = configurationFileFormat.JoystickControls; + Hid.InputConfig.Value = inputConfig; if (configurationFileUpdated) { ToFileFormat().SaveConfig(configurationFilePath); - Common.Logging.Logger.PrintWarning(LogClass.Application, "Configuration file is updated!"); + Common.Logging.Logger.PrintWarning(LogClass.Application, "Configuration file has been updated!"); } } diff --git a/Ryujinx.Common/Configuration/Hid/NpadController.cs b/Ryujinx.Common/Configuration/Hid/ControllerConfig.cs index 94b985d5..3e414055 100644 --- a/Ryujinx.Common/Configuration/Hid/NpadController.cs +++ b/Ryujinx.Common/Configuration/Hid/ControllerConfig.cs @@ -1,21 +1,16 @@ namespace Ryujinx.Common.Configuration.Hid { - public class NpadController + public class ControllerConfig : InputConfig { /// <summary> - /// Enables or disables controller support + /// Controller Left Analog Stick Deadzone /// </summary> - public bool Enabled { get; set; } + public float DeadzoneLeft { get; set; } /// <summary> - /// Controller Device Index + /// Controller Right Analog Stick Deadzone /// </summary> - public int Index { get; set; } - - /// <summary> - /// Controller Analog Stick Deadzone - /// </summary> - public float Deadzone { get; set; } + public float DeadzoneRight { get; set; } /// <summary> /// Controller Trigger Threshold @@ -32,4 +27,4 @@ /// </summary> public NpadControllerRight RightJoycon { get; set; } } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs b/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs index 8969b6a4..606a1b0c 100644 --- a/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs +++ b/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs @@ -40,6 +40,7 @@ Hat2Up, Hat2Down, Hat2Left, - Hat2Right + Hat2Right, + Unbound } } diff --git a/Ryujinx.Common/Configuration/Hid/ControllerType.cs b/Ryujinx.Common/Configuration/Hid/ControllerType.cs index b0613b2d..0ad01bbb 100644 --- a/Ryujinx.Common/Configuration/Hid/ControllerType.cs +++ b/Ryujinx.Common/Configuration/Hid/ControllerType.cs @@ -1,11 +1,20 @@ -namespace Ryujinx.Configuration.Hid +using System; + +namespace Ryujinx.Common.Configuration.Hid { - public enum ControllerType + [Flags] + // This enum was duplicated from Ryujinx.HLE.HOS.Services.Hid.PlayerIndex and should be kept identical + public enum ControllerType : int { - ProController, - Handheld, - NpadPair, - NpadLeft, - NpadRight + None, + ProController = 1 << 0, + Handheld = 1 << 1, + JoyconPair = 1 << 2, + JoyconLeft = 1 << 3, + JoyconRight = 1 << 4, + Invalid = 1 << 5, + Pokeball = 1 << 6, + SystemExternal = 1 << 29, + System = 1 << 30 } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/InputConfig.cs b/Ryujinx.Common/Configuration/Hid/InputConfig.cs new file mode 100644 index 00000000..540506d5 --- /dev/null +++ b/Ryujinx.Common/Configuration/Hid/InputConfig.cs @@ -0,0 +1,20 @@ +namespace Ryujinx.Common.Configuration.Hid +{ + public class InputConfig + { + /// <summary> + /// Controller Device Index + /// </summary> + public int Index { get; set; } + + /// <summary> + /// Controller's Type + /// </summary> + public ControllerType ControllerType { get; set; } + + /// <summary> + /// Player's Index for the controller + /// </summary> + public PlayerIndex PlayerIndex { get; set; } + } +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/Key.cs b/Ryujinx.Common/Configuration/Hid/Key.cs index b658396b..67177eec 100644 --- a/Ryujinx.Common/Configuration/Hid/Key.cs +++ b/Ryujinx.Common/Configuration/Hid/Key.cs @@ -148,6 +148,7 @@ Slash = 128, BackSlash = 129, NonUSBackSlash = 130, - LastKey = 131 + LastKey = 131, + Unbound } } diff --git a/Ryujinx.Common/Configuration/Hid/KeyboardConfig.cs b/Ryujinx.Common/Configuration/Hid/KeyboardConfig.cs new file mode 100644 index 00000000..664fdff0 --- /dev/null +++ b/Ryujinx.Common/Configuration/Hid/KeyboardConfig.cs @@ -0,0 +1,20 @@ +namespace Ryujinx.Common.Configuration.Hid +{ + public class KeyboardConfig : InputConfig + { + /// <summary> + /// Left JoyCon Keyboard Bindings + /// </summary> + public NpadKeyboardLeft LeftJoycon { get; set; } + + /// <summary> + /// Right JoyCon Keyboard Bindings + /// </summary> + public NpadKeyboardRight RightJoycon { get; set; } + + /// <summary> + /// Hotkey Keyboard Bindings + /// </summary> + public KeyboardHotkeys Hotkeys { get; set; } + } +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs index 30cc8d84..19cc0487 100644 --- a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs +++ b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs @@ -1,7 +1,9 @@ -namespace Ryujinx.Configuration.Hid +using Ryujinx.Configuration.Hid; + +namespace Ryujinx.Common.Configuration.Hid { public struct KeyboardHotkeys { public Key ToggleVsync { get; set; } } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs b/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs index c221b5e8..00816e56 100644 --- a/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs +++ b/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs @@ -2,14 +2,19 @@ { public struct NpadControllerLeft { - public ControllerInputId Stick { get; set; } + public ControllerInputId StickX { get; set; } + public bool InvertStickX { get; set; } + public ControllerInputId StickY { get; set; } + public bool InvertStickY { get; set; } public ControllerInputId StickButton { get; set; } public ControllerInputId ButtonMinus { get; set; } public ControllerInputId ButtonL { get; set; } public ControllerInputId ButtonZl { get; set; } + public ControllerInputId ButtonSl { get; set; } + public ControllerInputId ButtonSr { get; set; } public ControllerInputId DPadUp { get; set; } public ControllerInputId DPadDown { get; set; } public ControllerInputId DPadLeft { get; set; } public ControllerInputId DPadRight { get; set; } } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs b/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs index f52f6f16..b7b289cc 100644 --- a/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs +++ b/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs @@ -2,7 +2,10 @@ { public struct NpadControllerRight { - public ControllerInputId Stick { get; set; } + public ControllerInputId StickX { get; set; } + public bool InvertStickX { get; set; } + public ControllerInputId StickY { get; set; } + public bool InvertStickY { get; set; } public ControllerInputId StickButton { get; set; } public ControllerInputId ButtonA { get; set; } public ControllerInputId ButtonB { get; set; } @@ -11,5 +14,7 @@ public ControllerInputId ButtonPlus { get; set; } public ControllerInputId ButtonR { get; set; } public ControllerInputId ButtonZr { get; set; } + public ControllerInputId ButtonSl { get; set; } + public ControllerInputId ButtonSr { get; set; } } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs b/Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs deleted file mode 100644 index 5ae82756..00000000 --- a/Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Ryujinx.UI.Input -{ - public class NpadKeyboard - { - /// <summary> - /// Left JoyCon Keyboard Bindings - /// </summary> - public Configuration.Hid.NpadKeyboardLeft LeftJoycon { get; set; } - - /// <summary> - /// Right JoyCon Keyboard Bindings - /// </summary> - public Configuration.Hid.NpadKeyboardRight RightJoycon { get; set; } - - /// <summary> - /// Hotkey Keyboard Bindings - /// </summary> - public Configuration.Hid.KeyboardHotkeys Hotkeys { get; set; } - } -} diff --git a/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs b/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs index 4a61d932..6b78f5b6 100644 --- a/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs +++ b/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs @@ -1,4 +1,6 @@ -namespace Ryujinx.Configuration.Hid +using Ryujinx.Configuration.Hid; + +namespace Ryujinx.Common.Configuration.Hid { public struct NpadKeyboardLeft { @@ -14,5 +16,7 @@ public Key ButtonMinus { get; set; } public Key ButtonL { get; set; } public Key ButtonZl { get; set; } + public Key ButtonSl { get; set; } + public Key ButtonSr { get; set; } } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs b/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs index 0677b573..e2109902 100644 --- a/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs +++ b/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs @@ -1,4 +1,6 @@ -namespace Ryujinx.Configuration.Hid +using Ryujinx.Configuration.Hid; + +namespace Ryujinx.Common.Configuration.Hid { public struct NpadKeyboardRight { @@ -14,5 +16,7 @@ public Key ButtonPlus { get; set; } public Key ButtonR { get; set; } public Key ButtonZr { get; set; } + public Key ButtonSl { get; set; } + public Key ButtonSr { get; set; } } -} +}
\ No newline at end of file diff --git a/Ryujinx.Common/Configuration/Hid/PlayerIndex.cs b/Ryujinx.Common/Configuration/Hid/PlayerIndex.cs new file mode 100644 index 00000000..2e34cb96 --- /dev/null +++ b/Ryujinx.Common/Configuration/Hid/PlayerIndex.cs @@ -0,0 +1,18 @@ +namespace Ryujinx.Common.Configuration.Hid +{ + // This enum was duplicated from Ryujinx.HLE.HOS.Services.Hid.PlayerIndex and should be kept identical + public enum PlayerIndex : int + { + Player1 = 0, + Player2 = 1, + Player3 = 2, + Player4 = 3, + Player5 = 4, + Player6 = 5, + Player7 = 6, + Player8 = 7, + Handheld = 8, + Unknown = 9, + Auto = 10 // Shouldn't be used directly + } +}
\ No newline at end of file |
