dreamcast_usb/gamepad.h

31 lines
672 B
C

#ifndef _gamepad_h__
#define _gamepad_h__
typedef struct {
// size of reports built by buildReport
char num_reports;
int reportDescriptorSize;
void *reportDescriptor; // must be in flash
int deviceDescriptorSize; // if 0, use default
void *deviceDescriptor; // must be in flash
char (*descriptorsChanged)(void); // return true if descriptor above changed.
void (*init)(void);
void (*update)(void);
char (*changed)(unsigned char id);
/**
* \param id Controller id (starting at 1 to match report IDs)
* \return The number of bytes written to buf.
* */
char (*buildReport)(unsigned char *buf, unsigned char id);
} Gamepad;
#endif // _gamepad_h__