Files
MeowOS Dev 245bee2946 MeowOS for HiBy R3 Pro II — 公共发布版本(历史已重置)
• 全新单提交:清除含敏感信息的旧历史(sudo 口令、内网 IP、SSH 密钥路径、热点 SSID、设备 MAC)
• 本地开发文档/测试记录/构建脚本全部移入 gitignored 的 devdocs/ 与 scripts/build/(不入库)
• 保留:MeowOS 源码(launcher/watchdog/bootmenu/meow_svcd/SDK)、项目规范文档、mips-repo
增补组件:SDK 统一日志+通知 API、meow_svcd 服务管理器、mips-repo 软件仓库
2026-08-30 01:12:34 +08:00

50 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# S90meow_launcherd - R3 Pro II Plan B app-launcher daemon (zero patch)
#
# Design (ANALYSIS.md §18):
# * PASSIVE daemon: never EVIOCGRABs, never injects events. Reads keys via
# EVIOCGKEY state polling (immune to any grab the player holds), touch via
# normal event reads on event1 (not grabbed). Zero interference with the
# player's own key handling.
# * Hotkey: hold PREVIOUS + VOL_UP together >=300ms -> app menu
# (cross-device: PREVIOUS is a GPIO key on event0, VOL_UP is an ADC key
# on event2. A two-key chord on event2 alone is impossible — its four
# keys share ONE ADC channel, so the old dual-volume hotkey can never
# register physically; see ANALYSIS.md §18.8).
# * Starts BEFORE S92_03_start_music_player (S90 < S92) so it is up early;
# the input devices are created by S11module_driver_default.
# * Stop sends SIGTERM; the daemon SIGCONTs a frozen player before exiting.
#
case "$1" in
start)
echo -n "Starting meow_launcherd: "
if [ -x /usr/bin/meow_launcherd ]; then
/usr/bin/meow_launcherd >/dev/null 2>&1 &
echo "OK"
else
echo "MISSING /usr/bin/meow_launcherd"
fi
;;
stop)
echo -n "Stopping meow_launcherd: "
if [ -f /usr/data/meow_launcherd.pid ]; then
kill "$(cat /usr/data/meow_launcherd.pid)" 2>/dev/null
fi
killall meow_launcherd 2>/dev/null
sleep 1
echo "OK"
;;
restart|reload)
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0