OpenWRT button按键通用生效处理机制了解


    button按钮底层会产生NETLINK消息,上层通过procd进程的hotplug部分捕捉NETLINK消息
    上层hotplug处理主要通过以下脚本实现:
    hotplug.json,正常启动后加载此文件进行解释,此文件描述了 消息子内容 - 执行动作,即匹配了什么消息子内容就执行对应的动作
    对于button而言会命中执行以下2个描述体:
        [ "if",
                [ "and",
                        [ "has", "BUTTON" ],
                        [ "eq", "SUBSYSTEM", "button" ],
                ],
                [ "exec", "/sbin/rcbutton-call", "%BUTTON%" ]    //原始为"/etc/rc.button/%BUTTON%"
        ],
        [ "if",
                [ "eq", "SUBSYSTEM",
                        [ "net", "input", "usb", "usbmisc", "ieee1394", "block", "atm", "zaptel", "tty", "button", "dump", "mhi_uci" ]
                ],
                [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ]
        ],
    /sbin/rcbutton-call脚本会根据%BUTTON%名称调用/etc/rc.button/%BUTTON%脚本
    /sbin/hotplug-call脚本会根据%SUBSYSTEM%名称调用/etc/hotplug.d/button/*下的所有脚本
    需要注意的是:每一个按键都分别有一个pressed、released消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值