查看: 883|回复: 1

osg键盘事件问题

[复制链接]

该用户从未签到

发表于 2016-3-21 12:59:36 | 显示全部楼层 |阅读模式
我写了一个处理事件的类,继承自osgGA::GUIEventHandler,
然后重写bool  handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa);函数
在处理键盘按键事件的时候,我发现。如果一直按着键盘上的某一个按键,例如‘A’。osg在处理事件的
时候会一直响应‘A’按键的handleKeyUp()。
这导致了无法处理一些一直按着键盘某一个见的一些操作。
不知这是osg的bug还是我处理的不当。

bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
{
        case osgGA::GUIEventAdapter::KEYDOWN:
        {
                return handleKeyDown(ea);                              // 按下按钮‘A’,进入画线模式
        }
        case osgGA::GUIEventAdapter::KEYUP:
        {
                return handleKeyUp(ea);                                 // 松开按钮‘A’的时候,返回普通模式,并将画的线隐藏
        }


按着‘A'的时候,没有松开就会进入 handleKeyUp(ea),画的线也一闪而过隐藏掉了。

该用户从未签到

发表于 2016-5-18 09:12:06 | 显示全部楼层
你把KEYDOWN换成KEYUP
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表