Device mode class driver callbacks are now fired before the control request status...
[pub/USBasp.git] / Demos / Device / LowLevel / Keyboard / Keyboard.c
index 28a3d40..6771584 100644 (file)
@@ -7,8 +7,8 @@
 */\r
 \r
 /*\r
 */\r
 \r
 /*\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
   Copyright 2010  Denver Gingerich (denver [at] ossguy [dot] com)\r
   Copyright 2010  Denver Gingerich (denver [at] ossguy [dot] com)\r
-      Based on code by Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
@@ -62,6 +62,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
 \r
        for (;;)\r
        {\r
@@ -266,6 +267,9 @@ void CreateKeyboardReport(USB_KeyboardReport_Data_t* ReportData)
        /* Clear the report contents */\r
        memset(ReportData, 0, sizeof(USB_KeyboardReport_Data_t));\r
        \r
        /* Clear the report contents */\r
        memset(ReportData, 0, sizeof(USB_KeyboardReport_Data_t));\r
        \r
+       /* Make sent key uppercase by indicating that the left shift key is pressed */\r
+       ReportData->Modifier = KEYBOARD_MODIFER_LEFTSHIFT;\r
+       \r
        if (JoyStatus_LCL & JOY_UP)\r
          ReportData->KeyCode[UsedKeyCodes++] = 0x04; // A\r
        else if (JoyStatus_LCL & JOY_DOWN)\r
        if (JoyStatus_LCL & JOY_UP)\r
          ReportData->KeyCode[UsedKeyCodes++] = 0x04; // A\r
        else if (JoyStatus_LCL & JOY_DOWN)\r
@@ -291,13 +295,13 @@ void ProcessLEDReport(uint8_t LEDReport)
 {\r
        uint8_t LEDMask = LEDS_LED2;\r
        \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
          LEDMask |= LEDS_LED1;\r
        \r
-       if (LEDReport & 0x02) // CAPS Lock\r
+       if (LEDReport & KEYBOARD_LED_CAPSLOCK)\r
          LEDMask |= LEDS_LED3;\r
 \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
          LEDMask |= LEDS_LED4;\r
 \r
        /* Set the status LEDs to the current Keyboard LED status */\r