From e056a113a21ab87f672faf8927bb1e5f0ca25ecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E9=9C=96=E9=93=83?= <2712495353@qq.com> Date: Thu, 2 Jul 2026 08:57:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=8F=90=E5=8D=87=20HID=20?= =?UTF-8?q?=E6=8C=89=E9=94=AE=E5=8F=91=E9=80=81=E9=80=BB=E8=BE=91=E7=9A=84?= =?UTF-8?q?=E5=8F=AF=E9=87=8D=E7=94=A8=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将发送 HID 按键的逻辑提取到 send_hid_combo_or_warn 函数中 - 更新 on_boot_press 函数以使用新的发送逻辑 - 在按钮点击事件处理函数中调用 send_hid_combo_or_warn,简化代码并增强可读性 --- main/app/ui_handlers.c | 12 ++++++++++-- main/services/ble_hid.h | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/main/app/ui_handlers.c b/main/app/ui_handlers.c index 02f5597..6abddeb 100644 --- a/main/app/ui_handlers.c +++ b/main/app/ui_handlers.c @@ -9,15 +9,20 @@ static const char *TAG = "ui_handlers"; -static void on_boot_press(void) +static void send_hid_combo_or_warn(uint8_t modifier, uint8_t keycode) { if (ble_hid_ready()) { - ble_hid_send_combo(0, HID_KEY_C); + ble_hid_send_combo(modifier, keycode); } else { ESP_LOGW(TAG, "HID not ready"); } } +static void on_boot_press(void) +{ + send_hid_combo_or_warn(0, HID_KEY_C); +} + void ui_handlers_init(void) { boot_button_init(on_boot_press); @@ -31,14 +36,17 @@ void update_year_action(lv_event_t * e) void click_button_two(lv_event_t * e) { (void)e; + send_hid_combo_or_warn(HID_MOD_LCTRL, HID_KEY_C); } void click_button_three(lv_event_t * e) { (void)e; + send_hid_combo_or_warn(HID_MOD_LCTRL, HID_KEY_V); } void click_button_one(lv_event_t * e) { (void)e; + send_hid_combo_or_warn(HID_MOD_LCTRL, HID_KEY_X); } diff --git a/main/services/ble_hid.h b/main/services/ble_hid.h index fe61819..be87967 100644 --- a/main/services/ble_hid.h +++ b/main/services/ble_hid.h @@ -9,6 +9,8 @@ #define HID_MOD_LGUI 0x08 #define HID_KEY_C 0x06 +#define HID_KEY_V 0x19 +#define HID_KEY_X 0x1B #define HID_KEY_F5 0x3E typedef void (*ble_hid_status_cb_t)(bool connected);