Windows multipoint mouse sdk что это

Одна мышь — хорошо, а две — лучше!

Microsoft® Windows MultiPoint™ Mouse SDK – новая необычная технология, дающая двум и более пользователям возможность одновременно работать за одним компьютером с использованием нескольких мышек. Благодаря технологии MultiPoint дети могут одновременно выполнять учебные задания, используя один компьютер.

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

Исследования показывают, что в таком случае наиболее активный, или доминирующий, ученик контролирует работу с ПК, принимает решения за всю группу. Другие учащиеся пытаются уследить за его действиями, ознакомиться с появляющимися материалами и понять логику его работы. В результате снижается интерес группы к изучаемой теме, польза от используемого оборудования и, как следствие, общая эффективность обучения.

Возможное решение

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

Так как на данный момент одним из наиболее распространенных и дешевых периферийных устройств является компьютерная мышь, в 2006 году была продемонстрирована технология Microsoft Windows® MultiPoint™ Mouse.

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

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

Особенности совместного обучения

За последние несколько лет апробация решений, разработанных на основе технологии MultiPoint Mouse, проведена в ряде стран по всему миру. С результатами данных проектов вы можете ознакомиться на англоязычном сайте Microsoft Unlimited Potential . В том числе доступна информация о тестировании технологии в школах города Армавир.

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

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

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

Варианты использования

Во время апробации технологии рассматривались различные варианты ее применения в учебных заведениях:
Разделение экрана
Данный вариант является наиболее простым с точки зрения технической реализации. Имеющееся оборудование может быть использовано одновременно несколькими школьниками – каждый работает с собственной копией учебных материалов в выделенной области экрана.
Соревнования
Подобный способ совместной работы характеризуется наивысшим уровнем вовлечения – дети с огромным интересом участвуют в обучающих играх.
Общее задание
Совместная работа подразумевает одновременное выполнение одного задания несколькими учащимися, при этом их действия связаны и для достижения поставленной задачи требуется постоянное общение.
Согласованная работа
Наивысший уровень взаимодействия требуется в случае, когда выполнение задания невозможно без предварительной договоренности о необходимых действиях; подобные задания могут быть выполнены лишь при условии согласованной и корректной работы всех участников. Подобный способ взаимодействия в наибольшей степени развивает навыки совместной работы, а также способствует обмену знаниями между учениками.

Читайте также:  Как сделать свое приложение для windows phone

На практике указанные варианты могут комбинироваться и видоизменяться для достижения наилучших учебных результатов.

Омышение компьютера или 2 и более указателей мыши на экране

Если вам предлагают платное
решение информационной задачи,
пробуйте найти бесплатное.

В ОС по умолчанию задана работа с 1 указателем мыши. Даже если подключите 2 и более устройств (тачпады, мыши, трекболы), все они в лучшем случае будут двигать один указатель. С этим все свыклись, как с аксиомой, и даже на ресурсах типа ответы.mail.ru есть авторитетные ответы, утверждённые модератором как закрытые, что сделать 2 указателя нельзя (кто имеет туда доступ — поправьте недоразумение).

Когда-то было известно коммерческое решение «2 рабочих места за 1 системным блоком» (EasyCLone) — возможность создать на компьютере рабочие столы на 2-4 разных комплектах «дисплей-мышь-клавиатура», и это было даже выгоднее, чем покупать 2 ПК для фирм, но стремительное удешевление комплектующих, видимо, быстро обесценивало такое решение и о нём забыли.

Но недавний топик на малоизвестном ответвлении Хабра неожиданно для многих пролил свет на эту зыбкую истину. Оказалось, что есть программа, которая на уровне драйверов ловит каждую новую подключенную мышь и создаёт для неё новый указатель. Увы, у неё триальный период 15 дней, что тут же испарило желание её включить. Зачем, если стоит задача попробовать неотработанную, неизвестную, но интересную технологию? Есть поиск, интернет и общественная потребность у задачи, а значит, есть возможность найти более гибкие решения.

В данном решении речь не идёт о 2 фокусах ввода в системе. Если мышью переключаются на другое окно или место в окне, то фокус передаётся этой мыши, и курсор ввода с клавиатуры перемещается на это место тоже. Если бы в ОС создавались 2 фокуса ввода, то эта задача называлась бы «2 мыши + 2 клавиатуры», и решение было бы ещё удобнее. Но с точки зрения системы она заметно сложнее — ведь надо иметь не только драйвер мыши, но и множественные активные окна на рабочем столе.

2 указателя мыши могли бы пригодиться для совместной почти одновременной работы на 1 рабочем столе (Desktop). Например, программа по ссылке выше, 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.

Читайте также:  Что делать если mac os завис

Это «голый» драйвер без инсталлятора. Чтобы его подключить, нужно сделать некоторые действия по инструкции. (На английском — cpnmouse.sourceforge.net/install.html .) Поэтому инструкция ниже — для исследователей, а не для простых потребителей конечного продукта. Две мыши стоит установить хотя бы для того, чтобы посмотреть, как это работает и прикоснуться к «нижним горизонтам» управления устройствами на уровне инсталляции драйверов. Ну а пересказ с переводом и некоторыми иллюстрациями подтвердит уверенность, что цель близка и достижима, нужно лишь «знать, как».

Инсталляция драйверов для 2 и более мышей.

1. Все устройства типа мыши должны быть подключены и работать (двигать указатель).
2. Из-под администратора кладём имеющиеся 2 файла *.inf и *.sys в папки \windows\inf и \windows\system32.
3. Выбираем «Панель управления -> Система -> Оборудование -> Диспетчер устройств«.
4. Далее «Mice and other pointing devices», в этой папке видим работающие мышиные устройства.

Драйвер не накладывает ограничений на тип мышей (COM, PS/2, USB). Но он потребует прописывания некоторых данных из свойств устройства в файл cpnmouse.inf.

5. При подключении второй мыши к USB она определяется как «HID-compilant mouse». Для дальнейшей инсталляции с большой вероятностью будет необходимо знание Кода оборудования. Автор драйверов рекомендует получить их с помощью некоторой излишне мощной программы по чтению данных с оборудования, но всё необходимое видно в свойствах мыши. Смотрим:

Свойства HID-compilant mouse -> Сведения -> Коды (ID) оборудования -> Строчка (обычно 2-я) вида HID\Vid_XXXX&Pid_XXXX .

Например, в случае мыши MediaTech MT1068T «Crabby» она была HID\Vid_15d9&Pid_0a4c .

Если этого кода нет в файле cpnmouse.inf в строчках вида (в секции [CPNGroup.Mfg])

%CPNGroup.DeviceDesc1% = usbinst, HID\Vid_XXXX&Pid_XXXX ,

её необходимо внести в конец списка таких строчек. Для второй мыши A4Tech на порте PS/2 подобное свойство выглядело так:

По аналогии, в cpnmouse.inf есть строчка

%CPNGroup.DeviceDesc0% = ps2inst, *PNP0FAKE

К ней тоже должна быть добавлена подобная запись сразу после неё:

%CPNGroup.DeviceDesc0% = ps2inst, *PNP0F13

Действительно, если её не внести, требуемый драйвер с названием «CPN Tools mouse filter driver PS/2» в дальнейшем отсутствует.

6. После добавлений информации делаем в Диспетчере устройств: HID-compilant mouse -> «правый клик мыши» -> Обновить драйвер. -> Установка из указанного места -> Далее -> (Убрать поиск на сменных носителях ) + Не выполнять поиск. Я сам выберу нужный драйвер -> Установить с диска -> с:\windows\inf (или другой путь %system_root%) -> CPN Tools mouse filter driver USB -> Далее.

Возникнет диалог «Вставьте такой-то диск в устройство ввода дисков» -> OK -> Обзор -> c:\windows\system32\cpnmouse.sys -> Открыть -> ОК (будет табличка «Мастер завершил установку программ для: CPN Tools mouse filter driver USB) -> Готово.

В Диспетчере устройств вместо HID-compilant mouse появится CPN Tools mouse filter driver USB.

Читайте также:  Intel sgx windows 10

7. Повторим те же действия для мыши PS/2 с той разницей, что выбирать будем „CPN Tools mouse filter driver PS/2“. Появится приглашение на перезагрузку. Если от неё отказаться, увидим, что мышь PS/2 тоже сменилась на „CPN Tools mouse filter driver PS/2“. Подготовим компьютер к перезагрузке и выполним её.

Всё бы хорошо, но указатель мыши не раздваивается…

Использование 2 мышей.

Драйвер — это только полдела. Теперь нужна программа, реализующая появление 2 (и более) курсоров. Или использование события мышей в прикладной программе на уровне API (имеется архив, описание и исходные коды) в других прикладных программах. Второй путь обречён на кустарничество — работу с 1-2-3 программами, а общие приложения могут вызвать интерес. Общее приложение, предлагаемое автором, существует одно — программа ordinary-binary-0.1.0.zip и как дополнение, cpnmouse.lib. Она создаёт 2 рисованых указателя для 2 мышей и перекидывает единственный реальный указатель к движущейся мыши, если ordinary.exe и cpnmouse.lib выложены в одной папке. Так получаем вид рабочего стола, вынесенный в заголовок:

Если в папку не положить cpnmouse.lib — будем работать только с перескакивающим от мыши к мыши указателем (без стрелочек-рисунков). Это оказывается даже удобнее, потому что отображение рисуночных курсоров имеет недостаток — артефакты при перетаскивании объектов и при выделении текста, впрочем, не влияющие на функциональность прикладных программ. Такие следы, например, оставило небольшое „потаскивание“ окна программы за его заголовок.

Есть пара других не менее серьёзных недостатков. Незнание программой более 1 экрана (!), что ставит крест на идее „по-лёгкому“ поработать с 2 или более мониторами. Имеет место такое „чудо“, как потеря способности прокручивать текст колесом мыши. (Как ни странно, средняя и правая кнопки работают.) Дополнительные кнопки нестандартных мышей, конечно, не будут работать (драйверы не родные). Впрочем, коды всех программ и драйверов открытые (VC++ 6), ничто не мешает их доработать. Лицензии в архивах найти не удалось, но в сети где-то проскальзывала ссылка на лицензирование этих разработок от имени университета.

Что с такими драйверами можно ожидать в играх, графических редакторах? Слишком многого ожидать не следует, особенно, игры с 2 игроками. 2 мыши — это, фактически, 1 мышь, но способная мгновенно перемещаться от одной траектории к другой, выполнять поочерёдно клики в 2 далёких друг от друга участках, не носясь манипулятором по столу. Поэтому игра 2 людей с 2 мышами всегда будет (если не написаны специальные драйверы, а они не написаны) от лица одного игрока, но с мгновенным перехватом действий друг у друга.

Пока что неизвестно, насколько лучше платная программа Peanut Butter Pointer, чем эта разработка. Перспектива регулярно её инсталлировать и без следов деинсталлировать через 2 недели специальным деинсталлятором сильно снижает желание её исследовать и ею пользоваться. Может быть, читатели, имеющие опыт работы с ней, расскажут и покажут её достижения подробнее.

UPD 2020-05-16
Добавил ниже в комментарии эти 2 файла (cpnmouse.sys, cpnmouse.inf) непосредственным текстом, поскольку архив перестал скачиваться из источника, о чём сообщил в Лс читатель Amoklauf (спасибо за замечание).

Будет интересно узнать, сможет ли эта разработка запуститься в Windows 10?

Оцените статью