#include <cafe/pads/kpad/kpad.h>

#define KPAD_STATE_CTRL_DPD_START               0
#define KPAD_STATE_CTRL_DPD_FINISHED            1

typedef void (* KPADControlDpdCallback )( s32 chan, s32 reason );

void KPADSetControlDpdCallback( s32 chan, KPADControlDpdCallback callback );


chan One of the WPAD_CHANn values.
callback The callback used when the Wii remote DPD is configured inside KPAD.

Return Values



Registers the callback to be used when DPD settings are configured for the Wii remote inside KPAD. If NULL is specified, no notifications will be made until reset. Note that registered callbacks will also be released when the KPADInit function is called.

In KPAD, the DPD setting will be changed internally when a controller is connected, an extended controller is swapped and the controller type is changed, and when the DPD enable/disable setting is changed using the KPADEnableDPD or KPADDisableDPD function.

Remote Speaker playback may be affected because the WPAD command will be issued at this time.

The callback reason value will receive KPAD_STATE_CTRL_DPD_START when DPD needs to be configured, and KPAD_STATE_CTRL_DPD_FINISHED when the configuration completes normally or the Wii remote is disconnected during configuration.

When DPD configuration fails, there will be an internal retry. After successful completion, a callback notification will be made for the first time.

Do Not Call From

Background Do not call this function from the background.
Interrupt handler Do not call this function from any interrupt handler.
Exception handler Do not call this function from any exception handler.
Multiple Cores Do not call this function from more than one Core.

See Also


Revision History

2013/05/08 Automated cleanup pass.
2006/09/23 Initial version.