按键版电子吧唧功能规划
硬件按键
- BOOT按键 (GPIO9):确认/执行/返回
- KEY按键 (GPIO8):导航/切换
按键驱动
采用 ESP-IDF 官方 iot_button 组件,原生支持单击、双击、长按检测,替代原有自定义 GPIO 中断驱动。
全局规则
| 操作 |
功能 |
| 双击BOOT |
任何界面/模式下→返回Home |
| 任意键按下 |
熄屏状态→唤醒屏幕(仅唤醒,不触发业务) |
各界面按键功能
1. Home界面
| 操作 |
功能 |
| KEY单击 |
切换到Img界面(图片浏览) |
| BOOT单击 |
切换到Set界面(设置) |
| BOOT双击 |
无操作(已在Home) |
2. Img界面(图片浏览)
正常浏览模式
| 操作 |
功能 |
| KEY单击 |
显示下一张图片(循环) |
| BOOT单击 |
返回Home界面 |
| BOOT双击 |
返回Home界面 |
删除模式(从Set界面进入,显示ContainerDle)
| 操作 |
功能 |
| BOOT单击 |
确认删除当前图片,顺位显示下一张 |
| KEY单击 |
取消删除,隐藏ContainerDle,回到正常浏览模式 |
| BOOT双击 |
返回Home界面 |
3. Set界面(设置)
焦点导航
进入Set界面默认无焦点选中。KEY单击按顺序轮询选中功能图标:
无选中 → 节能 → 应援灯 → 删除 → 亮度 → 无选中(循环)
- 选中的图标显示蓝色加粗边框
- 切换到下一个图标时,上一个取消边框
- 离开Set界面或返回Home后,边框状态全部清除
- 下次进入Set界面默认无选中
未选中状态
| 操作 |
功能 |
| KEY单击 |
选中第一个图标(节能) |
| BOOT单击 |
返回前一界面(Home或Img) |
| BOOT双击 |
返回Home界面 |
已选中图标但未激活功能
| 操作 |
功能 |
| KEY单击 |
切换到下一个图标 |
| BOOT单击 |
激活当前选中图标的功能 |
| BOOT双击 |
返回Home界面 |
各功能详细操作
1)节能模式
- BOOT单击激活:切换节能模式开/关
- 激活后立即生效,焦点保持在节能图标
- 继续KEY单击→移到下一个图标
2)应援灯(手电筒)
- BOOT单击激活:进入应援灯全屏模式
- 进入后按键上下文切换为应援灯模式:
| 操作 |
功能 |
| BOOT单击 |
切换颜色(红→绿→蓝循环) |
| KEY单击 |
退出应援灯,返回Set界面 |
| BOOT双击 |
退出应援灯,返回Home界面 |
3)删除图片
- BOOT单击激活:跳转Img界面,显示删除容器(ContainerDle)
- 进入删除模式后按键行为见上方「Img界面-删除模式」
4)亮度调节
- BOOT单击激活:进入亮度调节模式
- 进入后按键行为:
| 操作 |
功能 |
| KEY单击 |
亮度-10%(最低10%) |
| BOOT单击 |
亮度+10%(最高100%) |
| KEY长按2秒 |
退出亮度调节,继续焦点轮询 |
| BOOT双击 |
返回Home界面 |
实施步骤
- 添加
iot_button 组件依赖,替代自定义按键驱动
- 新建按键导航管理器(key_nav模块),管理界面上下文和焦点状态
- 改造各界面:移除触摸手势,添加按键驱动的导航逻辑
- Set界面添加蓝色边框高亮样式
- 适配休眠管理器
设计说明
- 取消触摸芯片:本次改版取消触摸芯片以降低成本,所有交互通过两个物理按键实现
- iot_button组件:使用ESP官方组件,自带去抖、单击/双击/长按检测,稳定可靠
- 上下文隔离:不同界面/模式的按键行为完全独立,通过导航管理器统一调度
- 双击BOOT全局返回:任何状态下双击BOOT都能回Home,用户不会"迷路"