Added Keyboard LED report masks (KEYBOARD_LED_*) to the HID class driver and demos.

This commit is contained in:
Dean Camera 2010-02-07 13:56:36 +00:00
parent 1fdc0e664e
commit 0c5d6f5f97
9 changed files with 56 additions and 19 deletions

View file

@ -294,13 +294,13 @@ void ProcessLEDReport(uint8_t LEDReport)
{
uint8_t LEDMask = LEDS_LED2;
if (LEDReport & 0x01) // NUM Lock
if (*LEDReport & KEYBOARD_LED_NUMLOCK)
LEDMask |= LEDS_LED1;
if (LEDReport & 0x02) // CAPS Lock
if (*LEDReport & KEYBOARD_LED_CAPSLOCK)
LEDMask |= LEDS_LED3;
if (LEDReport & 0x04) // SCROLL Lock
if (*LEDReport & KEYBOARD_LED_SCROLLLOCK)
LEDMask |= LEDS_LED4;
/* Set the status LEDs to the current Keyboard LED status */

View file

@ -98,6 +98,18 @@
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
/** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */
#define KEYBOARD_LED_NUMLOCK (1 << 0)
/** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */
#define KEYBOARD_LED_CAPSLOCK (1 << 1)
/** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */
#define KEYBOARD_LED_SCROLLLOCK (1 << 2)
/** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */
#define KEYBOARD_LED_KATANA (1 << 3)
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1