【发布时间】:2010-03-01 22:17:51
【问题描述】:
我正在尝试在我的 OpenGL 应用程序中使用 GLUT (freeglut),并且我需要为鼠标滚轮事件注册一些回调。我设法挖出了一个相当无证的功能:
但是这个函数的手册页和 API 条目都陈述了同样的事情:
注意:由于缺乏有关信息 鼠标,不可能 在此在 X 上正确实现 时间。使用此功能会限制 应用程序的可移植性。 (这 功能确实适用于 X,但不是 可靠。)鼓励您使用 标准、可靠的鼠标按钮 报告,而不是轮子事件。
很公平,但是我如何使用这种标准的、可靠的鼠标报告呢?我怎么知道哪个是标准?我是否只使用 glutMouseFunc() 并分别使用 4 和 5 之类的按钮值作为向上和向下滚动值,例如 1、2 和 3 是否是左、中和右按钮?这个方法靠谱吗?
额外问题:“xev”工具似乎为我的按钮报告了不同的值。我的鼠标按钮使用 xev 从 1 到 5 编号,但 glut 报告的按钮从 0 到 4,即一个减一。这种情况常见吗?
【问题讨论】:
标签: opengl glut mousewheel freeglut