02 按键检测案例
案例简介
本案例通过监听用户输入按键 UBOOT的状态,检测按键事件。案例将获取按键事件后进行按键键值匹配,再进行事件处理。 如需测试其他按键,请修改对应的设备节点以及源码。
本案例使用的UBOOT按键的为下图红框处的按键。

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

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