嵌入式LinuxQT操作自定义按键

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

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值