Свежие обсуждения
Компьютеры

Протокол обмена с мышью

1 2 5

GM: А что если прикинуться мышом и передавать ПРИРАЩЕНИЕ координат? Просто вычитать предыдущее значение из текущего значения, потом текущее значение сохранять на месте предыдущего. В самый первый раз выдать нулевое перемещение, а потом передавать дельту.

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

 

Кстати я нашел паспорт на планшет с полным описанием протокола.... Сколько-ж у него настроек. Среди них есть и переход к относительным координатам, причем с ограничением величины "прыжка" за один акт передачи данных, тоесть при "длинном прыжке" должен отдать несколько посылок. В принципе требуется на лету ASC2 десятичный формат планшета перевевести в двоичный мышиный.

 

но проблемас. любой 5 вольтовый контроллер. со стороны планшета - UART, со стороны компа - spi. и в полупись (ps/2) включай.

 

Проблема в том, что мне нужен не PS/2 протокол а протокол RS232 мышей, потому как попламный порт у меня занят собственно мышью. USB яный хрен не потяну. Сами посылки прослушать не проблема, но вот процедуру знакомства винду с новым устройством увы не прослушаешь.

ЗЫ: - а есть универсальный драйвера планшетов. У этого планшета в списке протоколов значиться 2 стандартных "BIT PAD" и "ММ" (не Microsoft увы Mouse )

 

Посмотрите у компилятора PІСC. У него есть пример на Си реализации мыши. Достаточно простой, думаю можно будет вполне разобратся.

Можно пойти и другим путем. Подключить этот планшет к СОМ порту и написать свою программу по управлению курсором мышки. Этой займет 5-30 минут. Сложней всего будет из последовательности байтов с СОМ порта получить нужные Вам координаты, а переместить курсор в нужную точку - это пара строчек кода (во всяком случае на Дельфи)

 

Сергей К: Сергей К ◊
сегодня, 11:36

Посмотрите у компилятора PІСC. У него есть пример на Си реализации мыши. Достаточно простой, думаю можно будет вполне разобратся.

СОМовской или пополамной, нужно строго СОМ, а в инете везде только PS/2


Можно пойти и другим путем. Подключить этот планшет к СОМ порту и написать свою программу по управлению курсором мышки. Этой займет 5-30 минут.

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


Сложней всего будет из последовательности байтов с СОМ порта получить нужные Вам координаты, а переместить курсор в нужную точку - это пара строчек кода (во всяком случае на Дельфи)

Для меня Дельфи совсем темный лес, я даже с трудом представляю что это такое.

ЗЫ Просто алгоритм общения с СОМовской мышью, а дальше я сам все сделаю. Ну не могу я снифать процедуру инициализации мыша,ибо снифер не работает до загрузки ОС.

 

Wladimir_TS: ЗЫ Просто алгоритм общения с СОМовской мышью, а дальше я сам все сделаю.
Гы. Там этих мышей было как гуталина. И по протоколу они различались. Были Logictech mouse, Microsoft mouse, IntelliMouse, MouseSystems...
Потом придумали PNP, опять расширение...

Вот тут что-то есть: http://www.mousetrak.com/rs232mousespec.htm
Вот поподробнее: http://www.epanorama.net/documents/pc/mouse.html
Там хорошая ссылка на "Programmer's Reference to Genius Mouse", насколько я помню, именно по этой доке я писал драйвер мышки для дос...

 

ЗЫ. Вот, ещё нашёл, про инициализацию: http://freedos-32.sourceforge.net/showdoc.php?page=sermouse

 

Wladimir_TS: СОМовской или пополамной, нужно строго СОМ, а в инете везде только PS/2
судя из исходного текса - СОМ.
Wladimir_TS: Для меня Дельфи совсем темный лес, я даже с трудом представляю что это такое
Я могу помочь Вам. Мне не сложно. От Вас потребуется только написать код преобразования принятых байт в координаты на Паскале.

 

AHTOXA: Там хорошая ссылка на "Programmer's Reference to Genius Mouse", насколько я помню, именно по этой доке я писал драйвер мышки для дос...

Эта ссылка увы молчит и шифруется. Не могли-бы вы скинуть файлик мне в адрес из профиля ?

За остальные ссылка - спасибо. Но там нет процедуры инициализации (или ее вообще нет ?), то тогда как винда узнает о наличии зверя на СОМ порту ?