Qt4.7.0添加自定义键盘(转载+部分自己的实际工程实验)

首先参照这篇http://blog.sina.com.cn/s/blog_6143523a0100st2z.html

驱动根据自己的改为/dev/buttons

QWSMyKbPrivate::readKeyboardData(),因为驱动里面read实现的不同,这个函数自己重新写的。

 然后编译,制作文件系统下到tq2440的板子里,运行qt程序,发现按键没反应

几番实验,发现原因在于这几个地方:

在之前改的qkbdtty_qws.cpp里面的有这行代码

 terminalName = device.isEmpty()?"/dev/atao_button":device.toLatin1();

 那么device默认的取值是多少呢

在制作的文件系统中有一个脚本关于qt4.7环境变量的配置,我的是/bin/qt4

 里面有一项 export set QWS_KEYBOARD="TTY:/dev/tty1"

这就是device的默认值,所以才会出现这种情况,即使我没加载buttons的驱动,qt程序运行后也在串口输出

open /dev/atao_button OK  buttonFD=10

 因为qt成功打开的是/dev/tty1

解决办法:1,修改terminalName ="/dev/atao_button"

      2,修改export set QWS_KEYBOARD="Yopy:/dev/buttons"    (这个方式没试,Yopy不太懂)

在转载一个基于Qt Gui的Led控制显示程序

原文地址:https://www.cnblogs.com/liu-bei/p/3708341.html