Added standard keyboard HID report scancode defines (thanks to László Monda).

This commit is contained in:
Dean Camera 2010-10-28 23:11:49 +00:00
parent 2d49c09b38
commit b8dfa976ce
12 changed files with 337 additions and 79 deletions

View file

@ -149,20 +149,20 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
uint8_t UsedKeyCodes = 0;
if (JoyStatus_LCL & JOY_UP)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x04; // A
KeyboardReport->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_A;
else if (JoyStatus_LCL & JOY_DOWN)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x05; // B
KeyboardReport->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_B;
if (JoyStatus_LCL & JOY_LEFT)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x06; // C
KeyboardReport->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_C;
else if (JoyStatus_LCL & JOY_RIGHT)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x07; // D
KeyboardReport->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_D;
if (JoyStatus_LCL & JOY_PRESS)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x08; // E
KeyboardReport->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_E;
if (ButtonStatus_LCL & BUTTONS_BUTTON1)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x09; // F
KeyboardReport->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_F;
if (UsedKeyCodes)
KeyboardReport->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;

View file

@ -185,17 +185,17 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
KeyboardReport->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
if (JoyStatus_LCL & JOY_UP)
KeyboardReport->KeyCode[0] = 0x04; // A
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_A;
else if (JoyStatus_LCL & JOY_DOWN)
KeyboardReport->KeyCode[0] = 0x05; // B
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_B;
if (JoyStatus_LCL & JOY_LEFT)
KeyboardReport->KeyCode[0] = 0x06; // C
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_C;
else if (JoyStatus_LCL & JOY_RIGHT)
KeyboardReport->KeyCode[0] = 0x07; // D
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_D;
if (JoyStatus_LCL & JOY_PRESS)
KeyboardReport->KeyCode[0] = 0x08; // E
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_E;
*ReportSize = sizeof(USB_KeyboardReport_Data_t);
return false;

View file

@ -198,20 +198,20 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
KeyboardReport->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
if (JoyStatus_LCL & JOY_UP)
KeyboardReport->KeyCode[0] = 0x04; // A
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_A;
else if (JoyStatus_LCL & JOY_DOWN)
KeyboardReport->KeyCode[0] = 0x05; // B
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_B;
if (JoyStatus_LCL & JOY_LEFT)
KeyboardReport->KeyCode[0] = 0x06; // C
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_C;
else if (JoyStatus_LCL & JOY_RIGHT)
KeyboardReport->KeyCode[0] = 0x07; // D
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_D;
if (JoyStatus_LCL & JOY_PRESS)
KeyboardReport->KeyCode[0] = 0x08; // E
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_E;
if (ButtonStatus_LCL & BUTTONS_BUTTON1)
KeyboardReport->KeyCode[0] = 0x09; // F
KeyboardReport->KeyCode[0] = HID_KEYBOARD_SC_F;
*ReportSize = sizeof(USB_KeyboardReport_Data_t);
return false;

View file

@ -254,20 +254,20 @@ void CreateKeyboardReport(USB_KeyboardReport_Data_t* const ReportData)
ReportData->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
if (JoyStatus_LCL & JOY_UP)
ReportData->KeyCode[UsedKeyCodes++] = 0x04; // A
ReportData->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_A;
else if (JoyStatus_LCL & JOY_DOWN)
ReportData->KeyCode[UsedKeyCodes++] = 0x05; // B
ReportData->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_B;
if (JoyStatus_LCL & JOY_LEFT)
ReportData->KeyCode[UsedKeyCodes++] = 0x06; // C
ReportData->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_C;
else if (JoyStatus_LCL & JOY_RIGHT)
ReportData->KeyCode[UsedKeyCodes++] = 0x07; // D
ReportData->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_D;
if (JoyStatus_LCL & JOY_PRESS)
ReportData->KeyCode[UsedKeyCodes++] = 0x08; // E
ReportData->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_E;
if (ButtonStatus_LCL & BUTTONS_BUTTON1)
ReportData->KeyCode[UsedKeyCodes++] = 0x09; // F
ReportData->KeyCode[UsedKeyCodes++] = HID_KEYBOARD_SC_F;
}
/** Processes a received LED report, and updates the board LEDs states to match.

View file

@ -222,17 +222,17 @@ void Keyboard_HID_Task(void)
KeyboardReportData.Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
if (JoyStatus_LCL & JOY_UP)
KeyboardReportData.KeyCode[0] = 0x04; // A
KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_A;
else if (JoyStatus_LCL & JOY_DOWN)
KeyboardReportData.KeyCode[0] = 0x05; // B
KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_B;
if (JoyStatus_LCL & JOY_LEFT)
KeyboardReportData.KeyCode[0] = 0x06; // C
KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_C;
else if (JoyStatus_LCL & JOY_RIGHT)
KeyboardReportData.KeyCode[0] = 0x07; // D
KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_D;
if (JoyStatus_LCL & JOY_PRESS)
KeyboardReportData.KeyCode[0] = 0x08; // E
KeyboardReportData.KeyCode[0] = HID_KEYBOARD_SC_E;
}
/* Select the Keyboard Report Endpoint */