• 8463阅读
  • 3回复

如何实现QTE对遥控器按键的支持? [复制链接]

上一主题 下一主题
离线phz1985
 

只看楼主 正序阅读 楼主  发表于: 2009-07-09
我想让QTE能够响应开发板上的遥控器按键,
相关的设备文件有3个:/dev/infra_red, /dev/phStbRCProtocol, /dev/input/protocol,
模块有:phStbIR.ko, phStbRCProtocol.ko。
该如何实现呢?希望大虾们给点思路。
离线embeddedman
只看该作者 3楼 发表于: 2010-07-15
回 2楼(zixuniaoyou) 的帖子
楼上大侠你好。
我用的是qt embeded 2.3.2版本,我修改了src/kernel/qkeyboard_qws.cpp文件,增加了一个类用于接收遥控按键,如下:
class QWSRemoteControlHandler : public QWSKeyboardHandler
{
    Q_OBJECT
public:
    QWSRemoteControlHandler();
    virtual ~QWSRemoteControlHandler();
//private:        
    void GetRcCode(int key_val);
};
QWSRemoteControlHandler::QWSRemoteControlHandler()
{
}

QWSRemoteControlHandler::~QWSRemoteControlHandler()
{
}

void QWSRemoteControlHandler:: GetRcCode(int key_val)
{
//    printf("QWSRemoteControlHandler::GetRcCode[%d]\n",key_val);
    switch(key_val)
    {
        default:
            processKeyEvent(0,key_val,0,1,0);
            break;
    }
}

extern "C" void SendIrKey2Qt(int key_val)
{
    QWSRemoteControlHandler* irObj=new QWSRemoteControlHandler();

    printf("SendIrKey2Qt start\n",key_val);
    
    irObj->GetRcCode(key_val);

    printf("SendIrKey2Qt[%d]\n",key_val);
}


然后在我的应用程序中在遥控的回调中调用SendIrKey2Qt把按键发给qt,我的操作方法是先用命令/csm/qt-2.3.2/example/tetrix/tetrix -qws &让qt程序在后台启动,然后启动我的遥控器的应用程序irblaser.exe,但是当我按下遥控器的时候,一执行SendIrKey2Qt中的GetRcCode,irblaster.exe就会被kill。
这是怎么回事呢?
离线zixuniaoyou

只看该作者 2楼 发表于: 2010-07-15
修改src/gui/embedded/qkbdvfb_qws.cpp文件。
离线embeddedman
只看该作者 1楼 发表于: 2010-07-14
同问,哪位大侠做过请帮我解释一下,谢谢先!
快速回复
限100 字节
 
上一个 下一个