if ((IsKeyReleaseReport) || (CurrentTrackBuffer == &TrackDataBuffers[TOTAL_TRACKS]))\r
{\r
/* No more data to send, or key release report between key presses */\r
- KeyboardReport->KeyCode = KEY_NONE;\r
+ KeyboardReport->KeyCode[0] = KEY_NONE;\r
}\r
else if (!(CurrentTrackBuffer->Elements))\r
{\r
/* End of current track, send an enter press and change to the next track's buffer */\r
- KeyboardReport->KeyCode = KEY_ENTER;\r
+ KeyboardReport->KeyCode[0] = KEY_ENTER;\r
CurrentTrackBuffer++;\r
}\r
else\r
{\r
/* Still data in the current track; convert next bit to a 1 or 0 keypress */\r
- KeyboardReport->KeyCode = BitBuffer_GetNextBit(CurrentTrackBuffer) ? KEY_1 : KEY_0;\r
+ KeyboardReport->KeyCode[0] = BitBuffer_GetNextBit(CurrentTrackBuffer) ? KEY_1 : KEY_0;\r
}\r
\r
*ReportSize = sizeof(USB_KeyboardReport_Data_t);\r
\r
/** HID keyboard keycode to indicate that the enter key is currently pressed. */\r
#define KEY_ENTER 40\r
- \r
- /* Type Defines: */\r
- /** Type define for the keyboard report structure. This structure matches the report layout\r
- * given to the host in the HID Report descriptor, as well as matches the boot protocol report\r
- * structure. This means that this one report structure can be used in both Report and Boot Protocol\r
- * modes. */\r
- typedef struct\r
- {\r
- uint8_t Modifier; /**< Modifier byte, indicating pressed modifier keys such as CTRL or ALT */\r
- uint8_t Reserved; /**< Reserved for OEM use, always set to 0 */\r
- uint8_t KeyCode; /**< Key code array for pressed keys - up to six can be given simultaneously */\r
- } USB_KeyboardReport_Data_t;\r
\r
/* Function Prototypes: */\r
void SetupHardware(void);\r