From 8b3579534605ef7a087e26f05c2f05105d8610ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=87=E5=B3=B0?= Date: Mon, 30 Mar 2026 17:20:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20INACTIVE=20?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8B=20UP/DOWN=20=E4=BB=8D=E8=83=BD?= =?UTF-8?q?=E8=BF=9B=E5=85=A5=E5=BF=AB=E6=8D=B7=E5=9B=9E=E5=A4=8D=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - handleMessageSelectorInput() 在 INACTIVE 状态时直接返回 false - 按 * 键进入 FREETEXT 模式 --- CHANGELOG.md | 1 + .../src/modules/CannedMessageModule.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38a573c..e357a67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -136,6 +136,7 @@ #### 人机交互修改 - **主页按 * 进入自由文本输入模式**:移除 INACTIVE 状态下 UP/DOWN 按键触发快捷回复列表的逻辑 - 删除 `CannedMessageModule::handleInputEvent()` 中对 `INPUT_BROKER_UP` / `INPUT_BROKER_DOWN` 的特殊处理 + - 修复 `handleMessageSelectorInput()` 在 INACTIVE 状态下错误处理 UP/DOWN 的问题 - 按 * 键(或其他可打印字符)直接进入 FREETEXT 模式 --- diff --git a/code/firmware-2.7.15.567b8ea/src/modules/CannedMessageModule.cpp b/code/firmware-2.7.15.567b8ea/src/modules/CannedMessageModule.cpp index 57de26b..2207662 100644 --- a/code/firmware-2.7.15.567b8ea/src/modules/CannedMessageModule.cpp +++ b/code/firmware-2.7.15.567b8ea/src/modules/CannedMessageModule.cpp @@ -601,6 +601,11 @@ int CannedMessageModule::handleDestinationSelectionInput(const InputEvent *event bool CannedMessageModule::handleMessageSelectorInput(const InputEvent *event, bool isUp, bool isDown, bool isSelect) { + // INACTIVE 状态下不处理 UP/DOWN(由 * 键触发自由文本输入) + if (runState == CANNED_MESSAGE_RUN_STATE_INACTIVE) { + return false; + } + // Override isDown and isSelect ONLY for canned message list behavior if (runState == CANNED_MESSAGE_RUN_STATE_ACTIVE) { if (event->inputEvent == INPUT_BROKER_USER_PRESS) {