1 #if !defined(__HIDJOYSTICKRPTPARSER_H__)
2 #define __HIDJOYSTICKRPTPARSER_H__
6 struct GamePadEventData {
7 uint8_t X, Y, Z1, Z2, Rz;
10 class JoystickEvents {
12 virtual void OnGamePadChanged(const GamePadEventData *evt);
13 virtual void OnHatSwitch(uint8_t hat);
14 virtual void OnButtonUp(uint8_t but_id);
15 virtual void OnButtonDn(uint8_t but_id);
18 #define RPT_GEMEPAD_LEN 5
20 class JoystickReportParser : public HIDReportParser {
21 JoystickEvents *joyEvents;
23 uint8_t oldPad[RPT_GEMEPAD_LEN];
28 JoystickReportParser(JoystickEvents *evt);
30 virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
33 #endif // __HIDJOYSTICKRPTPARSER_H__