2008-11-04 70 views
12

我的一位朋友要求我實現一個藍色和紅色的指針,以表示兩個獨立鼠標的輸入,以加快混音臺場景的實時音頻混音。我很樂意,但儘管我認爲這是一個好主意,但我不知道從哪裏開始尋找可能的解決方案。如何在Java中處理多個鼠標輸入?

我應該從哪裏開始研究實現雙鼠標輸入的可行方法?

+0

碰到這個問題:我一直在想軟件利用許多開發人員(應該)擁有的第二個屏幕,並且爲開發人員配對編程一個鼠標輸入。然後我意識到這會弄亂很多硬件驅動程序的東西,我不知道如何開始。 – pbh101 2008-11-04 15:29:50

回答

7

jinput

我有多個鍵盤一起工作,我幾乎肯定它也支持多個鼠標。

+0

我同意保羅。事實上,在JInput論壇中有點挖掘出這個: http://www.javagaming.org/index.php/topic,16681.0.html – 2008-11-11 16:15:38

0

您可以使用多個設備,但在Java級別,所有鼠標事件都會合併到一個流中。該事件不包括它來自哪個鼠標。你確實說過你想混音,對吧?那麼這個組合可能會很有趣,但肯定不是你想要的。

我建議使用Java支持的MIDI接口,並連接一些簡單的MIDI控制器設備與多個旋鈕或軌跡球。這些將以中音事件形式出現,您可以查看狀態以瞭解所需的詳細信息。

3

這取決於您打算使用哪個操作系統。

的Windows,你可以使用:

  1. CPNMouse - 驅動程序+軟件結合使用,非常靈活,可以完全隱藏了一些從操作系統的老鼠。
  2. RawInput - 僅由Windows XP提供的API。您可以使用它來區分兩個鼠標輸入,自己繪製光標並隱藏主光標。查看SDGT的代碼,該API的C#用法。
  3. 對於這兩種解決方案,您就必須建立一個橋樑JNI您的應用程序

如果您正在使用X.Org(X11)服務器,有一個名爲MPX修補版本應該支持多個小鼠即使傳統應用程序它現在應該是X.Org主幹的一部分,但我對它不是很熟悉。無論如何,它有一個API,所以你可以通過JNI橋使用它。