如何在Java中处理多个鼠标输入?

我的一个朋友让我实现了一个蓝色和红色指针,代表两个独立鼠标的输入,以加快混音台方案的实时音频混合。 我很乐意,但我认为这是一个好主意,我不知道从哪里开始寻找可能的解决方案。

我应该从哪里开始研究实现双鼠标输入的可行方法?

看看jinput 。

我有多个键盘使用它,我几乎可以肯定它也支持多个鼠标。

不知道java ..但对于C#/ c ++,您可以尝试Microsoft Windows MultiPoint软件开发工具包

我在Windows上尝试过它..它适用于2个USB鼠标。

这取决于您打算使用的操作系统。

Windows上 ,您可以使用:

  1. CPNMouse – 驱动程序+软件组合,非常灵活,允许从操作系统中完全隐藏一些鼠标。
  2. RawInput – 仅由Windows XP提供的API。 您可以使用它来区分两个鼠标输入,自己绘制光标并隐藏主光标。 看一下SDGT的代码,这是这个API的C#用法。
  3. 对于这两种解决方案,您必须为您的应用程序构建一个JNI桥

如果您使用的是X.Org(X11)服务器,那么称为MPX的修补版本即使对于遗留应用程序也应该支持多个鼠标。 它现在应该是X.Org主干的一部分,但我不是很熟悉它。 无论如何它有一个API,所以你可以通过JNI桥使用它。

您可以使用多个设备,但在Java级别,所有鼠标事件都会合并为一个流。 该事件不包括它来自哪个鼠标。 你确实说过要混音,对吧? 那么这种混合可能很有趣,但肯定不是你想要的。

我建议使用Java支持的midi接口,并将一些简单的midi控制器设备连接到多个旋钮或轨迹球。 这些将作为midi事件进入,您可以检查状态以获取所需的详细信息。

Interesting Posts