AskaEth
a9281c2d64
fix(bootmenu): M23 评审 r2 — 电源键锁存取代「3s 抑制」,缺键视同不可信
P2-2(r2):删除「电源键按下后 3s 内不补」的定时抑制 —— 它到期就会把用户刚熄的屏点亮
(窗内可重复),且该行为被单测固定。改为**锁存**:扫描窗内一看到电源键按下边沿就置
scan_pwr_seen=1,本次窗口内此后一律不补(why="power-key-latched"),窗口结束才清零。
理由:Bug 4 保护的是「无人值守时媒体扫描导致黑屏几分钟」;用户已按键介入,需要亮屏时
自己再按一次即可。锁存同时覆盖「播放器只写 brightness=0 不改 bl_power」与「HibyOS 自动
超时熄屏」两种残余。
bl_power 门保留但降级为纯保险,注释改成诚实表述:据 patch_v2/meow_launcherd/backlight.c:90-95
实测,本机播放器熄屏(brightness 0 + FBIOBLANK 4)后 bl_power **仍为 0**,该门在播放器熄屏
场景不生效;真正的门是电源键锁存。(上一轮注释里的「播放器灭屏会置 bl_power>0」是反向推断,
已删。)
顺手关掉评审指出的竞态:亮度保底判定块从主循环前半(keypoll 之前)移到电源键边沿更新之后,
电源按下与播放器写 0 落在同一 poll 间隙时不会再出现一轮「没看到电源键就补亮」。
非阻塞 1(采纳):settings 文件存在但缺 display.brightness 键 → 返回 -1(视同不可信),
不再走 launcher 设置表的 101→100;否则扫描窗待机补 100 比老 bug 的 60 更亮。
单测(52 → 56 条):
- 删「power key expired -> floors」(把 bug 固定成期望的那条),换「latch 在窗口内永不过期」
「下一轮窗口(锁存清零)恢复正常补」「latched 时面板暗也不写、why=power-key-latched」;
- 「missing key -> 100」改「missing key -> -1 (untrusted)」,并补 e2e「缺键 → saved=10 不是 100」;
- 两条名字去 degraded:`floor: saved 80 (from settings) floors at 80`、
`hotkey: blank -> saved 60 (settings value)`(降级路径已封顶 10,80/60 只可能来自 settings)。
只交源码:不含二进制、不改 fw_content.conf、不动 build_bootmenu.sh。
2026-11-11 18:42:41 +08:00
..
2026-09-01 18:28:07 +08:00
2026-11-11 18:42:41 +08:00
2026-11-10 22:51:00 +08:00
2026-11-10 22:51:00 +08:00
2026-11-05 20:16:29 +08:00
2026-11-04 20:02:28 +08:00
2026-09-03 12:16:01 +08:00
2026-11-11 17:59:13 +08:00
2026-11-04 20:02:28 +08:00
2026-09-02 16:25:51 +08:00
2026-08-31 22:40:08 +08:00
2026-08-31 19:30:32 +08:00
2026-09-03 12:16:01 +08:00
2026-09-01 03:25:01 +08:00
2026-09-02 02:39:11 +08:00
2026-08-31 13:28:07 +08:00
2026-08-31 15:36:45 +08:00
2026-11-10 22:51:00 +08:00
2026-11-04 20:10:42 +08:00
2026-11-10 21:42:37 +08:00
2026-11-10 22:54:11 +08:00
2026-11-06 13:34:45 +08:00
2026-11-11 13:15:54 +08:00
2026-11-10 22:54:11 +08:00
2026-09-01 11:06:01 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 03:27:24 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00