Как я могу обработать несколько вводов мыши в Java? - PullRequest
12 голосов
/ 04 ноября 2008

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

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

Ответы [ 4 ]

7 голосов
/ 04 ноября 2008

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

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

3 голосов
/ 05 ноября 2008

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

В Windows вы можете использовать:

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

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

3 голосов
/ 04 ноября 2008

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

я пробовал это на windows .. он работает с 2 мышами USB.

0 голосов
/ 05 ноября 2008

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

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

...