2. 遥控器的 sysfs 节点¶
正如在ABI 文件测试/sysfs-class-rc中定义的那样,这些是控制遥控器的 sysfs 节点
2.1. /sys/class/rc/¶
/sys/class/rc/
类子目录属于遥控器核心,并为配置红外遥控器接收器提供了一个 sysfs 接口。
2.2. /sys/class/rc/rcN/¶
为每个遥控接收器设备创建一个 /sys/class/rc/rcN
目录,其中 N 是接收器的编号。
2.3. /sys/class/rc/rcN/protocols¶
读取此文件会返回可用协议的列表,例如
rc5 [rc6] nec jvc [sony]
启用的协议显示在 [] 括号中。
写入“+proto”会将协议添加到已启用协议的列表中。
写入“-proto”会将协议从已启用协议的列表中删除。
写入“proto”将仅启用“proto”。
写入“none”将禁用所有协议。
如果使用了无效的协议组合或未知的协议名称,写入操作将失败并返回 EINVAL
。
2.4. /sys/class/rc/rcN/filter¶
设置扫描码过滤器的期望值。
与 /sys/class/rc/rcN/filter_mask
结合使用,以设置在过滤器掩码中设置的位的期望值。如果硬件支持,则将忽略与过滤器不匹配的扫描码。 否则,写入操作将失败并显示错误。
如果当前协议已更改,则此值可能会重置为 0。
2.5. /sys/class/rc/rcN/filter_mask¶
设置要比较的位的扫描码过滤器掩码。 与 /sys/class/rc/rcN/filter
结合使用,以设置扫描码的位,该扫描码应与期望值进行比较。值为 0 会禁用过滤器,以允许处理所有有效的扫描码。
如果硬件支持,则将忽略与过滤器不匹配的扫描码。 否则,写入操作将失败并显示错误。
如果当前协议已更改,则此值可能会重置为 0。
2.6. /sys/class/rc/rcN/wakeup_protocols¶
读取此文件会返回可用于唤醒过滤器的可用协议列表,例如
rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce
请注意,协议变体已列出,因此如果可用,则 nec
、sony
、rc-5
、rc-6
列出了它们的不同位长度编码。
请注意,所有协议变体都已列出。
启用的唤醒协议显示在 [] 括号中。
一次只能选择一种协议。
写入“proto”会将“proto”用于唤醒事件。
写入“none”将禁用唤醒。
如果使用了无效的协议组合或未知的协议名称,或者硬件不支持唤醒,则写入操作将失败并返回 EINVAL
。
2.7. /sys/class/rc/rcN/wakeup_filter¶
设置扫描码唤醒过滤器的期望值。 与 /sys/class/rc/rcN/wakeup_filter_mask
结合使用,以设置唤醒过滤器掩码中设置的位的期望值,以触发系统唤醒事件。
如果硬件支持且 wakeup_filter_mask 不为 0,则与过滤器匹配的扫描码将使系统从例如挂起到 RAM 或断电状态唤醒。 否则,写入操作将失败并显示错误。
如果唤醒协议已更改,则此值可能会重置为 0。
2.8. /sys/class/rc/rcN/wakeup_filter_mask¶
设置要比较的位的扫描码唤醒过滤器掩码。 与 /sys/class/rc/rcN/wakeup_filter
结合使用,以设置扫描码的位,该扫描码应与期望值进行比较,以触发系统唤醒事件。
如果硬件支持且 wakeup_filter_mask 不为 0,则与过滤器匹配的扫描码将使系统从例如挂起到 RAM 或断电状态唤醒。 否则,写入操作将失败并显示错误。
如果唤醒协议已更改,则此值可能会重置为 0。