aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/ClassDriver/Keyboard/Keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'Demos/Device/ClassDriver/Keyboard/Keyboard.c')
-rw-r--r--Demos/Device/ClassDriver/Keyboard/Keyboard.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Demos/Device/ClassDriver/Keyboard/Keyboard.c b/Demos/Device/ClassDriver/Keyboard/Keyboard.c
index 26636bf41..db30ac579 100644
--- a/Demos/Device/ClassDriver/Keyboard/Keyboard.c
+++ b/Demos/Device/ClassDriver/Keyboard/Keyboard.c
@@ -146,9 +146,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
uint8_t ButtonStatus_LCL = Buttons_GetStatus();
uint8_t UsedKeyCodes = 0;
-
- KeyboardReport->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
-
+
if (JoyStatus_LCL & JOY_UP)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x04; // A
else if (JoyStatus_LCL & JOY_DOWN)
@@ -165,6 +163,9 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
if (ButtonStatus_LCL & BUTTONS_BUTTON1)
KeyboardReport->KeyCode[UsedKeyCodes++] = 0x09; // F
+ if (UsedKeyCodes)
+ KeyboardReport->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
+
*ReportSize = sizeof(USB_KeyboardReport_Data_t);
return false;
}