30 #define XBOX_ONE_EP_MAXPKTSIZE 64 // Max size for data via USB 33 #define XBOX_ONE_CONTROL_PIPE 0 34 #define XBOX_ONE_OUTPUT_PIPE 1 35 #define XBOX_ONE_INPUT_PIPE 2 37 #define XBOX_ONE_MAX_ENDPOINTS 3 42 #define XBOX_VID1 0x045E // Microsoft Corporation 43 #define XBOX_ONE_PID1 0x02D1 // Microsoft X-Box One pad 44 #define XBOX_ONE_PID2 0x02DD // Microsoft X-Box One pad (Firmware 2015) 45 #define XBOX_ONE_PID3 0x02E3 // Microsoft X-Box One Elite pad 46 #define XBOX_ONE_PID4 0x02EA // Microsoft X-Box One S pad 47 #define XBOX_ONE_PID13 0x0B0A // Microsoft X-Box One Adaptive Controller 50 #define XBOX_VID2 0x0738 // Mad Catz 51 #define XBOX_VID3 0x0E6F // Afterglow 52 #define XBOX_VID4 0x0F0D // HORIPAD ONE 53 #define XBOX_VID5 0x1532 // Razer 54 #define XBOX_VID6 0x24C6 // PowerA 56 #define XBOX_ONE_PID5 0x4A01 // Mad Catz FightStick TE 2 - might have different mapping for triggers? 57 #define XBOX_ONE_PID6 0x0139 // Afterglow Prismatic Wired Controller 58 #define XBOX_ONE_PID7 0x0146 // Rock Candy Wired Controller for Xbox One 59 #define XBOX_ONE_PID8 0x0067 // HORIPAD ONE 60 #define XBOX_ONE_PID9 0x0A03 // Razer Wildcat 61 #define XBOX_ONE_PID10 0x541A // PowerA Xbox One Mini Wired Controller 62 #define XBOX_ONE_PID11 0x542A // Xbox ONE spectra 63 #define XBOX_ONE_PID12 0x543A // PowerA Xbox One wired controller 82 virtual uint8_t
Init(uint8_t parent, uint8_t port,
bool lowspeed);
92 virtual uint8_t
Poll();
124 virtual bool VIDPIDOK(uint16_t vid, uint16_t pid) {
158 pFuncOnInit = funcOnInit;
171 void setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor);
216 void (*pFuncOnInit)(void);
218 uint8_t pollInterval;
222 uint16_t ButtonState;
223 uint16_t OldButtonState;
224 uint16_t ButtonClickState;
226 uint16_t triggerValue[2];
227 uint16_t triggerValueOld[2];
238 uint8_t XboxCommand(uint8_t* data, uint16_t nbytes);
#define XBOX_ONE_EP_MAXPKTSIZE
void attachOnInit(void(*funcOnInit)(void))
void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
#define XBOX_ONE_MAX_ENDPOINTS
virtual uint8_t Release()
uint16_t getButtonPress(ButtonEnum b)
virtual uint8_t GetAddress()
EpInfo epInfo[XBOX_ONE_MAX_ENDPOINTS]
bool getButtonClick(ButtonEnum b)
uint8_t readPollInterval()
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
int16_t getAnalogHat(AnalogHatEnum a)
virtual bool VIDPIDOK(uint16_t vid, uint16_t pid)
void setRumbleOn(uint8_t leftTrigger, uint8_t rightTrigger, uint8_t leftMotor, uint8_t rightMotor)