本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)
1. 案例简介
本案例通过监听用户输入按键 UBOOT的状态,检测按键事件。案例将获取按键事件后进行按键键值匹配,再进行事件处理。如需测试其他按键,请修改对应的设备节点以及源码。
本案例使用的 UBOOT按键的为下图红框处的按键。

2.操作流程
打开终端,使用 evtest命令查看 UBOOT按键对应的事件设备节点,应的是"adc-keys"。这个命令可在任意路径下执行。
evtest

从查询结果看,UBOOT按键对应的事件设备节点是 event2。
将本案例 bin目录下(05-开发资料\软件开发资料\linux_demo\mes_key_demo\bin)的可执行程序 mes_key_demo拷贝至开发板文件系统(源码可以 src路径下查看。
在终端执行如下指令,切换至 mes_key_demo可执行程序所在目录。
cd ‘文件所在目录’
切换后可执行指令“ls”查看 mes_key_demo可执行程序是否在当前目录下。
ls
若可执行文件 mes_key_demo存在当前目录下,则继续执行以下操作。输入以下指令,修改文件的权限。
chmod 777 mes_key_demo
修改权限后可输入以下指令查看是否修改成功。
ls -ld mes_key_demo
执行结果为:-rwxrwxrwx 1 root root 13824 Mar 4 01:22 mes_key_demo-rwxrwxrwx表示已经成功修改权限,文件可被执行,可继续进行以下的操作。
输入指令,查看程序参数信息。注意,以下指令的 event2需要根据前面 evtest命令查询得到的结果相应更改。
./mes_key_demo -help./mes_key_demo -d /dev/input/event2
再按下开发板 UBOOT按键,程序将检测到按键事件,并打印按键状态信息。
测试效果如下图
按“Ctrl+C”可退出测试。