2. 遥控器的 sysfs 节点¶
如 Documentation/ABI/testing/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。