Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Использование Тачпада от ноутбука

Вс май 23, 2021 17:57:50

Всем привет! Имеется несколько тачпадов от ноутбуков, хотелось бы их использовать в своих проектах. Все тачпады используют контроллеры Synaptics: T1006, T1007, SS2202A, и подобные. Интерфейс подключения - PS/2. В сети нашел несколько библиотек и примеров подключения. Но все дают только один и тот же функционал: передается направление перемещения мыши по "x" и "y" с определенным ускорением. Как это работает можно посмотреть в этом видео: https://www.youtube.com/watch?v=drMe4CBBxds

То есть не зависимо от положения мыши, не зависимо от положения пальца на тачпаде, передается только направление движения пальца-мыши, и с какой скоростью идет это движение.
В то же время тачпады имеют разметку функциональных кнопок и скролов. На фото ниже видно как тачпад от Тошибы имеет такую разметку.
Изображение Изображение
Это подразумевает что контроллеры Synaptics имеют возможность отслеживания не только направление и скорость перемещения, но и точное место прикосновения пальца к тачпаду. То есть, можно на тачпад нанести разметку собственных кнопок и сделать сенсорную клавиатуру... Но ни одна библиотека или пример не дают такой возможности. Только направление и скорость перемещения. Вот ссылка на архив с несколькими библиотеками:
https://drive.google.com/file/d/1SO5TpS ... sp=sharing

Логическим анализатором я снял дамп работы с тачпадом во время "покоя", то есть пальцем его не трогать. Отчетливо видно что передается 5 пакетов, но во всех примерах считывание идет только 3 раза. Для тестов а подключал большой тачпад (правый верхний), он так же имеет кнопку. Кнопка подключена к контроллеру но ее нажатие никак не передается....
Изображение

Пишу в Ардуино IDE, Скетч использовал этот:

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

Но не работает! Если в основном цикле программы чтение данных идет более 3-х раз то Ардуино зависает. Если убрать строчку

mz = mouse_read();

То код работает, но считывает только перемещения.
Может вы можете что-то посоветовать? Может есть готовое решение или библиотеки, которые реализуют получение не только перемещения но и места прикосновения?

Re: Использование Тачпада от ноутбука

Вс май 23, 2021 22:54:58

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

Re: Использование Тачпада от ноутбука

Вс май 23, 2021 23:09:02

Думал об этом, но это как костыли. Если не получится по-правильному, то придется так...
Нашел даташит с описанием работы контроллера. Там есть раздел "Absolute mode" - режим, в котором тачпад возвращает координаты нажатия (страница 22).
http://blog.amigas.ru/wp-content/upload ... d_RevB.pdf
Осталось разобраться как прописать необходимый режим работы. Я пока что в этом не разобрался.
Ответить