Read the controller's trigger effect and status nibbles from the DualSense input report (USB 0x01, Bluetooth 0x31) per port, and map them to the SCE trigger states. Send only the trigger blocks that were set, retry a refused effect, implement scePadDisableTriggerEffect, and clear the cached state when the controller, status handle or pad closes.
The trigger test uses the public libScePad.hpp. The strength, internal-state and extended exports still throw because their units and payload layouts are unknown; record them in debt.