Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > две мыши


Автор: Iskender 20.10.2005, 16:32
как сделать что бы на компе одновременно работало две мыши?
у кого какие предложения, может есть пример кода..

Автор: Romikgy 20.10.2005, 16:44
Для каких целей?

ЗЫ имхо надо будет драйвер мыши переписывать smile или те только в твоем приложении?

Автор: Albinos_x 20.10.2005, 16:44
не совсем понятно... тебе нужно два курсора мыши на кажду мышь?

Автор: Iskender 20.10.2005, 16:56
вторая шышь используется в качестве датчика движения;
дело в том что все подключенные мыши двигают один курсор, а мне необходимо что бы у каждой был свой курсор.

Автор: Snowy 20.10.2005, 17:17
Цитата(Iskender @ 20.10.2005, 16:56)
все подключенные мыши двигают один курсор, а мне необходимо что бы у каждой был свой курсор.

smile Напиши свою операционку с мультикурсорами.
В виндах такого не бывает.

Автор: Tema 20.10.2005, 17:28
Да как так всё можно!!!

Автор: Гость_Тема 20.10.2005, 17:32
Не надо чтоб курсор появлялся надо просто поймать сигнал с этого порта .Вот о чем идет речь.Как обработать именно этот порт (всмысле сигнал с порта) а не с того которрый управляет курсором на раб столе.

Автор: Romikgy 21.10.2005, 08:23
Интересно у тя , что определилось две мыши??? И любой дергаешь , а ездит один курсор???

ЗЫ если это так , то (при условии что у тя винда, хотя я это не проверял!!!!) наверное одключаешь в дестечере задач ненужную мышь, после этого открываешь необходимый сом-порт(подразумеваю на нем мышь) и работаешь с комом, точнее принимаешь данные, в нете куча инфы по протоколам мышей, там типа что-то 3 бита кнопки и 2 байта смещение , но эт так по памяти smile

Автор: ~FoX~ 21.10.2005, 09:56
Цитата(Iskender @ 20.10.2005, 17:56)
дело в том что все подключенные мыши двигают один курсор, а мне необходимо что бы у каждой был свой курсор.

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

Автор: Iskender 21.10.2005, 13:57
Собственно вопрос заключается в том, как обработать именно порт (всмысле сигнал с порта) к которому подключена вторая мышь, а не тот, который управляет курсором на раб столе.

Автор: Romikgy 21.10.2005, 14:59
http://www.lib.csu.ru/dl/text/programm/info/PROGR/Assembler/GL3/Index6.htm
То что удалось найти на скорую руку smile
Цитата

Каждое нажатие (или отпускание) клавиши мыши, так же, как и ее перемещение, в действительности вырабатывают не по одному, а по три последовательных прерывания с различными кодами в порте данных интерфейса. Так, нажатие левой клавиши мыши дает последовательность кодов 60h, 0, 0, нажатие правой клавиши - последовательность 50h, 0, 0, отпускание любой клавиши - 40h, 0, 0, перемещение вверх - 4Ch, 0, 3Fh, перемещение вниз - 40h, 0, 1 и т.д.

Тобишь открываешь нужный порт и читаешь из него smile передается 3 байта, старшие 4 бита 0 байта обозначают кнопки, 2 следующих байта смещение в пискелях. При более тщательном поиске можно найти более подробное описание протокола мыши.
ЗЫ Этот протокол относится к стандартной мыши.

Автор: bagira 29.10.2005, 21:46
smile У меня есть два устройства - мышь и планшет - управляют одним курсором, но только поочередно. А сделать управление двумя курсорами одновременно, по-моему нельзя...

Автор: Albinos_x 30.10.2005, 13:46
Цитата(bagira @ 29.10.2005, 21:46)
мышь и планшет - управляют одним курсором, но только поочередно

на ноуте USB мышь и Touchpad управляют курсором одновременно

Цитата(bagira @ 29.10.2005, 21:46)
А сделать управление двумя курсорами одновременно, по-моему нельзя...

в принципе можно, но всё в ручную... в ручную обрабатывать порт второй мыши и в ручную рисовать второй курсор....

Автор: Spike 7.11.2005, 09:50
Тема становится популярной.
Меня тоже пугали всякими драйвер-фильтрами и пр.
Есть решение, т.е. ХОРОШЕЕ решение smile : http://www.podgoretsky.com/ftp/Docs/Image/Truhilio/6.html, РАБОТАЕТ smile .
Iskender Тоже занимаюсь этой проблемой, пиши в приват или на мыло.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)