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

问题描述:

我的一位朋友要求我实现一个蓝色和红色的指针,以表示两个独立鼠标的输入,以加快混音台场景的实时音频混音。我很乐意,但尽管我认为这是一个好主意,但我不知道从哪里开始寻找可能的解决方案。如何在Java中处理多个鼠标输入?

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

+0

碰到这个问题:我一直在想软件利用许多开发人员(应该)拥有的第二个屏幕,并且为开发人员配对编程一个鼠标输入。然后我意识到这会弄乱很多硬件驱动程序的东西,我不知道如何开始。 – pbh101 2008-11-04 15:29:50

jinput

我有多个键盘一起工作,我几乎肯定它也支持多个鼠标。

+0

我同意保罗。事实上,在JInput论坛中有点挖掘出这个: http://www.javagaming.org/index.php/topic,16681.0.html – 2008-11-11 16:15:38

不知道有关Java ..但对于C#/ C++,你可以尝试 Microsoft Windows MultiPoint Software Development Kit

我已经尝试过在Windows ..它的工作原理与2个USB鼠标。

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

我建议使用Java支持的MIDI接口,并连接一些简单的MIDI控制器设备与多个旋钮或轨迹球。这些将以中音事件形式出现,您可以查看状态以了解所需的详细信息。

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

的Windows,你可以使用:

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

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