По умолчанию операционная система настроена на работу с одним указателем мыши. Если подключены два или более устройств (тачпад, мышь, трекбол), все они в лучшем случае перемещают указатель. Все привыкли к этому как к аксиоме, и даже в таких источниках, как answers.mail.ru, есть валидные ответы, которые были закрыты и одобрены модераторами и не могут создавать два указателя (у кого есть туда доступ, пожалуйста, исправьте недоразумение).
Не так давно появилось известное коммерческое решение "два рабочих стола в одном системном блоке" (EasyCLone). Это была возможность создания компьютерных рабочих столов с двумя-четырьмя различными наборами "монитор-мышь-клавиатура" и многое другое. Покупка двух компьютеров для компании была выгодной, но это решение вскоре окупилось и было забыто, поскольку цены на комплектующие стремительно падали.
Однако недавняя тема в малоизвестном ответвлении "Хабра" неожиданно пролила свет на эту шаткую истину. Оказывается, на уровне драйвера существует программа, которая перехватывает каждую новую подключающуюся мышь и создает ее новый индекс. К сожалению, пробный период составлял 15 дней, и мы вскоре потеряли стимул активировать его. Почему тестирование непроверенной, неизвестной, но интересной технологии является задачей? Проект имеет поисковые, интернет и общественные нужды. Это означает, что есть возможность найти более гибкие решения. В данном решении речь не идет о двух точках входа в систему. Если вы переместите мышь в другое окно или в другую точку окна, фокус переместится туда, а курсор ввода с клавиатуры также переместится в эту точку. Если операционная система создает два концентратора ввода, эта задача называется "две мыши + две клавиатуры", и решение становится еще более удобным. Однако с точки зрения системы она значительно сложнее. Это связано с тем, что на рабочем столе необходим не только один драйвер мыши, но и несколько активных окон.
Два указателя мыши помогут вам работать на одном рабочем столе почти одновременно. Например, программа по ссылке выше, Peanut Butter Pointer, устроена так, что взрослые и дети могут работать вместе (сотрудничество в образовательных программах).
Исследования показали, что на самом деле другое изречение в надписи является правдой. Существует бесплатная программа с открытым исходным кодом для Windows (апрель 2004, 2K / XP) и инструкции по подключению нужного количества мышей и указателей в Linux, Debian, X.Org 7.5, 19.01.2010.
(Для Linux, цитата: "MPX в настоящее время не поддерживается в Gtk + и вы не можете рисовать двумя мышками в GIMP или Inkscape, но вы можете выбрать инструмент или пункт меню одной мышкой и рисовать другой. Это изменилось в Gtk+. 3 был выпущен. Кроме того, в оконном менеджере Metacity нельзя перетаскивать два окна одновременно, но уже можно одновременно перетаскивать иконки в Nautilus и перемещать окна в Metacity Qt имеет мультитач поддержка. (‘начиная с версии 4.6’).
Сосредоточьтесь на решении для Windows XP.
Это "голый" драйвер без программы установки. Для подключения необходимо выполнить несколько шагов в соответствии с инструкциями. (english-cpnmouse.sourceforge.net/install.html.) Поэтому следующие инструкции предназначены для исследователей, а не для обычных потребителей конечных продуктов. Стоит установить две мыши. Это случай проверки того, как они работают, и просто касание "нижних областей" управления устройствами на уровне установки драйверов. Перевод и перефразирование некоторых картинок подтверждает, что цель близка и достижима. ‘Вы должны знать, как’.
Установите драйверы для двух или более мышей.
1.Все устройства типа мыши должны быть подключены и функционировать (перемещать указатель). 2.Под администратором поместите два существующих файла *.inf и *.sys в папки windowsinf и windowssystem32. 3. выберите Панель управления->Система->Оборудование->Диспетчер устройств. 4. затем "Мыши и другие указывающие устройства", в этой папке вы можете увидеть, какие устройства мыши работают.
Драйвер не устанавливает никаких ограничений на тип мыши (COM, PS/2, USB). Однако вам необходимо указать некоторые данные из свойств устройства в файле cpnmouse.inf.
5. если вторая мышь подключена к USB, она будет обнаружена как "скомпилированная HID-мышь". Для дальнейшей установки может потребоваться знание кода оборудования. Создатель драйвера рекомендует использовать для его получения мощный аппаратный ридер, но все необходимое можно найти в свойствах мыши. См.
Свойства HID-компьютера мыши->Детали->Идентификатор оборудования->HID ™ Строка формата Vid_XXXX & Pid_XXXXXX (обычно вторая).
Например, для мыши MediaTech MT1068T ‘Crabby’ это были HID Vid_15d9 & Pid_0a4c.
Если этот код отсутствует в файле cpnmouse.inf, то в разделе CPNGroup.Mfg необходимо ввести строку следующего формата (в разделе CPNGroup.Mfg)
%CPNGroup.DeviceDesc1%= usbinst, HID Vid_XXXX & Pid_XXXXXX,.
Должен быть добавлен в конец списка таких строк. Для второй мыши A4Tech, подключенной к порту PS/2, это свойство будет выглядеть следующим образом
Аналогично, в файле cpnmouse.inf есть строка
%CPNGroup.DeviceDesc0%= ps2inst, * PNP0FAKE
Аналогичная запись должна быть добавлена сразу после
%CPNGroup.DeviceDesc0 %%% = ps2inst, * PNP0F13
Фактически, если эта запись не будет создана, необходимый драйвер под названием "CPNTools mouse filter driver PS/2" перестанет существовать.
6.После добавления информации выполните следующие действия в диспетчере устройств: скрытая мышь->правый клик на мыши->обновить драйвер. ->Установить из указанного места->Следующее->(Убрать поиск съемных носителей)+Не искать. Выберите нужный драйвер самостоятельно->Установите с диска->из: {windows inf (или другой путь %system_root%)->CPN tool mouse filter driver USB->Next.
Появляется диалог Вставьте такой диск в устройство ввода диска ->OK->Browse->c:™ windows system32 cpnmouse.sys->Open->OK ("Мастер завершил установку программы Target: CPN Tools USB mouse filter driver)->Завершить.
В качестве альтернативы, в диспетчере устройствHID-компактная мышь Вместо HID-совместимой мыши она появится в диспетчере устройств.CPN Tools USB Mouse Filter Guide. .
7. повторите ту же процедуру для мышей PS/2, только выберите ‘CPN Tool Mouse Filter Driver PS/2’. Вам будет предложено перезагрузиться. При закрытии вы увидите, что мышь PS/2 также была изменена на ‘CPN Tool Mouse Filter Driver PS/2’. Перезагрузите компьютер и приготовьтесь к запуску.
Все прошло хорошо, но указатель мыши не разделяется…
Используйте двух мышей.
Водитель — это только половина успеха. Теперь вам нужна программа для реализации отображения двух (или более) курсоров. В качестве альтернативы, используйте события мыши в прикладной программе (файлы, описания и исходный код доступны) на уровне API другой прикладной программы. Второй метод предназначен для импровизации — работы с программами 1-2-3, но могут быть интересны и общие приложения. Автор рекомендует одно общее внедрение. Программа normal-binary-0.1.0.0.zip и cpnmouse.lib в качестве плагина. В случае с normal.exe и cpnmouse.lib он создает два указателя для двух мышей и возвращает единственный реальный указатель на движущуюся мышь.Находится в той же папке.Таким образом, проекция рабочей поверхности размещается в заголовке.
Если вы не положите в папку cpnmouse.lib, вы будете работать только с манипулятором "мышь" (стрелки не предусмотрены). Это тем более удобно, что дизайнерский бегунок имеет невыгодный внешний вид. Однако это связано с тем, что он не влияет на функциональность приложения при рисовании объектов и выделении текста. Такие артефакты возникают, например, при легком "перетаскивании" окна программы за строку заголовка.
Есть еще несколько не менее серьезных недостатков. Программа не распознает более одного экрана (!) ), так что в итоге получается, что для "простых" задач используется более одного экрана. Есть такое "чудо", как потеря возможности прокрутки с помощью колеса мыши. (Парадоксально, но центральная и правая кнопки работают). Дополнительные кнопки на нестандартных мышках, разумеется, не работают (драйверы не специфичны). Однако весь код программы и драйвера является открытым исходным кодом (VC ++ 6), поэтому ничто не мешает им принять окончательное решение. Мы не смогли найти в файлах никаких лицензий, но где-то в интернете проскользнула ссылка на лицензирование этих разработок от имени университета.
Какие ожидания в этих руководствах для игр, графических процессоров? Не ожидайте слишком многого, особенно в играх для двух игроков. Две мыши по сути являются одной мышью, но могут быстро переходить от одного маршрута к другому, при этом оператор может попеременно нажимать на две области, расположенные далеко друг от друга, не бегая по столу. Таким образом, два человека, играющие с двумя мышами, всегда будут игроками (если нет специального водящего, который не присутствует), но будут мгновенно перехватывать действия друг друга.
Осталось выяснить, насколько платная программа Peanut Butter Pointer лучше этой разработки. Перспектива его регулярной установки и бесследного удаления через две недели с помощью специальной программы деинсталляции значительно снижает желание изучать и использовать его. Возможно, читатель, имеющий опыт в этом, мог бы рассказать больше о его достижениях.
UPD 2020-05-16 Я добавил эти два файла (cpnmouse.sys, cpnmouse.inf) прямо в комментарии ниже. Файлы больше не загружаются из источника.
Было бы интересно узнать, может ли этот рост работать на Windows 10?
