Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2122041
  • 博文数量: 229
  • 博客积分: 7217
  • 博客等级: 上校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 17:23
个人简介

个人主页https://xugaoxiang.com,微信公众号: Dev_Club 或者搜索 程序员Club

文章分类

全部博文(229)

文章存档

2017年(1)

2016年(20)

2015年(23)

2013年(1)

2012年(23)

2011年(68)

2010年(62)

2009年(31)

分类: LINUX

2011-03-29 20:33:30

前面已经有了在framebuffer下的遥控器支持,现在用相同的办法移植到directfb模式下,附上相应源码。
/*dfbRemotecontrol.h
*******DfbRemoteControl类
*/
#include
class QTimer;
class DfbRemoteControl : public QObject
{
    Q_OBJECT
public:
    DfbRemoteControl();
signals:
    void DfbRemoteToKeyboardSignal(unsigned long keyCode);
private slots:
    void onTimer();
private:
    QTimer *readTimer;
};
#endif

/*dfbRemotecontrol.cpp*/
#include
#include "dfbRemotecontrol.h"
DfbRemoteControl::DfbRemoteControl()
{
    readTimer = new QTimer(this);
    connect(readTimer, SIGNAL(timeout()), this, SLOT(onTimer()));
    readTimer->start(30);
}

void DfbRemoteControl::onTimer()
{
    int ret;
    unsigned long keyCode;
 
    ret = getKeycode();
    if (ret == 0)/*ok*/
    {
        qDebug("emit keyCode=%X\n", keyCode);
        emit DfbRemoteToKeyboardSignal(keyCode);
    }
    else
    {
    }
    readTimer->start(10);
}

将这两个文件加入放到src/plugins/gfxdrivers/directfb目录下,并在src/gui/embedded/directfb.pri中加入:
  HEADERS += $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/dfbRemotecontrol.h
  SOURCES += $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/dfbRemotecontrol.cpp

在qdirectfbkeyboard.cpp中的class QDirectFBKeyboardHandlerPrivate中加入public方法int dfbRemote2key(char *keycode, unsigned long remoteCode);加入slot方法void dfbRecvRemoteEvent(unsigned long remoteCode);

连接信号和槽:
if(dfbRemotecontrol == NULL)
{
         dfbRemotecontrol = new DfbRemoteControl();
}
         connect(dfbRemotecontrol, SIGNAL(DfbRemoteToKeyboardSignal(unsigned long)),this,SLOT(dfbRecvRemoteEvent(unsigned long)));

方法int QDirectFBKeyboardHandlerPrivate::dfbRemote2key(char *keycode, unsigned long remoteCode)取得遥控器所对应的键盘的值

而真正进行键值处理的函数为handler->processKeycode。


djstava
阅读(3008) | 评论(0) | 转发(0) |
0

上一篇:QT/WebKit::QtSpeech

下一篇:QT/WebKit::d指针

给主人留下些什么吧!~~