diff options
| author | emmauss <emmausssss@gmail.com> | 2018-11-20 02:01:36 +0200 |
|---|---|---|
| committer | Ac_K <Acoustik666@gmail.com> | 2018-11-20 01:01:36 +0100 |
| commit | dc02ac08caa84456e8b280a3347ac8907b5249ff (patch) | |
| tree | ef71cf05cba18da65c930328f955352f4859e67f /Ryujinx.HLE/Input/HidValues.cs | |
| parent | 0c36835f6de563cd6b4a4c82cac25fbcfb0a6231 (diff) | |
Support other switch controller types (#487)
* Make controllers modular, support changing controller type
* return readable events
* signal hid events
* fix style
Diffstat (limited to 'Ryujinx.HLE/Input/HidValues.cs')
| -rw-r--r-- | Ryujinx.HLE/Input/HidValues.cs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/Ryujinx.HLE/Input/HidValues.cs b/Ryujinx.HLE/Input/HidValues.cs new file mode 100644 index 00000000..62bf0707 --- /dev/null +++ b/Ryujinx.HLE/Input/HidValues.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Ryujinx.HLE.Input +{ + public partial class Hid + { + /* + * Reference: + * https://github.com/reswitched/libtransistor/blob/development/lib/hid.c + * https://github.com/reswitched/libtransistor/blob/development/include/libtransistor/hid.h + * https://github.com/switchbrew/libnx/blob/master/nx/source/services/hid.c + * https://github.com/switchbrew/libnx/blob/master/nx/include/switch/services/hid.h + */ + + internal const int HidHeaderSize = 0x400; + internal const int HidTouchScreenSize = 0x3000; + internal const int HidMouseSize = 0x400; + internal const int HidKeyboardSize = 0x400; + internal const int HidUnkSection1Size = 0x400; + internal const int HidUnkSection2Size = 0x400; + internal const int HidUnkSection3Size = 0x400; + internal const int HidUnkSection4Size = 0x400; + internal const int HidUnkSection5Size = 0x200; + internal const int HidUnkSection6Size = 0x200; + internal const int HidUnkSection7Size = 0x200; + internal const int HidUnkSection8Size = 0x800; + internal const int HidControllerSerialsSize = 0x4000; + internal const int HidControllersSize = 0x32000; + internal const int HidUnkSection9Size = 0x800; + + internal const int HidTouchHeaderSize = 0x28; + internal const int HidTouchEntrySize = 0x298; + + internal const int HidTouchEntryHeaderSize = 0x10; + internal const int HidTouchEntryTouchSize = 0x28; + + internal const int HidControllerSize = 0x5000; + internal const int HidControllerHeaderSize = 0x28; + internal const int HidControllerLayoutsSize = 0x350; + + internal const int HidControllersLayoutHeaderSize = 0x20; + internal const int HidControllersInputEntrySize = 0x30; + + internal const int HidHeaderOffset = 0; + internal const int HidTouchScreenOffset = HidHeaderOffset + HidHeaderSize; + internal const int HidMouseOffset = HidTouchScreenOffset + HidTouchScreenSize; + internal const int HidKeyboardOffset = HidMouseOffset + HidMouseSize; + internal const int HidUnkSection1Offset = HidKeyboardOffset + HidKeyboardSize; + internal const int HidUnkSection2Offset = HidUnkSection1Offset + HidUnkSection1Size; + internal const int HidUnkSection3Offset = HidUnkSection2Offset + HidUnkSection2Size; + internal const int HidUnkSection4Offset = HidUnkSection3Offset + HidUnkSection3Size; + internal const int HidUnkSection5Offset = HidUnkSection4Offset + HidUnkSection4Size; + internal const int HidUnkSection6Offset = HidUnkSection5Offset + HidUnkSection5Size; + internal const int HidUnkSection7Offset = HidUnkSection6Offset + HidUnkSection6Size; + internal const int HidUnkSection8Offset = HidUnkSection7Offset + HidUnkSection7Size; + internal const int HidControllerSerialsOffset = HidUnkSection8Offset + HidUnkSection8Size; + internal const int HidControllersOffset = HidControllerSerialsOffset + HidControllerSerialsSize; + internal const int HidUnkSection9Offset = HidControllersOffset + HidControllersSize; + + internal const int HidEntryCount = 17; + } +} |
