aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Common/Configuration/Hid
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Common/Configuration/Hid')
-rw-r--r--Ryujinx.Common/Configuration/Hid/ControllerInputId.cs45
-rw-r--r--Ryujinx.Common/Configuration/Hid/ControllerType.cs11
-rw-r--r--Ryujinx.Common/Configuration/Hid/Key.cs153
-rw-r--r--Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs7
-rw-r--r--Ryujinx.Common/Configuration/Hid/NpadController.cs35
-rw-r--r--Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs15
-rw-r--r--Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs15
-rw-r--r--Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs20
-rw-r--r--Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs18
-rw-r--r--Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs18
10 files changed, 337 insertions, 0 deletions
diff --git a/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs b/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs
new file mode 100644
index 00000000..8969b6a4
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/ControllerInputId.cs
@@ -0,0 +1,45 @@
+namespace Ryujinx.Common.Configuration.Hid
+{
+ public enum ControllerInputId
+ {
+ Button0,
+ Button1,
+ Button2,
+ Button3,
+ Button4,
+ Button5,
+ Button6,
+ Button7,
+ Button8,
+ Button9,
+ Button10,
+ Button11,
+ Button12,
+ Button13,
+ Button14,
+ Button15,
+ Button16,
+ Button17,
+ Button18,
+ Button19,
+ Button20,
+ Axis0,
+ Axis1,
+ Axis2,
+ Axis3,
+ Axis4,
+ Axis5,
+ Hat0Up,
+ Hat0Down,
+ Hat0Left,
+ Hat0Right,
+ Hat1Up,
+ Hat1Down,
+ Hat1Left,
+ Hat1Right,
+ Hat2Up,
+ Hat2Down,
+ Hat2Left,
+ Hat2Right
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/ControllerType.cs b/Ryujinx.Common/Configuration/Hid/ControllerType.cs
new file mode 100644
index 00000000..b0613b2d
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/ControllerType.cs
@@ -0,0 +1,11 @@
+namespace Ryujinx.Configuration.Hid
+{
+ public enum ControllerType
+ {
+ ProController,
+ Handheld,
+ NpadPair,
+ NpadLeft,
+ NpadRight
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/Key.cs b/Ryujinx.Common/Configuration/Hid/Key.cs
new file mode 100644
index 00000000..b658396b
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/Key.cs
@@ -0,0 +1,153 @@
+namespace Ryujinx.Configuration.Hid
+{
+ public enum Key
+ {
+ Unknown = 0,
+ ShiftLeft = 1,
+ LShift = 1,
+ ShiftRight = 2,
+ RShift = 2,
+ ControlLeft = 3,
+ LControl = 3,
+ ControlRight = 4,
+ RControl = 4,
+ AltLeft = 5,
+ LAlt = 5,
+ AltRight = 6,
+ RAlt = 6,
+ WinLeft = 7,
+ LWin = 7,
+ WinRight = 8,
+ RWin = 8,
+ Menu = 9,
+ F1 = 10,
+ F2 = 11,
+ F3 = 12,
+ F4 = 13,
+ F5 = 14,
+ F6 = 15,
+ F7 = 16,
+ F8 = 17,
+ F9 = 18,
+ F10 = 19,
+ F11 = 20,
+ F12 = 21,
+ F13 = 22,
+ F14 = 23,
+ F15 = 24,
+ F16 = 25,
+ F17 = 26,
+ F18 = 27,
+ F19 = 28,
+ F20 = 29,
+ F21 = 30,
+ F22 = 31,
+ F23 = 32,
+ F24 = 33,
+ F25 = 34,
+ F26 = 35,
+ F27 = 36,
+ F28 = 37,
+ F29 = 38,
+ F30 = 39,
+ F31 = 40,
+ F32 = 41,
+ F33 = 42,
+ F34 = 43,
+ F35 = 44,
+ Up = 45,
+ Down = 46,
+ Left = 47,
+ Right = 48,
+ Enter = 49,
+ Escape = 50,
+ Space = 51,
+ Tab = 52,
+ BackSpace = 53,
+ Back = 53,
+ Insert = 54,
+ Delete = 55,
+ PageUp = 56,
+ PageDown = 57,
+ Home = 58,
+ End = 59,
+ CapsLock = 60,
+ ScrollLock = 61,
+ PrintScreen = 62,
+ Pause = 63,
+ NumLock = 64,
+ Clear = 65,
+ Sleep = 66,
+ Keypad0 = 67,
+ Keypad1 = 68,
+ Keypad2 = 69,
+ Keypad3 = 70,
+ Keypad4 = 71,
+ Keypad5 = 72,
+ Keypad6 = 73,
+ Keypad7 = 74,
+ Keypad8 = 75,
+ Keypad9 = 76,
+ KeypadDivide = 77,
+ KeypadMultiply = 78,
+ KeypadSubtract = 79,
+ KeypadMinus = 79,
+ KeypadAdd = 80,
+ KeypadPlus = 80,
+ KeypadDecimal = 81,
+ KeypadPeriod = 81,
+ KeypadEnter = 82,
+ A = 83,
+ B = 84,
+ C = 85,
+ D = 86,
+ E = 87,
+ F = 88,
+ G = 89,
+ H = 90,
+ I = 91,
+ J = 92,
+ K = 93,
+ L = 94,
+ M = 95,
+ N = 96,
+ O = 97,
+ P = 98,
+ Q = 99,
+ R = 100,
+ S = 101,
+ T = 102,
+ U = 103,
+ V = 104,
+ W = 105,
+ X = 106,
+ Y = 107,
+ Z = 108,
+ Number0 = 109,
+ Number1 = 110,
+ Number2 = 111,
+ Number3 = 112,
+ Number4 = 113,
+ Number5 = 114,
+ Number6 = 115,
+ Number7 = 116,
+ Number8 = 117,
+ Number9 = 118,
+ Tilde = 119,
+ Grave = 119,
+ Minus = 120,
+ Plus = 121,
+ BracketLeft = 122,
+ LBracket = 122,
+ BracketRight = 123,
+ RBracket = 123,
+ Semicolon = 124,
+ Quote = 125,
+ Comma = 126,
+ Period = 127,
+ Slash = 128,
+ BackSlash = 129,
+ NonUSBackSlash = 130,
+ LastKey = 131
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs
new file mode 100644
index 00000000..1d0b0504
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs
@@ -0,0 +1,7 @@
+namespace Ryujinx.Configuration.Hid
+{
+ public struct KeyboardHotkeys
+ {
+ public Key ToggleVsync;
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/NpadController.cs b/Ryujinx.Common/Configuration/Hid/NpadController.cs
new file mode 100644
index 00000000..f00865d5
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/NpadController.cs
@@ -0,0 +1,35 @@
+namespace Ryujinx.Common.Configuration.Hid
+{
+ public class NpadController
+ {
+ /// <summary>
+ /// Enables or disables controller support
+ /// </summary>
+ public bool Enabled;
+
+ /// <summary>
+ /// Controller Device Index
+ /// </summary>
+ public int Index;
+
+ /// <summary>
+ /// Controller Analog Stick Deadzone
+ /// </summary>
+ public float Deadzone;
+
+ /// <summary>
+ /// Controller Trigger Threshold
+ /// </summary>
+ public float TriggerThreshold;
+
+ /// <summary>
+ /// Left JoyCon Controller Bindings
+ /// </summary>
+ public NpadControllerLeft LeftJoycon;
+
+ /// <summary>
+ /// Right JoyCon Controller Bindings
+ /// </summary>
+ public NpadControllerRight RightJoycon;
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs b/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs
new file mode 100644
index 00000000..54ac0f03
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/NpadControllerLeft.cs
@@ -0,0 +1,15 @@
+namespace Ryujinx.Common.Configuration.Hid
+{
+ public struct NpadControllerLeft
+ {
+ public ControllerInputId Stick;
+ public ControllerInputId StickButton;
+ public ControllerInputId ButtonMinus;
+ public ControllerInputId ButtonL;
+ public ControllerInputId ButtonZl;
+ public ControllerInputId DPadUp;
+ public ControllerInputId DPadDown;
+ public ControllerInputId DPadLeft;
+ public ControllerInputId DPadRight;
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs b/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs
new file mode 100644
index 00000000..315136d9
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/NpadControllerRight.cs
@@ -0,0 +1,15 @@
+namespace Ryujinx.Common.Configuration.Hid
+{
+ public struct NpadControllerRight
+ {
+ public ControllerInputId Stick;
+ public ControllerInputId StickButton;
+ public ControllerInputId ButtonA;
+ public ControllerInputId ButtonB;
+ public ControllerInputId ButtonX;
+ public ControllerInputId ButtonY;
+ public ControllerInputId ButtonPlus;
+ public ControllerInputId ButtonR;
+ public ControllerInputId ButtonZr;
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs b/Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs
new file mode 100644
index 00000000..911f5119
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/NpadKeyboard.cs
@@ -0,0 +1,20 @@
+namespace Ryujinx.UI.Input
+{
+ public class NpadKeyboard
+ {
+ /// <summary>
+ /// Left JoyCon Keyboard Bindings
+ /// </summary>
+ public Configuration.Hid.NpadKeyboardLeft LeftJoycon;
+
+ /// <summary>
+ /// Right JoyCon Keyboard Bindings
+ /// </summary>
+ public Configuration.Hid.NpadKeyboardRight RightJoycon;
+
+ /// <summary>
+ /// Hotkey Keyboard Bindings
+ /// </summary>
+ public Configuration.Hid.KeyboardHotkeys Hotkeys;
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs b/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs
new file mode 100644
index 00000000..799cdfdb
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/NpadKeyboardLeft.cs
@@ -0,0 +1,18 @@
+namespace Ryujinx.Configuration.Hid
+{
+ public struct NpadKeyboardLeft
+ {
+ public Key StickUp;
+ public Key StickDown;
+ public Key StickLeft;
+ public Key StickRight;
+ public Key StickButton;
+ public Key DPadUp;
+ public Key DPadDown;
+ public Key DPadLeft;
+ public Key DPadRight;
+ public Key ButtonMinus;
+ public Key ButtonL;
+ public Key ButtonZl;
+ }
+}
diff --git a/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs b/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs
new file mode 100644
index 00000000..311504bb
--- /dev/null
+++ b/Ryujinx.Common/Configuration/Hid/NpadKeyboardRight.cs
@@ -0,0 +1,18 @@
+namespace Ryujinx.Configuration.Hid
+{
+ public struct NpadKeyboardRight
+ {
+ public Key StickUp;
+ public Key StickDown;
+ public Key StickLeft;
+ public Key StickRight;
+ public Key StickButton;
+ public Key ButtonA;
+ public Key ButtonB;
+ public Key ButtonX;
+ public Key ButtonY;
+ public Key ButtonPlus;
+ public Key ButtonR;
+ public Key ButtonZr;
+ }
+}