que - ¿Cómo puedo manejar múltiples entradas de mouse en Java?
mouselistener netbeans (4)
Depende del sistema operativo que pretenda usar.
En Windows , puede usar:
- CPNMouse : una combinación de controlador + software, muy flexible y permite ocultar por completo algunos de los ratones del sistema operativo.
- 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.
- Para ambas soluciones, tendrías que construir un puente JNI para tu aplicación
Si está utilizando el servidor X.Org (X11) , hay una versión parcheada llamada MPX que debe admitir varios ratones incluso para aplicaciones heredadas. 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.
Un amigo mío 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.
¿Dónde debería comenzar a investigar un método viable para implementar las entradas de mouse dual?
No sé sobre Java ... pero para C # / c ++ puedes probar el Kit de desarrollo de software Microsoft Windows MultiPoint
Lo probé en Windows ... funciona con 2 ratones USB.
Puede usar múltiples dispositivos, pero a nivel de Java, todos los eventos del mouse se unen en una sola transmisión. 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.
Mira jinput .
He tenido varios teclados trabajando con eso, estoy casi seguro de que también admite varios ratones.