Как я могу обрабатывать несколько вводов мыши в Java?

Мой друг попросил меня реализовать синий и красный указатели для представления входов двух отдельных мышей, чтобы ускорить сценарий микшерного пульта для микширования звука в реальном времени. Мне бы очень хотелось, но, хотя я считаю это отличной идеей, я не имею ни малейшего понятия, с чего начать поиск возможного решения.

С чего начать поиск жизнеспособного метода реализации двойного ввода с помощью мыши?

Ответьте на этот вопрос: я думал о программном обеспечении, которое использовало бы второй экран, который (должны) иметь многие разработчики, и давал обоим разработчикам в парном программировании ввод с помощью мыши. Затем я понял, что это будет означать возиться с множеством вещей с драйверами HW, в которых я понятия не имею, с чего начать.

pbh101 04.11.2008 18:29
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
12
1
5 822
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

не знаю о java .. но для C# / C++ вы можете попробовать Комплект для разработки программного обеспечения Microsoft Windows MultiPoint

Я пробовал его на Windows .. он работает с 2 мышами USB.

Ответ принят как подходящий

Посмотрите на jinput.

У меня было несколько клавиатур, работающих с ним, я почти уверен, что он также поддерживает несколько мышей.

Я согласен с Полом. На самом деле, если немного покопаться на форумах JInput, можно увидеть следующее: javagaming.org/index.php/topic,16681.0.html

Keith Lawrence 11.11.2008 19:15

Вы можете использовать несколько устройств, но на уровне Java все события мыши объединяются в один поток. В событии не указывается, от какой мыши оно пришло. Вы ведь сказали, что хотите микшировать звук, верно? Этот микс может быть интересным, но уж точно не тем, что вам нужно.

Я бы предложил использовать MIDI-интерфейс с поддержкой Java и подключить какое-нибудь простое устройство MIDI-контроллера с несколькими ручками или трекболом. Они будут представлены в виде миди-событий, и вы можете изучить состояние, чтобы получить необходимые детали.

Это зависит от того, какую операционную систему вы собираетесь использовать.

На Окна вы можете использовать:

  1. CPNMouse - комбинация драйвера + программного обеспечения, очень гибкая и позволяет полностью скрыть часть мышей от операционной системы.
  2. Сырой ввод - API, предоставляемый только Windows XP. Вы можете использовать его, чтобы различать два ввода мыши, рисовать курсоры самостоятельно и скрывать главный курсор. Взгляните на код SDGT, C# использование этого API.
  3. Для обоих решений вам нужно будет построить мост JNI к вашему приложению.

Если вы используете сервер X.Org (X11), существует исправленная версия под названием MPX, которая должна поддерживать несколько мышей даже для устаревших приложений. Теперь он должен быть частью ствола X.Org, но я не очень хорошо с ним знаком. В любом случае у него есть API, поэтому вы можете использовать его через мост JNI.

Другие вопросы по теме