2008-11-04 14 views
12

Un amigo me pidió que implementara un puntero azul y rojo para representar las entradas de dos ratones por separado para agilizar un escenario de mesa de mezclas para la mezcla de audio en tiempo real. Me encantaría, pero aunque creo que es una gran idea, no tengo ni idea de dónde empezar a buscar una posible solución.¿Cómo puedo manejar múltiples entradas de mouse en Java?

¿Dónde debería comenzar a buscar un método viable para implementar las entradas de doble mouse?

+0

Superado a esta pregunta: he estado pensando en utilizar el software de la segunda pantalla que muchos desarrolladores (deberían) tener, y dando a los desarrolladores en programación de dos la entrada del mouse. Entonces me di cuenta de que estaría jugando con muchas cosas del controlador HW, donde no tengo ni idea de cómo empezar. – pbh101

Respuesta

7

Mire jinput.

He tenido varios teclados trabajando con él, estoy casi seguro de que también admite varios ratones.

+0

Estoy de acuerdo con Paul. De hecho, un poco de excavación en los foros de JInput arroja esto: http://www.javagaming.org/index.php/topic,16681.0.html –

0

Puede usar varios dispositivos, pero a nivel de Java, todos los eventos del mouse se unen en una sola secuencia. El evento no incluye de qué mouse proviene. Dijiste que querías mezclar audio, ¿verdad? Bueno, esta mezcla puede ser interesante, pero seguramente no es lo que quieres.

Sugiero usar la interfaz midi soportada por Java y conectar algún dispositivo controlador midi simple con múltiples perillas o trackballs. Estos aparecerán como eventos midi, y puede examinar el estado para obtener los detalles que necesita.

3

Depende del sistema operativo que vaya a utilizar.

En de Windows, puede utilizar:

  1. CPNMouse - una combinación del conductor + software, muy flexible y permite ocultar completamente algunos de los ratones desde el sistema operativo.
  2. RawInput - una API proporcionada solo por Windows XP. Puede usarlo para distinguir entre dos entradas de mouse, dibujar los cursores usted mismo y ocultar el cursor principal. Eche un vistazo al código de SDGT, un uso de C# de esta API.
  3. Para ambas soluciones se tendría que construir un puente JNI para su aplicación

Si está utilizando X.Org (X11) servidor, no hay versión parcheada llamada MPX que debe soportar múltiples ratones incluso para aplicaciones de legado. Ahora debería ser parte del tronco X. Org, pero no estoy muy familiarizado con él. De todos modos, tiene una API para que puedas usarla a través del puente JNI.

Cuestiones relacionadas