Множественные указатели мыши?

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

Это то, что я должен попытаться передать другому приложению / драйверу / os_magic? или есть библиотека, которую я могу использовать для этого? Язык не является делом ОГРОМНЫЙ, но предпочтительнее C, C++ и Python.

Спасибо :)

редактировать:

Нашел этот набор инструментов с несколькими указателями для Linux (на самом деле это x-сервер с несколькими указателями): http://wearables.unisa.edu.au/mpx/

Поскольку вы выбрали предпочтительный ответ, который на самом деле не отвечает на вопрос, опубликуйте, что вы об этом найдете.

Davide 05.11.2008 01:23

конечно! многоточечный SDK действительно позволяет использовать несколько мышей с несколькими указателями;)

Jiaaro 06.11.2008 05:34

Кстати, MPX будет встроен в следующие выпуски x.org. Пройдет некоторое время, прежде чем все наборы инструментов и приложения будут полностью адаптированы к нему ...

bobince 22.01.2009 04:23

@bobinice очень мило ... с нетерпением жду интеграции с X - может быть, это приведет к созданию приложений с поддержкой мультитач?

Jiaaro 08.09.2009 17:40
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
17
4
9 752
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

да. Я знаю по крайней мере одну программу, которая делает это, KidPad. Я думаю, что он написан на Java и был разработан Хуан Пабло Уркад, ныне работающим в Университете Айовы. Вы должны спросить его, как это было реализовано.

Вы можете использовать DirectInput с C / C++ (возможно, есть привязки и на других языках). Вы используете IDirectInput8::EnumDevices() (с использованием DX8; та же функция, другой интерфейс в других версиях DirectX), чтобы получить список всех подключенных устройств. Затем вы создаете устройства и опрашиваете их IDirectInputDevice8::Poll(). Это почти обязательно должно работать с любым количеством мышей, клавиатур и других устройств ввода. У MSDN есть действительно хорошая документация по этому поводу.

Это не будет работать в Windows XP, вместо этого следует использовать RawInput. Смотрите здесь: jstookey.com/arcade/rawmouse

kshahar 05.11.2008 02:40

У меня есть смутное ощущение, что BeOS позволяла одной паре мыши и клавиатуры иметь отдельные активные окна и входы. Вау ... это было давным-давно. Я подумал, что это будет очень интересно для "парного" программирования.

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

Вы можете попробовать Пакет разработки программного обеспечения Microsoft Windows MultiPoint 1.1

или новый Пакет разработки программного обеспечения Microsoft Windows MultiPoint 1.5

и основной сайт Microsoft Multipoint

Эта ссылка не работает - может ли кто-нибудь с достаточным количеством репутации исправить это?

Erik Forbes 22.01.2009 04:31

у меня теперь он работает нормально .. так что либо кто-то исправил это, либо это было временно.

ShoeLace 29.01.2009 17:21

Обратите внимание, что MultiPoint SDK работает только с приложениями на основе WinForms или WPF, поскольку для его метода Initialize требуется System.Windows.Window.

Stefan Monov 20.04.2011 15:38

Смотрите мой ответ здесь (избегайте вещей JNI): Как я могу обрабатывать несколько вводов мыши в Java?

http://code.google.com/p/pymultimouse/ - это библиотека, использующая необработанный ввод Windows, она работала в тесте с двумя мышами.

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