Merge pull request #106 from akorobko/akorobko/wakeup

Wake up on keyboard events
This commit is contained in:
Hrvoje Čavrak 2024-06-18 11:25:58 +02:00 committed by GitHub
commit 375f324207
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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)