2008-11-04 7 views
12

Ein Freund von mir bat mich, einen blauen und einen roten Zeiger zu implementieren, um die Eingaben von zwei separaten Mäusen darzustellen, um ein Mischpult-Szenario für Echtzeit-Audio-Mischen zu beschleunigen. Ich würde gerne, aber so sehr ich denke, dass es eine großartige Idee ist, habe ich keine Ahnung, wo ich anfangen soll, nach einer möglichen Lösung zu suchen.Wie kann ich mehrere Mauseingaben in Java verarbeiten?

Wo soll ich anfangen, eine praktikable Methode zur Implementierung von Dual-Maus-Eingaben zu erforschen?

+0

Bump auf diese Frage: Ich habe über Software nachgedacht, um den zweiten Bildschirm viele Entwickler verwenden (sollten), und geben beide Entwickler in paar Programmierung eine Mauseingabe. Dann wurde mir klar, dass das mit einer Menge HW-Treibermaterial zu tun haben würde, wo ich keine Ahnung hatte, wie ich anfangen sollte. – pbh101

Antwort

7

Betrachten Sie jinput.

Ich habe mehrere Tastaturen damit gearbeitet, ich bin mir fast sicher, dass es auch mehrere Mäuse unterstützt.

+0

Ich stimme Paul zu. In der Tat wirft ein wenig herum Graben in den JInput Foren dieses auf: http://www.javagaming.org/index.php/topic,16681.0.html –

0

Sie können mehrere Geräte verwenden, aber auf Java-Ebene werden alle Mausereignisse zu einem einzigen Stream zusammengefasst. Das Ereignis enthält nicht, aus welcher Maus es stammt. Du hast gesagt, du willst Audio mischen, oder? Nun, diese Mischung könnte interessant sein, aber sicherlich nicht das, was du willst.

Ich würde vorschlagen, die Java-unterstützte Midi-Schnittstelle zu verwenden und einige einfache Midi-Controller-Gerät mit mehreren Reglern oder Trackballs zu verbinden. Diese werden als Midi-Ereignisse angezeigt und Sie können den Status für die Details überprüfen, die Sie benötigen.

3

Es hängt davon ab, welches Betriebssystem Sie verwenden möchten.

Auf Windows-, können Sie verwenden:

  1. CPNMouse - ein Treiber + Software-Kombination, sehr flexibel und ermöglicht es vollständig aus dem Betriebssystem einige der Mäuse zu verstecken.
  2. RawInput - eine API, die nur von Windows XP bereitgestellt wird. Sie können damit zwei Mauseingaben unterscheiden, die Mauszeiger selbst zeichnen und den Hauptcursor ausblenden. Werfen Sie einen Blick auf den Code SDGT, eine C# -Nutzung dieser API.
  3. Für beide Lösungen würden Sie eine JNI Brücke zu Ihrer Anwendung bauen müssen

Wenn Sie verwenden X.Org (X11) Server gibt es gepatchte Version MPX genannt, die für mehrere Mäuse sogar unterstützen sollte Legacy-Anwendungen. Es sollte jetzt ein Teil des X.Org Stammes sein, aber ich bin nicht sehr vertraut damit. Wie auch immer, es hat eine API, so dass Sie es über JNI Bridge verwenden können.

Verwandte Themen