summaryrefslogtreecommitdiffstats
path: root/keyboards/keychron/bluetooth
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keychron/bluetooth')
-rw-r--r--keyboards/keychron/bluetooth/bluetooth.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/keyboards/keychron/bluetooth/bluetooth.c b/keyboards/keychron/bluetooth/bluetooth.c
index 481099af67..e87b435db4 100644
--- a/keyboards/keychron/bluetooth/bluetooth.c
+++ b/keyboards/keychron/bluetooth/bluetooth.c
@@ -291,6 +291,14 @@ uint8_t bluetooth_keyboard_leds(void) {
extern keymap_config_t keymap_config;
void bluetooth_send_keyboard(report_keyboard_t *report) {
+ if (battery_is_critical_low()) {
+ report_keyboard_t empty_report;
+ memset(&empty_report, 0, sizeof(empty_report));
+ if (memcmp(keyboard_report, &empty_report, sizeof(report_keyboard_t)) != 0) {
+ return;
+ }
+ }
+
if (bt_state == BLUETOOTH_PARING && !pincodeEntry) return;
if (bt_state == BLUETOOTH_CONNECTED || (bt_state == BLUETOOTH_PARING && pincodeEntry)) {
@@ -395,7 +403,7 @@ void bluetooth_low_battery_shutdown(void) {
indicator_battery_low_backlit_enable(false);
#endif
clear_keyboard();
- send_keyboard_report();
+ wait_ms(50);
bluetooth_disconnect();
}