Wake up on keyboard events

This commit is contained in:
Alexey Korobko 2024-06-17 20:30:31 -07:00
parent 2d93c01421
commit d1c15375e7
No known key found for this signature in database

View File

@ -150,8 +150,13 @@ void process_kbd_queue_task(device_t *state) {
if (!queue_try_peek(&state->kbd_queue, &report))
return;
/* ... try sending it to the host, if it's successful */
bool succeeded = tud_hid_keyboard_report(REPORT_ID_KEYBOARD, report.modifier, report.keycode);
bool succeeded = false;
if (tud_suspended())
succeeded = tud_remote_wakeup();
else
/* ... try sending it to the host, if it's successful */
succeeded = tud_hid_keyboard_report(REPORT_ID_KEYBOARD, report.modifier, report.keycode);
/* ... then we can remove it from the queue. Race conditions shouldn't happen [tm] */
if (succeeded)