diff options
Diffstat (limited to 'keyboards/keychron/bluetooth')
-rw-r--r-- | keyboards/keychron/bluetooth/bluetooth.c | 10 |
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(); } |