-       if (HIDReportEcho.ReportID)
-         *ReportID = HIDReportEcho.ReportID;
-
-       memcpy(ReportData, HIDReportEcho.ReportData, HIDReportEcho.ReportSize);
-
-       *ReportSize = HIDReportEcho.ReportSize;
-       return true;
+       uint8_t* Data = (uint8_t*)ReportData;
+       uint8_t  CurrLEDMask = LEDs_GetLEDs();
+               
+       Data[0] = ((CurrLEDMask & LEDS_LED1) ? 1 : 0);
+       Data[1] = ((CurrLEDMask & LEDS_LED2) ? 1 : 0);
+       Data[2] = ((CurrLEDMask & LEDS_LED3) ? 1 : 0);
+       Data[3] = ((CurrLEDMask & LEDS_LED4) ? 1 : 0);
+
+       *ReportSize = GENERIC_REPORT_SIZE;
+       return false;