
/*XboxGamePad*/
#define XboxOnePad_TYPE_BUTTON 0x01
#define XboxOnePad_TYPE_AXIS 0x02

#define XboxOnePad_BUTTON_A 0x00
#define XboxOnePad_BUTTON_B 0x01
#define XboxOnePad_BUTTON_X 0x02
#define XboxOnePad_BUTTON_Y 0x03
#define XboxOnePad_BUTTON_LB 0x04
#define XboxOnePad_BUTTON_RB 0x05
#define XboxOnePad_BUTTON_START 0x06
#define XboxOnePad_BUTTON_MENU 0x07
#define XboxOnePad_BUTTON_HOME 0x08
#define XboxOnePad_BUTTON_LO 0x09 /* 左摇杆按键 */
#define XboxOnePad_BUTTON_RO 0x0A /* 右摇杆按键 */

#define XboxOnePad_BUTTON_ON 0x01
#define XboxOnePad_BUTTON_OFF 0x00

#define XboxOnePad_AXIS_LX 0x00     /* 左摇杆X轴 */
#define XboxOnePad_AXIS_LY 0x01     /* 左摇杆Y轴 */
#define XboxOnePad_AXIS_RX 0x03     /* 右摇杆X轴 */
#define XboxOnePad_AXIS_RY 0x04     /* 右摇杆Y轴 */
#define XboxOnePad_AXIS_LT 0x02
#define XboxOnePad_AXIS_RT 0x05
#define XboxOnePad_AXIS_XX 0x06 /* 方向键X轴 */
#define XboxOnePad_AXIS_YY 0x07 /* 方向键Y轴 */

#define XboxOnePad_AXIS_VAL_UP -32767
#define XboxOnePad_AXIS_VAL_DOWN 32767
#define XboxOnePad_AXIS_VAL_LEFT -32767
#define XboxOnePad_AXIS_VAL_RIGHT 32767

#define XboxOnePad_AXIS_VAL_MIN -32767
#define XboxOnePad_AXIS_VAL_MAX 32767
#define XboxOnePad_AXIS_VAL_MID 0x00


/*XboxGamePad*/
#define XboxOneWireless_AXIS_LX 0x00
#define XboxOneWireless_AXIS_LY 0x01
#define XboxOneWireless_AXIS_RX 0x02
#define XboxOneWireless_AXIS_RY 0x03
#define XboxOneWireless_AXIS_LT 0x05
#define XboxOneWireless_AXIS_RT 0x04
#define XboxOneWireless_AXIS_XX 0x07
#define XboxOneWireless_AXIS_YY 0x06
#define XboxOneWireless_BUTTON_A 0x00
#define XboxOneWireless_BUTTON_B 0x01
#define XboxOneWireless_BUTTON_X 0x03
#define XboxOneWireless_BUTTON_Y 0x04
#define XboxOneWireless_BUTTON_LB 0x06
#define XboxOneWireless_BUTTON_RB 0x07
#define XboxOneWireless_BUTTON_MENU 0x0B 
#define XboxOneWireless_BUTTON_START 0x09
#define XboxOneWireless_BUTTON_LO 0x0D
#define XboxOneWireless_BUTTON_RO 0x0E
#define XboxOneWireless_BUTTON_HOME 0x15


#define XboxOneWireless_AXIS_VAL_UP -32767
#define XboxOneWireless_AXIS_VAL_DOWN 32767
#define XboxOneWireless_AXIS_VAL_LEFT -32767
#define XboxOneWireless_AXIS_VAL_RIGHT 32767

#define XboxOneWireless_AXIS_VAL_MIN -32767
#define XboxOneWireless_AXIS_VAL_MAX 32767
#define XboxOneWireless_AXIS_VAL_MID 0x00

/*NintendoSwitch*/
#define NintendoSwitchPro_AXIS_LX 0x00
#define NintendoSwitchPro_AXIS_LY 0x01
#define NintendoSwitchPro_AXIS_RX 0x02
#define NintendoSwitchPro_AXIS_RY 0x03
#define NintendoSwitchPro_BUTTON_LT 0x07
#define NintendoSwitchPro_BUTTON_RT 0x08
#define NintendoSwitchPro_BUTTON_LB 0x05
#define NintendoSwitchPro_BUTTON_RB 0x06
#define NintendoSwitchPro_AXIS_XX 0x04
#define NintendoSwitchPro_AXIS_YY 0x05
#define NintendoSwitchPro_BUTTON_A 0x00
#define NintendoSwitchPro_BUTTON_B 0x01
#define NintendoSwitchPro_BUTTON_X 0x03
#define NintendoSwitchPro_BUTTON_Y 0x02
#define NintendoSwitchPro_BUTTON_LO 0x0C
#define NintendoSwitchPro_BUTTON_RO 0x0D
#define NintendoSwitchPro_BUTTON_MENU 0x0A
#define NintendoSwitchPro_BUTTON_VIEW 0x09
#define NintendoSwitchPro_BUTTON_SCREENSHORT 0x4
#define NintendoSwitchPro_BUTTON_HOME 0x0B

#define NintendoSwitchPro_BUTTON_VAL_UP -32767
#define NintendoSwitchPro_BUTTON_VAL_DOWN 32767


/*BEITONG*/
#define BEITONG_AXIS_LX 0x00
#define BEITONG_AXIS_LY 0x01
#define BEITONG_AXIS_RX 0x02
#define BEITONG_AXIS_RY 0x03
#define BEITONG_AXIS_LT 0x05
#define BEITONG_AXIS_RT 0x04
#define BEITONG_BUTTON_LB 0x06
#define BEITONG_BUTTON_RB 0x07
#define BEITONG_AXIS_XX 0x06
#define BEITONG_AXIS_YY 0x07
#define BEITONG_BUTTON_A 0x00
#define BEITONG_BUTTON_B 0x01
#define BEITONG_BUTTON_X 0x03
#define BEITONG_BUTTON_Y 0x04
#define BEITONG_BUTTON_L 0x05
#define BEITONG_BUTTON_R 0x06
#define BEITONG_BUTTON_LO 0x0D
#define BEITONG_BUTTON_RO 0x0E
#define BEITONG_BUTTON_MENU 0x0B
#define BEITONG_BUTTON_BACK 0x0A
#define BEITONG_BUTTON_VIEW 0x09
#define BEITONG_BUTTON_SCREENSHORT 0x4
#define BEITONG_BUTTON_HOME 0x0C

#define BEITONG_BUTTON_VAL_UP -32767
#define BEITONG_BUTTON_VAL_DOWN 32767

/*SONY*/
#define SONY_TYPE_BUTTON 0x01
#define SONY_TYPE_AXIS 0x02

#define SONY_BUTTON_A 0x01
#define SONY_BUTTON_B 0x02
#define SONY_BUTTON_X 0x00
#define SONY_BUTTON_Y 0x03
#define SONY_BUTTON_LB 0x04
#define SONY_BUTTON_RB 0x05
#define SONY_BUTTON_START 0x06
#define SONY_BUTTON_MENU 0x09
#define SONY_BUTTON_HOME 0x0C
#define SONY_BUTTON_LO 0x0A /* 左摇杆按键 */
#define SONY_BUTTON_RO 0x0B /* 右摇杆按键 */

#define SONY_BUTTON_ON 0x01
#define SONY_BUTTON_OFF 0x00
#define SONY_BUTTON_SCREENSHORT 0x0D

#define SONY_AXIS_LX 0x00     /* 左摇杆X轴 */
#define SONY_AXIS_LY 0x01     /* 左摇杆Y轴 */
#define SONY_AXIS_RX 0x02     /* 右摇杆X轴 */
#define SONY_AXIS_RY 0x05     /* 右摇杆Y轴 */
#define SONY_AXIS_LT 0x03
#define SONY_AXIS_RT 0x04
#define SONY_AXIS_XX 0x06 /* 方向键X轴 */
#define SONY_AXIS_YY 0x07 /* 方向键Y轴 */

#define SONY_AXIS_VAL_UP -32767
#define SONY_AXIS_VAL_DOWN 32767
#define SONY_AXIS_VAL_LEFT -32767
#define SONY_AXIS_VAL_RIGHT 32767

#define SONY_AXIS_VAL_MIN -32767
#define SONY_AXIS_VAL_MAX 32767
#define SONY_AXIS_VAL_MID 0x00