diff --git a/CHANGELOG.md b/CHANGELOG.md index e661b4a..38a573c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -133,6 +133,11 @@ - **从 CLIENT_HIDDEN 切回 CLIENT 后 NodeInfo 永不广播**:`installRoleDefaults(CLIENT_HIDDEN)` 设置 `node_info_broadcast_secs = INT32_MAX`,但切回 CLIENT 时无对应恢复分支 - 修复:在 `NodeDB::installRoleDefaults()` 新增 CLIENT/CLIENT_MUTE 分支,恢复 `default_node_info_broadcast_secs` 和相关广播间隔 +#### 人机交互修改 +- **主页按 * 进入自由文本输入模式**:移除 INACTIVE 状态下 UP/DOWN 按键触发快捷回复列表的逻辑 + - 删除 `CannedMessageModule::handleInputEvent()` 中对 `INPUT_BROKER_UP` / `INPUT_BROKER_DOWN` 的特殊处理 + - 按 * 键(或其他可打印字符)直接进入 FREETEXT 模式 + --- ## TODO(未来计划) 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 90f9bfe..57de26b 100644 --- a/code/firmware-2.7.15.567b8ea/src/modules/CannedMessageModule.cpp +++ b/code/firmware-2.7.15.567b8ea/src/modules/CannedMessageModule.cpp @@ -412,12 +412,7 @@ int CannedMessageModule::handleInputEvent(const InputEvent *event) if (event->inputEvent == INPUT_BROKER_LEFT || event->inputEvent == INPUT_BROKER_RIGHT) { break; } - // Handle UP/DOWN: activate canned message list - if (event->inputEvent == INPUT_BROKER_UP || event->inputEvent == INPUT_BROKER_DOWN || - event->inputEvent == INPUT_BROKER_ALT_LONG) { - LaunchWithDestination(NODENUM_BROADCAST); - return 1; - } + // 按 * 键进入自由文本输入模式(FREETEXT) // Printable char (ASCII) opens free text compose if (event->kbchar >= 32 && event->kbchar <= 126) { runState = CANNED_MESSAGE_RUN_STATE_FREETEXT;