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

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

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


person Ande Turner    schedule 04.11.2008    source источник
comment
Ответьте на этот вопрос: я думал о программном обеспечении, чтобы использовать второй экран, который многие разработчики (должны) иметь, и дать обоим разработчикам в парном программировании ввод с помощью мыши. Затем я понял, что будет возиться с большим количеством HW-драйверов, когда я понятия не имею, как начать.   -  person pbh101    schedule 04.11.2008


Ответы (4)


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

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

person Paul Whelan    schedule 04.11.2008
comment
Я согласен с Полом. На самом деле, немного покопавшись в форумах JInput, можно найти следующее: javagaming.org /index.php/topic,16681.0.html - person Keith Lawrence; 11.11.2008

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

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

person ShoeLace    schedule 04.11.2008

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

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

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

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

person kshahar    schedule 04.11.2008

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

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

person dongilmore    schedule 04.11.2008