diff --git a/src/core/hle/service/hid.cpp b/src/core/hle/service/hid.cpp index 4e470795fed3920243bd47aa35f4049f5cf9d392..6a4895c901bc4b96f0e95a4039472e33f592f8c2 100644 --- a/src/core/hle/service/hid.cpp +++ b/src/core/hle/service/hid.cpp @@ -57,6 +57,9 @@ const Interface::FunctionInfo FunctionTable[] = { {0x00170000, nullptr, "GetSoundVolume"}, }; + + + //////////////////////////////////////////////////////////////////////////////////////////////////// // Interface class diff --git a/src/core/hle/service/hid.h b/src/core/hle/service/hid.h index b17fcfa865b10ec3e15e0a7d23d596c6e9653d63..6ddf2f80f75ae180276be3f9ff2e6be02d050ae1 100644 --- a/src/core/hle/service/hid.h +++ b/src/core/hle/service/hid.h @@ -5,6 +5,7 @@ #pragma once #include "core/hle/service/service.h" +#include "common/bit_field.h" //////////////////////////////////////////////////////////////////////////////////////////////////// // Namespace HID_User @@ -14,6 +15,30 @@ namespace HID_User { +struct PADState { + union { + u32 hex; + + BitField<0, 1, u32> A; + BitField<1, 1, u32> B; + BitField<2, 1, u32> Select; + BitField<3, 1, u32> Start; + BitField<4, 1, u32> Right; + BitField<5, 1, u32> Left; + BitField<6, 1, u32> Up; + BitField<7, 1, u32> Down; + BitField<8, 1, u32> R; + BitField<9, 1, u32> L; + BitField<10, 1, u32> X; + BitField<11, 1, u32> Y; + + BitField<28, 1, u32> CircleRight; + BitField<29, 1, u32> CircleLeft; + BitField<30, 1, u32> CircleUp; + BitField<31, 1, u32> CircleDown; + }; +}; + class Interface : public Service::Interface { public: