From bc57b3da3065a0353ea364df20061545ae2bcda1 Mon Sep 17 00:00:00 2001 From: lokher Date: Tue, 16 Jul 2024 11:59:59 +0800 Subject: [PATCH] Fixed mode switch doesn't work on some charger --- keyboards/keychron/common/wireless/transport.c | 5 +++++ keyboards/lemokey/common/wireless/transport.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/keyboards/keychron/common/wireless/transport.c b/keyboards/keychron/common/wireless/transport.c index 6bbd859faa..87f87a7ba2 100644 --- a/keyboards/keychron/common/wireless/transport.c +++ b/keyboards/keychron/common/wireless/transport.c @@ -236,6 +236,11 @@ void transport_changed(transport_t new_transport) { void usb_remote_wakeup(void) { if (USB_DRIVER.state == USB_SUSPENDED) { while (USB_DRIVER.state == USB_SUSPENDED) { + wireless_pre_task(); + if (get_transport() != TRANSPORT_USB) { + suspend_wakeup_init_quantum(); + return; + } /* Do this in the suspended state */ suspend_power_down(); // on AVR this deep sleeps for 15ms /* Remote wakeup */ diff --git a/keyboards/lemokey/common/wireless/transport.c b/keyboards/lemokey/common/wireless/transport.c index 372abc8894..426cd108a5 100644 --- a/keyboards/lemokey/common/wireless/transport.c +++ b/keyboards/lemokey/common/wireless/transport.c @@ -236,6 +236,11 @@ void transport_changed(transport_t new_transport) { void usb_remote_wakeup(void) { if (USB_DRIVER.state == USB_SUSPENDED) { while (USB_DRIVER.state == USB_SUSPENDED) { + wireless_pre_task(); + if (get_transport() != TRANSPORT_USB) { + suspend_wakeup_init_quantum(); + return; + } /* Do this in the suspended state */ suspend_power_down(); // on AVR this deep sleeps for 15ms /* Remote wakeup */