OpenWRT GPIO Button
GPIO Button
OpenWRT gpio button有两种方式:
- 普通gpio-keys/gpio-key-polled按键
这种相当于普通键盘事件 - 启用gpio-button-hotplug
OpenWRT会将按键事件触发为hotplug事件,从而procd就可以接收事件从而运行/etc/rc.button下对应的脚本。 使用netlink转发按键事件到procd还是比较麻烦的,gpio-button-hotplug算是比较直接的方式。
gpio-keys 和 gpio-key-polled
使用此方法映射按键,需要去make menuconfig中的Kernel Modules->Input Modules里面选中对应的选项。而此后在/dev/input下就会出现event<n>文件
gpio-button-hotplug 按键映射
OpenWRT的gpio-button-hotplug提供了以下按键的映射,即按键code对应的脚本文件名称。
1 |
|
问题
在折腾OrangePi One设备按键的时候,浪费了将近两天的时间在gpio-button-hotplug不起作用上。 原因是package的dependency并不会强制使kmod模块被开启,我的config文件是从树莓派的config文件修改而来,导致即使有了
1 | CONFIG_DEFAULT_kmod-gpio-button-hotplug=y |
也不代表下面这个被选中1
CONFIG_PACKAGE_kmod-gpio-button-hotplug=y
两天的大好时光啊~~