-                       uint16_t ReportOUTSize = Endpoint_BytesInEndpoint();\r
-                       uint8_t  ReportOUTData[ReportOUTSize];\r
-                       \r
-                       if (ReportOUTSize)\r
-                         Endpoint_Read_Stream_LE(ReportOUTData, ReportOUTSize, NO_STREAM_CALLBACK);\r
-                         \r
-                       CALLBACK_USB_HID_ProcessReceivedHIDReport(HIDInterfaceInfo, ReportOUTData, ReportOUTSize);\r
-                       \r
-                       Endpoint_ClearOUT();\r
+                       if (ReportID)\r
+                         Endpoint_Write_Stream_LE(&ReportID, sizeof(ReportID), NO_STREAM_CALLBACK);\r
+\r
+                       Endpoint_Write_Stream_LE(ReportINData, ReportINSize, NO_STREAM_CALLBACK);\r