aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/Hid/HidKeyboard.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Core/Hid/HidKeyboard.cs')
-rw-r--r--Ryujinx.Core/Hid/HidKeyboard.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/Ryujinx.Core/Hid/HidKeyboard.cs b/Ryujinx.Core/Hid/HidKeyboard.cs
new file mode 100644
index 00000000..f9987f68
--- /dev/null
+++ b/Ryujinx.Core/Hid/HidKeyboard.cs
@@ -0,0 +1,33 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Core
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x20)]
+ public struct HidKeyboardHeader
+ {
+ public ulong TimestampTicks;
+ public ulong NumEntries;
+ public ulong LatestEntry;
+ public ulong MaxEntryIndex;
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0x38)]
+ public struct HidKeyboardEntry
+ {
+ public ulong Timestamp;
+ public ulong Timestamp_2;
+ public ulong Modifier;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
+ public uint[] Keys;
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0x400)]
+ public struct HidKeyboard
+ {
+ public HidKeyboardHeader Header;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)]
+ public HidKeyboardEntry[] Entries;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x28)]
+ public byte[] Padding;
+ }
+}