QT/E中怎样响应开发板的按键事件?
qt的界面和功能已经完成,现在已经下载到arm板子上面跑起来了,使用触摸屏可以正常的控制界面实现各种功能响应。现在要使用自定义的键盘控制这个qt程序,自定义的按键通过gpio口直接和arm核心板连接,一共8个按键,分别是up down right enter esc,还有两个自定义的功能键,请问这个怎么个弄法?另外按键的驱动已经修改好了,经过测试没问题。这个自定义的键盘如何控制arm板上的程序呢???!!!
qt已经折腾不轻了,又要在这里折腾啦,各位老大快出手帮忙了!!
[解决办法]
在坛子里找找吧,好像见过
[解决办法]
什么叫驱动已经修改好了?。。。。。。 驱动里有写每个按键的键值吧,传递键值
[解决办法]
看看此文是否有帮助:http://zengxx1989.javaeye.com/blog/718376
另:楼主可否把你的软硬件环境详细描述一下。
[解决办法]
另外按键的驱动已经修改好了
你这句话是什么意思?
驱动如果都弄好了,另外的自定义按键也都实现了。
你所说的按键驱动是怎么实现的?是修改QT源代码编译,还是QT默认支持的键盘按键,再或者是自己做的插件?
[解决办法]
你是怎么改的,是改keyboardfactory的create那个吗?
如果是的话,按照你的自定义按键的格式,把这两个按键添加进去就好了。
不过我建议你用插件的形式,调试修改方便,直接改源代码,编译一次就要你两个多小时了。
建议你贴出你改动的代码以及按键扫描码格式,我这两天刚做完键盘鼠标驱动,应该可以帮上你的忙。当时找资料累死了。
[解决办法]
不知道我理解的是否正确,我的想法是重写event函数,给你个例子:
bool Main_Window::event( QEvent * e )
{
if(e->type () == QEvent::KeyPress){
QKeyEvent *ke=(QKeyEvent *)e;
if(ke->key() == Qt::Key_Enter){
return true;
}
return QWidget::event(e);
}
else
return QWidget::event(e);
}