如何在Java中测量鼠标速度而不使鼠标实际移动?

如何在Java中测量鼠标速度而不使鼠标实际移动?,java,mouse,Java,Mouse,在Java中,如何测量鼠标移动的速度,但禁用实际的光标移动。例如,当有人在桌子上滑动鼠标时,我想测量他/她在光标未实际移动的情况下滑动鼠标的速度 我尝试过将鼠标位置重置为特定的坐标(机器人类),但当我快速滑动鼠标时,鼠标能够逃脱 如果在java中不可能,C或C++解决方案就可以了。 谢谢如果你真的想阻止鼠标移动事件,你需要在输入过滤层用c/c++做得更低。这里有一个问题为您指明了正确的方向: 可能可以使用自动热键(它为您提供了许多基本功能)这取决于操作系统,但对于Windows,您可以尝试使用输

在Java中,如何测量鼠标移动的速度,但禁用实际的光标移动。例如,当有人在桌子上滑动鼠标时,我想测量他/她在光标未实际移动的情况下滑动鼠标的速度

我尝试过将鼠标位置重置为特定的坐标(机器人类),但当我快速滑动鼠标时,鼠标能够逃脱

如果在java中不可能,C或C++解决方案就可以了。


谢谢

如果你真的想阻止鼠标移动事件,你需要在输入过滤层用c/c++做得更低。这里有一个问题为您指明了正确的方向:


可能可以使用自动热键(它为您提供了许多基本功能)

这取决于操作系统,但对于Windows,您可以尝试使用输入挂钩。我以前用过这个,它很管用。解决方案有点复杂,因为您必须编写一个dll,该dll提供一个函数地址,您可以将该地址插入到Windows中的输入钩子链中。这基本上就是autohotkey所做的,但是它们提供了一个非常好的脚本接口,并且它们代表您完成了设置各种DLL和Win32调用的所有繁重工作。如果您对输入挂钩感兴趣:

您可以尝试隐藏鼠标。定期将其位置重置到屏幕中心,同时计算像素距离/时间差(例如,以毫秒为单位的时间)。在Java中应该是可能的。