嵌入式LinuxQT操作自定义按键

嵌入式Linux系统中,用QT做的应用层程序,需要检测自定义的按键状态。使用的QT的按键事件,驱动层使用的Linux的input子系统。环境如下:
硬件:Imx6ull
QT版本:5.5
在QT中使用按键事件检测按键状态基本上由三部分工作组成:1、驱动层;2、环境变量;3应用层
1、驱动层
首先开起Linux内核自带的按键驱动,(一般内核默认使能了按键驱动)然后在设备树中添加按键信息,并绑定按键码,我的设备树配置如下:
嵌入式LinuxQT操作自定义按键_第1张图片
2、环境变量
由于驱动层用的是Linux input子系统,所以需要告诉QT是何输入驱动事件为按键事件。查看目标板 /dev/input 下内容,我的如下
inpu
可能并不知道哪一个文件,对应的是按键事件,可以通过 hexdump eventX ,并触发按键来判断,也通过此方式检查驱动层是否正常。
确定按键事件的文件后,在目标板的/etc/profile文件中添加如下内容:
在这里插入图片描述
3、应用层
应用层头文件中包含,然后重写对应的按键函数就行,我的实验用例如下
主窗口.h中
在这里插入图片描述
在这里插入图片描述
主窗口.cpp中:

嵌入式LinuxQT操作自定义按键_第2张图片

你可能感兴趣的:(Linux,QT,嵌入式,linux)