Mouse.h проблема вернуть курсор в изначальную позицию.
- Войдите на сайт для отправки комментариев
Пнд, 15/10/2018 - 11:18
Здравствуйте, делаю хреновину, которая будет кидать курсор в заданном пределе от изначального положения, затем возвращать в центр, где была изначально.. но проблема в том, что через некоторое время, улетает начальная точка и "квадратная рандомная" область начинает гулять по экрану.
текущий код:
#include <Mouse.h> void setup(){ Mouse.begin(); delay(15000); } void loop() { int gx = random(100) - 50; //предел по Х, оно же и рандом int gy = random(100) - 50; //предел по У, оно же и рандом Mouse.move(gx, gy); delay(10); //замедление данного действа Mouse.move(-gx, -gy); delay(10); //замедление данного действа }
Должно работать так:
при этом если долго подержать, должно "залить" в чёрный цвет квадрат... а по факту получается вот что:
тут два образца.
Помогите пожалуйста в написании кода
Если Вы думаете, что существует только одна единственная и неповторимая бибилиотека mouse, то Вы ошибаетесь - их 100500. Пока Вы не скажете, какой именно Вы пользуетесь - разговор ни о чём. Например, в той, что у меня есть функции move передуются обсолютные координаты, а значит у Вас написано всё совсем не так, как сказано словами. Так что давайте ссылку на библиотеку.
И кстати, даже если предположить, что move передаются не абсолютные координаты, а приращения - она у Вас должна заливать круг, но никак не квадрат.
Если Вы думаете, что существует только одна единственная и неповторимая бибилиотека mouse, то Вы ошибаетесь - их 100500. Пока Вы не скажете, какой именно Вы пользуетесь - разговор ни о чём. Например, в той, что у меня есть функции move передуются обсолютные координаты, а значит у Вас написано всё совсем не так, как сказано словами. Так что давайте ссылку на библиотеку.
Вот реально, не знал. сколько вчера в поиск долбился всё речь об одной, встроенной. делаю на встроенной, полгода назад делал, не помню уже на какой версии IDE но работало, а сейчас ни в какую. делать перерывы в программировании, такое себе удовольствие...
Ну, если на встроенной, то всё, как я сказал.
1. Вы передаёте абсолютные координаты, потому - с какого перепугу ей возвращаться в исходную точку? Вы просто лупите куда попало и все дела. Ну перевели Вы её в точку gx, gy, а потом в точку -gx, -gy и что? Начальная-то точка тут причём? Вы её даже не запоминаете нигде.
2. даже если бы это были приращения - она бы закрашивала круг, а не квадрат.
Ну, если на встроенной, то всё, как я сказал.
а есть библиотеки с "обратной связью" ? если есть, то это вообще шикарно. только вот чтото подсказывает, без драйвера не обойтись
А просто возвращаться каждый раз в 0, а не куда попало - никак?
А просто возвращаться каждый раз в 0, а не куда попало - никак?
так сложилось, что после перемещения курсора это и есть 0, от которого будет отталкиваться следующее перемещение. если убрать инвертированное перемещение Mouse.move(-gx, -gy); то курсор будет летать по всему экрану. а так, только в определенной области, но центр этой области съезжает по не ведомым причинам после обратного (инвертированного) перемещения в "изначальную" позицию, в кавычках потому, что изначальной для ардуины будет считаться любая позиция курсора, так как обратной связи нет.
в общем такое чувство, что идет какой то "срыв" работы и координата слегка уплывает. несколько раз делает нормально, потом раз! и уплыло в случайную сторону, буквально на несколько едениц. скорость уменьшал до 100мс, всёравно уплывает
п.с. повторюсь, работает по принципу "шаг вперед, шаг назад" только длинна "шага" случайная
Может мышь дергаете, она и сносит координату, раз та относительная.
глянул что за цифры в значениях, искажений нет, а проскоки курсора фактически есть, дело либо в IDE, либо в железе, но пробую я на ардуино дуе и на леонардо. одинакого работает.
А если увеличить задержки между вызовами - будут изменения?
А если увеличить задержки между вызовами - будут изменения?
походу нашел в чем проблема... потеря данных по усб, на домашнем компе проверил, всё работает как часы! подключал к передней панели. А на работе подключал через усб удлинитель, оно как бы всё работает, но проскакивают такие подлые, короткие лаги.
Всем привет! Использую скачанную библиотеку mouse.h , необходимо задать координату в которую придет курсор мыши и нажмет там на кномку. Использую команду mouse.move() и курсор просто движется, а можно как-то задать именно координату в которую он установится ?
Всем доброго времени суток!
Подниму тему! Все тоже самое, как у автора в 1 посту.
Проблема актуальна. То что помогло автору не помогает! Может у кого есть идеи?
Контроллер Arduino DUE. Может быть в этом проблема?
Всем привет! Возвращаюсь к предыдущему посту, может кому пригодиться.
Задача стояла смещать курсор на заданное значение при нажатии кнопки и запоминать суммарное смещение. При нажатии второй кнопки необходимо было возвращать курсор в исходное положение. Но все это не работает в виду того, что Windows добавляете ускорение курсору... поэтому возврат в исходное положение не возможен. Всем спасибо!
alchi, ну а зачем тут ардуино? Пишите свою прогу под винду, вам будут доступны и движение мышки попиксельно и абсолютные координаты. Даже если не владеете языком программирования, то можно попробовать заколхозить какой нибудь скриптик на nncron например.