检测udev规则中不同设备的power_supply在线状态

检测udev规则中不同设备的power_supply在线状态

为了节省电池电量,我使用此规则集的变体为所有设备启用运行时 PM:

ACTION!="add", GOTO="powersave_end"
SUBSYSTEM=="usb", GOTO="powersave"
LABEL="powersave"
TEST=="power/control", ATTR{power/control}="auto"
LABEL="powersave_end"

然而,我的 Logitech Unifying 鼠标在这种模式下存在问题,导致我的输入事件丢失。当使用电池运行时,我通常只使用触摸板或者可以忍受这个问题,但是当使用电源时,我想禁用运行时 PM ( ATTR{power/control}="on")。

看起来我可以用来SUBSYSTEM=="power_supply", ATTR{POWER_SUPPLY_ONLINE}=="1"匹配电源变化,但由于电源设备不是USB鼠标的父设备,所以不能简单地匹配。

那么,如何编写 udev 规则才能匹配不同设备的属性呢?

相关内容