当前位置: 代码迷 >> QT开发 >> qt嵌入式开发,怎么让程序响应外接按键,实现自定义键盘
  详细解决方案

qt嵌入式开发,怎么让程序响应外接按键,实现自定义键盘

热度:88   发布时间:2016-04-25 03:15:00.0
qt嵌入式开发,如何让程序响应外接按键,实现自定义键盘?
       如题,本人在用qt软件和arm开发板做一个嵌入式项目的开发,需要用到外接键盘,目前是用开发板自带的按键进行功能开发,我想问的是如何使程序能够响应外接按键,实现诸如屏幕焦点移动、数字字母输入等功能?希望各位能够提供一些建议或者资料,十分感谢!
------解决方案--------------------
读取Linux的input设备即可,确认你的外接按键是否会走 Linux 标准的 input 流程。
如果不走,实现 Qt 的键盘驱动插件,与驱动对接口,读取按键信息,转换成 Qt 的按键值。在程序启动时,安装你的键盘驱动插件。
------解决方案--------------------

int kbdFd;
void interface::startKeyProcess()
{
this->kbdFd = ::open("/dev/input/event0",O_RDONLY);
if(this->kbdFd < 0)
return;
this->notifier = new QSocketNotifier(this->kbdFd, QSocketNotifier::Read, this);
connect(this->notifier, SIGNAL(activated(int)), this, SLOT(getKeyNum()));
}
void interface::getKeyNum()
{
unsigned short current_buttons[32];
qDebug()<<" getKeyNum **** interfaceFlag = "<<interfaceFlag;
qDebug()<<"interface getKeyNum";
int fd = read(this->kbdFd,(char *)current_buttons,sizeof(current_buttons)) != sizeof(current_buttons);
if (fd < 0)
{
qDebug() << "keypad read error";
return ;
}
else
{
        }


打开arm下按键对应的设备节点,从设备节点中读取哪个按键被按下,然后进行处理
  相关解决方案