diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 35 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.h | 2 | 
2 files changed, 35 insertions, 2 deletions
| diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index b36689552..14f737d39 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -293,8 +293,8 @@ Hid::Hid(Core::System& system_)          {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"},          {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},          {134, &Hid::SetNpadAnalogStickUseCenterClamp, "SetNpadAnalogStickUseCenterClamp"}, -        {135, nullptr, "SetNpadCaptureButtonAssignment"}, -        {136, nullptr, "ClearNpadCaptureButtonAssignment"}, +        {135, &Hid::SetNpadCaptureButtonAssignment, "SetNpadCaptureButtonAssignment"}, +        {136, &Hid::ClearNpadCaptureButtonAssignment, "ClearNpadCaptureButtonAssignment"},          {200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},          {201, &Hid::SendVibrationValue, "SendVibrationValue"},          {202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"}, @@ -1186,6 +1186,37 @@ void Hid::SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx) {      rb.Push(ResultSuccess);  } +void Hid::SetNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx) { +    IPC::RequestParser rp{ctx}; +    struct Parameters { +        Core::HID::NpadStyleSet npad_styleset; +        INSERT_PADDING_WORDS_NOINIT(1); +        u64 applet_resource_user_id; +        Core::HID::NpadButton button; +    }; +    static_assert(sizeof(Parameters) == 0x18, "Parameters has incorrect size."); + +    const auto parameters{rp.PopRaw<Parameters>()}; + +    LOG_WARNING(Service_HID, +                "(STUBBED) called, npad_styleset={}, applet_resource_user_id={}, button={}", +                parameters.npad_styleset, parameters.applet_resource_user_id, parameters.button); + +    IPC::ResponseBuilder rb{ctx, 2}; +    rb.Push(ResultSuccess); +} + +void Hid::ClearNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx) { +    IPC::RequestParser rp{ctx}; +    const auto applet_resource_user_id{rp.Pop<u64>()}; + +    LOG_WARNING(Service_HID, "(STUBBED) called, applet_resource_user_id={}", +                applet_resource_user_id); + +    IPC::ResponseBuilder rb{ctx, 2}; +    rb.Push(ResultSuccess); +} +  void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx};      const auto vibration_device_handle{rp.PopRaw<Core::HID::VibrationDeviceHandle>()}; diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index ab0084118..d290df161 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -136,6 +136,8 @@ private:      void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx);      void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx);      void SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx); +    void SetNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx); +    void ClearNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx);      void GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx);      void SendVibrationValue(Kernel::HLERequestContext& ctx);      void GetActualVibrationValue(Kernel::HLERequestContext& ctx); | 
