我的鼠标已连接到笔记本电脑,我的笔记本电脑通过HDMI与电视连接。当只使用笔记本电脑的屏幕作为主要显示器时,鼠标的位置是完美的,并且完全没有问题,并且当使用Windows(使用笔记本电脑屏幕或电视作为显示器)时没有问题用鼠标 - 只有在我的GLFW应用程序中,当外部屏幕用作主显示器时。我使用回调函数获取鼠标的位置,该函数返回使用glfwSetCursorPosCallback()
设置的vec2,因此我能够使用mousePos.x
和{{1}查看每个帧的鼠标坐标}。
鼠标位置的具体不准确性:
移动鼠标时,检测到的位置会发生变化,但当鼠标停止移动时,此检测位置不会停止变化。这可以被描述为将鼠标放在冰上,这样当它移动时,位置继续改变并且它永远不会减慢。因此位置是准确的,但它不符合鼠标的物理运动,因为 - 如前所述 - 我停止移动鼠标,但是位置只是永远以恒定速率增加。
当使用鼠标位置移动到相机时,可以最明显地看到这一点 - 即使鼠标静止,相机也会继续旋转。
为什么使用外接显示器会对鼠标位置/移动检测产生这种影响?
答案 0 :(得分:0)
我现在已经解决了。对于任何在将来发现这一点的人...使用最新版本的GLFW!我使用的特定版本(3.1.2)遇到glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN)
的问题,导致光标奇怪的移动。
这已在3.2更新中修复 - 如果遇到此问题,请确保使用此版本!