diff --git a/core/libs/tests/GuestPad.cpp b/core/libs/tests/GuestPad.cpp index 5e22504d21..869e28c1ae 100644 --- a/core/libs/tests/GuestPad.cpp +++ b/core/libs/tests/GuestPad.cpp @@ -591,6 +591,11 @@ static bool TriggerIs(int trigger, bool valid, std::uint32_t mode, const std::ar } static void CheckTriggerEffect(int user, int handle) { + PadTriggerEffectStateInformation info{}; + Require(scePadGetTriggerEffectState(0, &info) == PAD_ERROR_INVALID_HANDLE); + Require(scePadGetTriggerEffectState(0, nullptr) == PAD_ERROR_INVALID_HANDLE); + Require(scePadGetTriggerEffectState(handle, nullptr) == PAD_ERROR_INVALID_ARG); + Require(scePadGetTriggerEffectState(handle, &info) == PAD_OK); std::array param{}; const auto command = [&](int trigger, std::uint32_t mode, const std::array& data) { std::memcpy(param.data() + 8 + 56 * trigger, &mode, sizeof(mode)); @@ -614,6 +619,7 @@ static void CheckTriggerEffect(int user, int handle) { command(0, 2, {2, 5, 8}); Require(scePadSetTriggerEffect(special, param.data()) == PAD_OK && TriggerIs(0, false, 0, off, 0)); Require(scePadClose_nid_postfix(special) == PAD_OK); + Require(scePadGetTriggerEffectState(special, &info) == PAD_ERROR_INVALID_HANDLE); } static void CheckAccessibilityControllerState(int handle) { diff --git a/docs/dev/debt/libScePad.md b/docs/dev/debt/libScePad.md index d29308e144..118f9eeb26 100644 --- a/docs/dev/debt/libScePad.md +++ b/docs/dev/debt/libScePad.md @@ -4,6 +4,7 @@ - [scePadEnableExtensionPort](../../../core/libs/prx/libScePad/Export.cpp) returns success without changing extension-port state. The boolean argument is recovered; connected-device behavior is not modeled. - [scePadSetLightBarBaseBrightness, scePadDisableTriggerEffect](../../../core/libs/prx/libScePad/Export.cpp) (libScePad) - return success for known handles without changing hardware states. `scePadIsLightBarBaseBrightnessControllable` reports 1 while the modifier is a no-op. +- [scePadGetTriggerEffectState](../../../core/libs/prx/libScePad/Export.cpp) (libScePad) - returns a zeroed state for every known handle, whatever trigger effect is set. The handle and null-output errors and their order are those of the other exports in the file, not measured on a console. ### Unknown function info