/* Fills the given HID report data structure with the next HID report to send to the host. */
void CreateMouseReport(USB_MouseReport_Data_t *const ReportData)
/* Fills the given HID report data structure with the next HID report to send to the host. */
void CreateMouseReport(USB_MouseReport_Data_t *const ReportData)
{
	uint8_t JoyStatus_LCL    = Joystick_GetStatus();
	uint8_t ButtonStatus_LCL = Buttons_GetStatus();
	memset(ReportData, 0, sizeof(USB_MouseReport_Data_t));
	if (JoyStatus_LCL & JOY_UP)
	  ReportData->Y = -1;
	else if (JoyStatus_LCL & JOY_DOWN)
	  ReportData->Y =  1;
	if (JoyStatus_LCL & JOY_LEFT)
	  ReportData->X = -1;
	else if (JoyStatus_LCL & JOY_RIGHT)
	  ReportData->X =  1;
	if (JoyStatus_LCL & JOY_PRESS)
	  ReportData->Button |= (1 << 0);
	if (ButtonStatus_LCL & BUTTONS_BUTTON1)
	  ReportData->Button |= (1 << 1);
}