Busybox acpid
Busybox acpid 允许通过选项 -M FILE
(映射文件) 和 -a FILE
(动作文件) 自定义映射和处理 ACPI 事件。
映射文件
映射文件将 ACPI 事件映射到描述(最后一列)。例如
内容 /etc/acpi.map
"EV_KEY" 0x01 "KEY_POWER" 116 1 "button/power PWRF 00000080" "EV_KEY" 0x01 "KEY_POWER" 116 1 "button/power PWRB 00000080" "EV_KEY" 0x01 "KEY_SLEEP" 142 1 "button/sleep SBTN 00000080" "EV_KEY" 0x01 "KEY_SUSPEND" 205 1 "button/suspend SUSP 00000080" "EV_SW" 0x05 "SW_LID" 0 0 "button/lid LID/open 00000080 00000000" "EV_SW" 0x05 "SW_LID" 0 1 "button/lid LID/close 00000080 00000001" "EV_SW" 0x05 "SW_TABLET_MODE" 1 0 "video/tabletmode TBLT/off 0000008A 00000000" "EV_SW" 0x05 "SW_TABLET_MODE" 1 1 "video/tabletmode TBLT/on 0000008A 00000001"
内置的映射文件仅包含 PWRB/PWRF(电源按钮)和 LID(盖子关闭)。
动作文件
动作文件将映射文件中指定的事件描述映射到相对于配置目录(默认情况下为 /etc/acpi)的操作脚本。它执行子字符串匹配,因此通常只有描述的第二部分在动作文件中指定。如果目标路径不是文件而是目录,它会通过 run-parts 执行目录中的所有脚本。例如
内容 /etc/acpid.conf
PWRF power SBTN sleep SUSP suspend LID/open lid/open LID/close lid/close TBLT/off tabletmode/off TBLT/on tabletmode/on
当按下电源按钮时,acpid 运行脚本 /etc/acpi/power。