diff --git a/src/core/hle/service/hid.cpp b/src/core/hle/service/hid.cpp index 4e470795f..6a4895c90 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 b17fcfa86..6ddf2f80f 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: