HidValues.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. namespace Ryujinx.HLE.Input
  2. {
  3. public partial class Hid
  4. {
  5. /*
  6. * Reference:
  7. * https://github.com/reswitched/libtransistor/blob/development/lib/hid.c
  8. * https://github.com/reswitched/libtransistor/blob/development/include/libtransistor/hid.h
  9. * https://github.com/switchbrew/libnx/blob/master/nx/source/services/hid.c
  10. * https://github.com/switchbrew/libnx/blob/master/nx/include/switch/services/hid.h
  11. */
  12. internal const int HidHeaderSize = 0x400;
  13. internal const int HidTouchScreenSize = 0x3000;
  14. internal const int HidMouseSize = 0x400;
  15. internal const int HidKeyboardSize = 0x400;
  16. internal const int HidUnkSection1Size = 0x400;
  17. internal const int HidUnkSection2Size = 0x400;
  18. internal const int HidUnkSection3Size = 0x400;
  19. internal const int HidUnkSection4Size = 0x400;
  20. internal const int HidUnkSection5Size = 0x200;
  21. internal const int HidUnkSection6Size = 0x200;
  22. internal const int HidUnkSection7Size = 0x200;
  23. internal const int HidUnkSection8Size = 0x800;
  24. internal const int HidControllerSerialsSize = 0x4000;
  25. internal const int HidControllersSize = 0x32000;
  26. internal const int HidUnkSection9Size = 0x800;
  27. internal const int HidKeyboardHeaderSize = 0x20;
  28. internal const int HidKeyboardEntrySize = 0x38;
  29. internal const int HidTouchHeaderSize = 0x28;
  30. internal const int HidTouchEntrySize = 0x298;
  31. internal const int HidTouchEntryHeaderSize = 0x10;
  32. internal const int HidTouchEntryTouchSize = 0x28;
  33. internal const int HidControllerSize = 0x5000;
  34. internal const int HidControllerHeaderSize = 0x28;
  35. internal const int HidControllerLayoutsSize = 0x350;
  36. internal const int HidControllersLayoutHeaderSize = 0x20;
  37. internal const int HidControllersInputEntrySize = 0x30;
  38. internal const int HidHeaderOffset = 0;
  39. internal const int HidTouchScreenOffset = HidHeaderOffset + HidHeaderSize;
  40. internal const int HidMouseOffset = HidTouchScreenOffset + HidTouchScreenSize;
  41. internal const int HidKeyboardOffset = HidMouseOffset + HidMouseSize;
  42. internal const int HidUnkSection1Offset = HidKeyboardOffset + HidKeyboardSize;
  43. internal const int HidUnkSection2Offset = HidUnkSection1Offset + HidUnkSection1Size;
  44. internal const int HidUnkSection3Offset = HidUnkSection2Offset + HidUnkSection2Size;
  45. internal const int HidUnkSection4Offset = HidUnkSection3Offset + HidUnkSection3Size;
  46. internal const int HidUnkSection5Offset = HidUnkSection4Offset + HidUnkSection4Size;
  47. internal const int HidUnkSection6Offset = HidUnkSection5Offset + HidUnkSection5Size;
  48. internal const int HidUnkSection7Offset = HidUnkSection6Offset + HidUnkSection6Size;
  49. internal const int HidUnkSection8Offset = HidUnkSection7Offset + HidUnkSection7Size;
  50. internal const int HidControllerSerialsOffset = HidUnkSection8Offset + HidUnkSection8Size;
  51. internal const int HidControllersOffset = HidControllerSerialsOffset + HidControllerSerialsSize;
  52. internal const int HidUnkSection9Offset = HidControllersOffset + HidControllersSize;
  53. internal const int HidEntryCount = 17;
  54. }
  55. }