+/** Processes a given Keyboard LED report from the host, and sets the board LEDs to match. Since the Keyboard\r
+ * LED report can be sent through either the control endpoint (via a HID SetReport request) or the HID OUT\r
+ * endpoint, the processing code is placed here to avoid duplicating it and potentially having different\r
+ * behaviour depending on the method used to sent it.\r
+ */\r
+void Keyboard_ProcessLEDReport(const uint8_t LEDStatus)\r
+{\r
+ uint8_t LEDMask = LEDS_LED2;\r
+ \r
+ if (LEDStatus & KEYBOARD_LED_NUMLOCK)\r
+ LEDMask |= LEDS_LED1;\r
+ \r
+ if (LEDStatus & KEYBOARD_LED_CAPSLOCK)\r
+ LEDMask |= LEDS_LED3;\r
+\r
+ if (LEDStatus & KEYBOARD_LED_SCROLLLOCK)\r
+ LEDMask |= LEDS_LED4;\r
+\r
+ /* Set the status LEDs to the current Keyboard LED status */\r
+ LEDs_SetAllLEDs(LEDMask);\r
+}\r
+\r