使用GLUT进行标准和可靠的鼠标报告

时间:2010-03-01 22:17:51

标签: opengl glut mousewheel freeglut

我正在尝试在我的OpenGL应用程序中使用GLUT(freeglut),我需要为鼠标滚轮事件注册一些回调。我设法挖出一个相当无证的功能:

api documentation

但是这个函数的手册页和API条目都说明了同样的事情:

  

注意:由于缺乏相关信息   老鼠,这是不可能的   在X上正确实现这一点   时间。使用此功能限制了   您的应用程序的可移植性。 (这个   功能确实适用于X,只是没有   可靠。)我们鼓励您使用   标准,可靠的鼠标按钮   报告,而不是车轮事件。

足够公平,但我如何使用这个标准,可靠的鼠标报告?我怎么知道哪个是标准?我是否只使用glutMouseFunc()并使用按钮值(如4和5)分别表示向上滚动和向下滚动值,例如1,2和3是左,中,右按钮?这是可靠的方法吗?

奖金问题:似乎'xev'工具报告了我的按钮的不同值。我的鼠标按钮从1到5用xev编号,但过剩是从0到4报告按钮,即逐个按钮。这是常见的吗?

1 个答案:

答案 0 :(得分:0)

我想我可能会重新审视自己的问题,因为自从我提出这个问题已经很长时间没有任何回复了。

在前面提到的documentation中更加彻底地阅读,从我的理解来看,我的猜测似乎确实如此。

我的猜测:

  

我是否只使用glutMouseFunc()并使用   按钮值如4和5的   分别向上和向下滚动值   [...]

我还没有测试过,但是根据文档中的以下引用,我认为这确实是他们的意思。

  

如果您没有注册车轮   回调,轮子事件将   报告为鼠标按钮。