From 568ab37cce6ae1640af7b587bd25e5bf1c0f62b3 Mon Sep 17 00:00:00 2001 From: lokher Date: Wed, 11 Sep 2024 17:13:03 +0800 Subject: [PATCH] Fixed TAP_HOLD_CAPS_DELAY doens't work with wireless mode --- keyboards/keychron/common/wireless/wireless.c | 10 ++++++++++ keyboards/lemokey/common/wireless/wireless.c | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/keyboards/keychron/common/wireless/wireless.c b/keyboards/keychron/common/wireless/wireless.c index 0b4f009acf..add2849291 100644 --- a/keyboards/keychron/common/wireless/wireless.c +++ b/keyboards/keychron/common/wireless/wireless.c @@ -341,10 +341,15 @@ void wireless_send_keyboard(report_keyboard_t *report) { if (wireless_state == WT_CONNECTED || (wireless_state == WT_PARING && pincodeEntry)) { if (wireless_transport.send_keyboard) { #ifndef DISABLE_REPORT_BUFFER + bool empty = report_buffer_is_empty(); + report_buffer_t report_buffer; report_buffer.type = REPORT_TYPE_KB; memcpy(&report_buffer.keyboard, report, sizeof(report_keyboard_t)); report_buffer_enqueue(&report_buffer); + + if (empty) + report_buffer_task(); #else wireless_transport.send_keyboard(&report->mods); #endif @@ -362,10 +367,15 @@ void wireless_send_nkro(report_nkro_t *report) { if (wireless_state == WT_CONNECTED || (wireless_state == WT_PARING && pincodeEntry)) { if (wireless_transport.send_nkro) { #ifndef DISABLE_REPORT_BUFFER + bool empty = report_buffer_is_empty(); + report_buffer_t report_buffer; report_buffer.type = REPORT_TYPE_NKRO; memcpy(&report_buffer.nkro, report, sizeof(report_nkro_t)); report_buffer_enqueue(&report_buffer); + + if (empty) + report_buffer_task(); #else wireless_transport.send_nkro(&report->mods); #endif diff --git a/keyboards/lemokey/common/wireless/wireless.c b/keyboards/lemokey/common/wireless/wireless.c index 944b64a68c..ed371e7792 100644 --- a/keyboards/lemokey/common/wireless/wireless.c +++ b/keyboards/lemokey/common/wireless/wireless.c @@ -351,10 +351,15 @@ void wireless_send_keyboard(report_keyboard_t *report) { if (wireless_state == WT_CONNECTED || (wireless_state == WT_PARING && pincodeEntry)) { if (wireless_transport.send_keyboard) { #ifndef DISABLE_REPORT_BUFFER + bool empty = report_buffer_is_empty(); + report_buffer_t report_buffer; report_buffer.type = REPORT_TYPE_KB; memcpy(&report_buffer.keyboard, report, sizeof(report_keyboard_t)); report_buffer_enqueue(&report_buffer); + + if (empty) + report_buffer_task(); #else wireless_transport.send_keyboard(&report->mods); #endif @@ -372,10 +377,15 @@ void wireless_send_nkro(report_nkro_t *report) { if (wireless_state == WT_CONNECTED || (wireless_state == WT_PARING && pincodeEntry)) { if (wireless_transport.send_nkro) { #ifndef DISABLE_REPORT_BUFFER + bool empty = report_buffer_is_empty(); + report_buffer_t report_buffer; report_buffer.type = REPORT_TYPE_NKRO; memcpy(&report_buffer.nkro, report, sizeof(report_nkro_t)); report_buffer_enqueue(&report_buffer); + + if (empty) + report_buffer_task(); #else wireless_transport.send_nkro(&report->mods); #endif