From a573bfd855d5a1d5ca3f79f104f8469e0af0a610 Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Wed, 10 Dec 2025 17:59:08 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8D=E6=81=AF=E5=B1=8F=E6=8C=89?= =?utf8?q?=E9=94=AE=E4=BC=9A=E7=BC=93=E5=AD=98=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../brandy/brandy_standard/input_app.c | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/code/sdk/application/brandy/brandy_standard/input_app.c b/code/sdk/application/brandy/brandy_standard/input_app.c index 80da69a34..8d184cab5 100644 --- a/code/sdk/application/brandy/brandy_standard/input_app.c +++ b/code/sdk/application/brandy/brandy_standard/input_app.c @@ -19,6 +19,7 @@ #ifdef SUPPORT_POWER_MANAGER #include "soc_lcd_api.h" #endif +#include "custom_utils.h" static unsigned long g_app_queue = 0xFFFFFFFF; uint8_t g_long_press_flag = 0; @@ -207,10 +208,29 @@ static void button_report_event_to_gui(button_id_t id, uint16_t state) } } +static bool is_screen_on(void) +{ +#ifdef SUPPORT_POWER_MANAGER + // lcd_get_status: true=screen on, false=off + if (!lcd_get_status()) { + return false; + } +#endif + // uapi_get_screen_state: 0=on, 1=off + return uapi_get_screen_state() == 0; +} + static void button_report_event(button_id_t id, event_button_t event) { input_dev_data_t data; printf("fac:id : %d\n",id); +#ifdef BOARD_LEINIAO + // Drop all non电源键事件在息屏时,防止排队到亮屏后执行 + if (!is_screen_on() && id != BUTTON_PWR) { + printf("button_report_event: screen off, drop id=%d, event=%d\n", id, event); + return; + } +#endif switch (event) { case BUTTON_PWR_PRESS: #ifdef SUPPORT_POWER_MANAGER -- 2.17.1