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) {