glutMouseFunc上没有滚轮回调 最近我一直在编写一个C++程序和GLUT的简单程序,我想用滚动轮来提高转速。我发现滚轮会生成3/4回调(3表示向上滚动4表示向下滚动)。我的问题是在windows上根本没有回调!鼠标左键、右键和中键单击生成0、1和2,但滚轮不生成任何内容。(我在Visual Studio 2015和Windows 10上工作)在我的Ubuntu系统上,使用相同的库滚轮可以生成回调,但在Windows上没有。下面是我在glutMouseFunc()上使用的代码

glutMouseFunc上没有滚轮回调 最近我一直在编写一个C++程序和GLUT的简单程序,我想用滚动轮来提高转速。我发现滚轮会生成3/4回调(3表示向上滚动4表示向下滚动)。我的问题是在windows上根本没有回调!鼠标左键、右键和中键单击生成0、1和2,但滚轮不生成任何内容。(我在Visual Studio 2015和Windows 10上工作)在我的Ubuntu系统上,使用相同的库滚轮可以生成回调,但在Windows上没有。下面是我在glutMouseFunc()上使用的代码,c++,windows,glut,freeglut,scrollwheel,C++,Windows,Glut,Freeglut,Scrollwheel,我已经找遍了,一点运气也没有。起初我认为我使用的库可能有问题,但后来我选择了我在Ubuntu上使用的库,我也有同样的问题,所以如果有人有什么建议,我将非常感激 不幸的是,不能保证glutMouseFunc会发出轮动作回调,请检查GLUT规范,它在Linux上工作的事实超出了GLUT规范。我认为以前有类似glutMouseWheelFunc的东西,现在没有任何选项可以获得任何关于轮子的回调,这不是特定于实现的。 您仍然可以尝试使用FreeGLUT库,它是较新的,并且是跨平台的,确保轮子动作得到实现

我已经找遍了,一点运气也没有。起初我认为我使用的库可能有问题,但后来我选择了我在Ubuntu上使用的库,我也有同样的问题,所以如果有人有什么建议,我将非常感激

不幸的是,不能保证glutMouseFunc会发出轮动作回调,请检查GLUT规范,它在Linux上工作的事实超出了GLUT规范。我认为以前有类似glutMouseWheelFunc的东西,现在没有任何选项可以获得任何关于轮子的回调,这不是特定于实现的。 您仍然可以尝试使用FreeGLUT库,它是较新的,并且是跨平台的,确保轮子动作得到实现。
祝你好运

不幸的是,不能保证glutMouseFunc会发出轮动作回调,请检查GLUT规范,它在Linux上工作的事实超出了GLUT规范。我认为以前有类似glutMouseWheelFunc的东西,现在没有任何选项可以获得任何关于轮子的回调,这不是特定于实现的。 您仍然可以尝试使用FreeGLUT库,它是较新的,并且是跨平台的,确保轮子动作得到实现。
祝你好运

@BDL的可能重复:这到底是一个重复吗?他不是在问怎么做;他说他这么做了,但没有起作用。很抱歉没有早点回应…艰难的一天(为除夕做准备)@BDL是的,我已经读过那篇文章,并尝试了两种方法,但我仍然没有收到鼠标滚轮的任何回叫(根据我函数中的if和printf)另外,我的一个朋友有一台mac电脑,他和我有同样的问题…没有鼠标滚轮的回调…只有在ubuntu上鼠标滚轮才能正常工作/@BDL的可能重复:这到底是一个重复吗?他不是在问怎么做;他说他这么做了,但没有起作用。很抱歉没有早点回应…艰难的一天(为除夕做准备)@BDL是的,我已经读过那篇文章,并尝试了两种方法,但我仍然没有收到鼠标滚轮的任何回叫(根据我函数中的if和printf)另外,我的一个朋友有一台mac电脑,他和我有同样的问题…没有鼠标滚轮的回调…只有在ubuntu上鼠标滚轮才能正常工作/我确实使用了freeglut库,但没有任何运气。当我使用鼠标滚轮时仍然没有响应。我相信这与操作系统有关,而不是与库有关。谢谢,虽然我使用了freeglut库,但没有任何运气。当我使用鼠标滚轮时仍然没有响应。我相信这与操作系统有关,而不是与库有关。谢谢
void setRotationSpeed(int button, int dir, int x, int y)
{
    printf("button is %d\n", button);
    if (button == 3)
    {
        rotationSpeed += 0.1;
    }
    if (button == 4)
    {
        if (rotationSpeed > 0.0)
            rotationSpeed -= 0.1;
    }
}