Эмулятор тачскрина или мыши
- Войдите на сайт для отправки комментариев
Здравствуйте!
Есть у меня Raspberry PI3 и на ней в полноэкранном режиме крутится приложение с кучей кнопочек в GUI. Все работает, но кнопки надо нажимать мышкой, а это лишняя железка на столе. От мышки решено было избавиться для чего был прикурчен тачскрин. Все хорошо, но для 7 дюймового тача кнопки мелковаты, а тач большего размера нежелателен по разным причинам. Появилась идея сделать некое устройство с физическими кнопками, которое при нажатии на соответствующую физическую кнопку выдаст в USB чего-нибудь, что переместит курсор в точку соответствующей кнопки в GUI и нажмет ее. У меня есть ARDUINO Leonardo. Попробовал изобразить что-нибудь с использованием библиотеки Mouse. Столкнулся с такой непоняткой: перемещение задается относительно текущего положения. Но как узнать его? Т.е. я могу поездить курсором по экрану, но не зная текущего положения в GUI-шную кнопку я не попаду. Нашел патч HID.cpp для работы библиотеки Mouse с абсолютными координатами, но на Leonardo он так и не заработал. Вроде в тачскрине все это уже есть. У него по идее на выходе абсолютные координаты и информация о нажатии, но как это реализовать в Leonardo?
Это из области прыгающих танков. Танк подпрыгивает и стреляет дальше.
Ну так, делать в 2 подхода.
1. Загоняем курсор в угол(левый верхний, правый нижний), по желанию.
2. Пляшем уже от угла.
Спасибо! Но как убедиться, что курсор в углу? Просто сдвинуть его влево вверх на количество позиций больше разрешения экрана?
ну да, дальше просто ОС не дасть загнать.
А что, это самое крутящееся приложение доработать совсем возможности нет? Ну ведь уж сильно извратная конструкция получается. Прикольнее разве что роборука с тонким пальцем, нажимающим кнопки на экране!
xautomation вам должен помочь.
Спасибо всем, все получается!
Кто может подсказать, как эмулировать нажатия на тачскрине (резистивный 4 pin) с помощью arduino? Т.е. условно полагаем, что тачскрина самого нет, вместо него подключаем ардуино, нужно эмулировать нажатие в определенных точках экрана (в двух).
Я так понимаю, что сначала нужно тач подключить к ардуино, нажать в нужном месте и считать состояние системы (а именно сопротивление). А потом это состояние уже "эмулировать". Кое-какие примеры нашел, сумел считать координаты с живого тача, но как теперь эти данные передать дальше? Вот тут как-то с примерами туго...
На устройстве нужно подобрать правильные время и дату для запуска, руками нереально перебирать...
s0108227, думаю, для более или менее полноценной эмуляции Вам нужны цифровые потенциометры.
За идею спасибо. Пока до конца не понял схему включения. Использовал два цифровых потенциометра, изменяя сопротивления можно добиться имитации нажатия и получения координат. Но я так понял, что нужно все же 4 резистора для имитации нажатия.
Чтобы определиться с аппаратной частью, нужно точно представлять алгоритм работы: что именно в нем используется. Сколько чисел читается с аналоговых входов, столько потенциометров и нужно.