uint8_t LEDMask = LEDS_NO_LEDS;\r
uint8_t* LEDReport = (uint8_t*)ReportData;\r
\r
- if (*LEDReport & 0x01) // NUM Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_NUMLOCK)\r
LEDMask |= LEDS_LED1;\r
\r
- if (*LEDReport & 0x02) // CAPS Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_CAPSLOCK)\r
LEDMask |= LEDS_LED3;\r
\r
- if (*LEDReport & 0x04) // SCROLL Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_SCROLLLOCK)\r
LEDMask |= LEDS_LED4;\r
\r
LEDs_SetAllLEDs(LEDMask);\r
uint8_t LEDMask = LEDS_NO_LEDS;\r
uint8_t* LEDReport = (uint8_t*)ReportData;\r
\r
- if (*LEDReport & 0x01) // NUM Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_NUMLOCK)\r
LEDMask |= LEDS_LED1;\r
\r
- if (*LEDReport & 0x02) // CAPS Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_CAPSLOCK)\r
LEDMask |= LEDS_LED3;\r
\r
- if (*LEDReport & 0x04) // SCROLL Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_SCROLLLOCK)\r
LEDMask |= LEDS_LED4;\r
\r
LEDs_SetAllLEDs(LEDMask);\r
uint8_t LEDMask = LEDS_NO_LEDS;\r
uint8_t* LEDReport = (uint8_t*)ReportData;\r
\r
- if (*LEDReport & 0x01) // NUM Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_NUMLOCK)\r
LEDMask |= LEDS_LED1;\r
\r
- if (*LEDReport & 0x02) // CAPS Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_CAPSLOCK)\r
LEDMask |= LEDS_LED3;\r
\r
- if (*LEDReport & 0x04) // SCROLL Lock\r
+ if (*LEDReport & HID_KEYBOARD_LED_SCROLLLOCK)\r
LEDMask |= LEDS_LED4;\r
\r
LEDs_SetAllLEDs(LEDMask);\r
{\r
uint8_t LEDMask = LEDS_LED2;\r
\r
- if (LEDReport & 0x01) // NUM Lock\r
+ if (*LEDReport & KEYBOARD_LED_NUMLOCK)\r
LEDMask |= LEDS_LED1;\r
\r
- if (LEDReport & 0x02) // CAPS Lock\r
+ if (*LEDReport & KEYBOARD_LED_CAPSLOCK)\r
LEDMask |= LEDS_LED3;\r
\r
- if (LEDReport & 0x04) // SCROLL Lock\r
+ if (*LEDReport & KEYBOARD_LED_SCROLLLOCK)\r
LEDMask |= LEDS_LED4;\r
\r
/* Set the status LEDs to the current Keyboard LED status */\r
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */\r
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)\r
\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */\r
+ #define KEYBOARD_LED_NUMLOCK (1 << 0)\r
+ \r
+ /** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */\r
+ #define KEYBOARD_LED_CAPSLOCK (1 << 1)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */\r
+ #define KEYBOARD_LED_SCROLLLOCK (1 << 2)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */\r
+ #define KEYBOARD_LED_KATANA (1 << 3)\r
+ \r
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */\r
#define LEDMASK_USB_NOTREADY LEDS_LED1\r
\r
uint8_t LEDStatus = Endpoint_Read_Byte();\r
uint8_t LEDMask = LEDS_LED2;\r
\r
- if (LEDStatus & 0x01) // NUM Lock\r
+ if (LEDStatus & KEYBOARD_LED_NUMLOCK)\r
LEDMask |= LEDS_LED1;\r
\r
- if (LEDStatus & 0x02) // CAPS Lock\r
+ if (LEDStatus & KEYBOARD_LED_CAPSLOCK)\r
LEDMask |= LEDS_LED3;\r
\r
- if (LEDStatus & 0x04) // SCROLL Lock\r
+ if (LEDStatus & KEYBOARD_LED_SCROLLLOCK)\r
LEDMask |= LEDS_LED4;\r
\r
/* Set the status LEDs to the current HID LED status */\r
uint8_t LEDStatus = Endpoint_Read_Byte();\r
uint8_t LEDMask = LEDS_LED2;\r
\r
- if (LEDStatus & 0x01) // NUM Lock\r
+ if (LEDStatus & KEYBOARD_LED_NUMLOCK)\r
LEDMask |= LEDS_LED1;\r
\r
- if (LEDStatus & 0x02) // CAPS Lock\r
+ if (LEDStatus & KEYBOARD_LED_CAPSLOCK)\r
LEDMask |= LEDS_LED3;\r
\r
- if (LEDStatus & 0x04) // SCROLL Lock\r
+ if (LEDStatus & KEYBOARD_LED_SCROLLLOCK)\r
LEDMask |= LEDS_LED4;\r
\r
/* Set the status LEDs to the current Keyboard LED status */\r
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */\r
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)\r
\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */\r
+ #define KEYBOARD_LED_NUMLOCK (1 << 0)\r
+ \r
+ /** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */\r
+ #define KEYBOARD_LED_CAPSLOCK (1 << 1)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */\r
+ #define KEYBOARD_LED_SCROLLLOCK (1 << 2)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */\r
+ #define KEYBOARD_LED_KATANA (1 << 3)\r
+\r
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */\r
#define LEDMASK_USB_NOTREADY LEDS_LED1\r
\r
\r
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */\r
#define HID_KEYBOARD_MODIFER_RIGHTGUI (1 << 7)\r
+ \r
+ /** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */\r
+ #define HID_KEYBOARD_LED_NUMLOCK (1 << 0)\r
+ \r
+ /** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */\r
+ #define HID_KEYBOARD_LED_CAPSLOCK (1 << 1)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */\r
+ #define HID_KEYBOARD_LED_SCROLLLOCK (1 << 2)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */\r
+ #define HID_KEYBOARD_LED_KATANA (1 << 3)\r
\r
/* Type Defines: */\r
/** Enum for the different types of HID reports. */\r
* - New Webserver project, a RNDIS host USB webserver using the open source uIP TCP/IP network stack and FatFS library\r
* - New BOARD value option BOARD_NONE (equivelent to not specifying BOARD) which will remove all board hardware drivers which\r
* do not adversely affect the code operation (currently only the LEDs driver)\r
- * - Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) to the HID class driver and Keyboard demos\r
+ * - Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) and LED report masks (KEYBOARD_LED_*) to the HID class driver and\r
+ * Keyboard demos\r
*\r
* <b>Changed:</b>\r
* - Slowed down software USART carried PDI programming in the AVRISP project to prevent transmission errors\r