Как заставить мышку двигаться самой

от admin

Проект MouseMover — мышь, живущая своей жизнью

Автор статьи, перевод которой мы сегодня публикуем, рассказывает о проекте MouseMover. Это — USB-устройство, которое имитирует присутствие пользователя за компьютером, периодически перемещая курсор мыши на небольшие расстояния, что позволяет избежать блокировки экрана компьютера или перехода компьютера в спящий режим.

Аппаратные и программные компоненты проекта

В этом проекте использована плата SparkFun Pro Micro — 5V/16MHz. Вместо неё можно воспользоваться Arduino Leonardo. Обратите внимание на то, что тут нужна лишь одна из вышеупомянутых плат.

Для работы над программной частью проекта используется Arduino IDE.

Обзор проекта

Я проработал в разных компаниях Америки почти сорок лет. Я видел, как изменился за это время подход к корпоративной компьютерной безопасности. Сначала правил безопасности, можно сказать, вовсе не было. А теперь же эти правила стали прямо-таки безумными. Сегодня во многих компаниях компьютеры настраивают так, чтобы они, если уходят в режим сна, запрашивали бы при пробуждении пароль для входа в систему. Иногда компьютеры «засыпают» после 5 минут бездействия пользователя. А на моей последней работе перешли на двухфакторную схему аутентификации, когда для входа в систему используется и пароль, и аппаратный токен, генерирующий набор цифр. Для того чтобы войти в систему, нужно ввести и обычный пароль, и код с токена. Хотя подобные меры безопасности — это, в современных условиях, очень хорошо, а порой и необходимо, они могут сильно досаждать людям, которые хотят сделать что-то полезное (а не заниматься постоянным вводом паролей). Я и сосчитать не могу — сколько раз мне приходилось вводить пароль и код, когда я отвлекался от работы на разговор с коллегой, а потом возвращался к делам и обнаруживал, что мой компьютер заблокировал экран. Хорошо было бы иметь некое устройство, которое, работая само по себе, периодически немного двигает курсор мыши, не давая компьютеру заблокировать экран или «заснуть».

Поискав подобные устройства в интернете, я узнал, что решить эту задачу уже пытались. Делалось это самыми разными способами — от механических, когда нечто само двигает настоящую мышь, до программных, когда на компьютере, в виде фоновой задачи, работает утилита, воздействующая на указатель мыши. «Механический» подход кажется мне слишком примитивным, а программный сработает далеко не всегда, так как системы безопасности, используемые в компаниях, могут распознать эту дешёвую уловку. Весьма интересно было бы сделать недорогое устройство, неотличимое, с точки зрения компьютера, от настоящей мыши, которая иногда перемещается. В результате и появился проект MouseMover, о котором я хочу рассказать.

Дисклеймер

Описываемая здесь прошивка и основанное на ней устройство могут быть использованы для обхода корпоративных требований, касающихся информационных технологий, а так же — имеющихся в организациях механизмов обеспечения безопасности. Подобное может произойти из-за того, что компьютер, к которому подключено устройство, не сможет, в отсутствие активности пользователя, заблокировать экран. Это может быть запрещено на уровне организации или на государственном уровне и может привести к наказанию виновного в подобном деянии. Тяжесть наказания зависит от ситуации. Если вы не уверены в том, что можете безнаказанно пользоваться подобным устройством — уточните это в IT-отделе своей компании. Пользуйтесь устройством на свой страх и риск.

Подробности о проекте

В рамках этого проекта реализовано устройство MouseMover, которое способно не допустить блокировку экрана компьютера или переход системы в спящий режим. В нём используется недорогой (стоимостью в районе $5-$17) модуль Pro Micro (Sparkfun DEV-12640 или эквивалентный клон) с микроконтроллером ATmega32U4, а так же — USB-кабель. Программное обеспечение проекта написано с использованием Arduino IDE. Это ПО может использоваться и на других платах Arduino, наподобие Arduino Leonardo или Arduino Micro, но плата Pro Micro отличается весьма компактными размерами, питание на неё подаётся по USB, она недорого стоит. Всё это делает её идеальным выбором для решения нашей задачи.

Наш контроллер перемещает курсор мыши на небольшое расстояние, выполняя это через каждую минуту или через другой небольшой временной интервал. Это имитирует работу пользователя с компьютером, не давая компьютеру, к которому подключено устройство, блокировать экран или уходить в режим сна. В отличие от исключительно программных решений, которые могут не сработать во многих IT-инфраструктурах, это решение выглядит, с точки зрения компьютера, как настоящая (вторая) мышь, подключённая к компьютеру. При этом пользователь продолжает работать с обычной мышью.

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

В коде, обеспечивающем работу устройства, имеется довольно много параметров, которые можно настраивать. Все параметры можно модифицировать, отправляя команды на последовательный порт контроллера, который добавляется на компьютер после подключения к нему устройства. А именно, контроллер виден в Windows как мышь (HID) и виртуальный последовательный (COM) порт. После того, как контроллер будет запрограммирован, параметрам будут назначены значения, применяемые по умолчанию. Но их можно изменить, а после этого — записать в EEPROM. В результате параметры, заданные пользователем, будут использоваться каждый раз, когда контроллер подключается к компьютеру.

Прошивка рассчитана на плату Pro Micro (с микроконтроллером ATmega32U4), которая соединена с компьютером через USB-порт. В результате оказывается, что аппаратная часть этого проекта представлена подходящей платой и USB-кабелем, посредством которого плата соединяется с компьютером.

Аппаратное обеспечение и система ввода-вывода

Хотя аппаратная часть этого проекта представлена лишь платой Pro Micro и USB-кабелем, на плате есть пины ввода-вывода, которые можно соединить перемычками для изменения поведения устройства. Кроме того, если нужно, к плате можно подключить светодиод, который будет сигнализировать о том, что устройство работает. Хотя это и необязательно, практика показала, что наличие светодиода — это удобно, так как позволяет точно знать о том, работает устройство или нет. Если говорить о перемычках, то они сделаны, в основном, ради того, чтобы устройством было бы удобнее управлять, или для тех случаев, когда создателю своего варианта MouseMover хотелось бы иметь возможность воздействия на него с помощью перемычек, а не посредством команд, отправляемых ему через последовательный порт.

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

Схема платы

Перемычка, называемая JPE (это имя, как и имена других перемычек, определено в коде), может использоваться для выключения устройства. Подключение соответствующего пина к GND останавливает работу мыши (как если бы мышь отключили от компьютера). А если перемычку убрать — работа устройства продолжится. Эта перемычка подключается к пину 6 (PD7) Arduino.

Вторая перемычка, JP2, отключает программный таймер и заставляет мышь постоянно перемещаться, не обращая внимание на то, на какой временной интервал настроена программа. Если эту перемычку отключить — восстанавливается обычный режим работы. Эта перемычка подключается к пину 2 (PD1) Arduino.

Третья перемычка — PD3 — заставляет указатель мыши перемещаться каждые 5 секунд, при этом временной интервал, заданный в настройках, игнорируется. Если её убрать — система переходит в обычный режим работы. Перемычка подключается к пину 5 (PC6) Arduino.

Светодиод и резистор подключают к пину A3 Pro Micro (цифровой пин 21 (PF4) Arduino) и к VCC. Включение светодиода указывает на работу MouseMover. Хотя без светодиода и можно обойтись, если он есть, он позволяет точно знать о том, работает устройство или нет. Тут можно использовать любой светодиод, который есть под рукой. Я пользовался резистором на 330 Ом (0,25 Вт), но тут, что зависит от светодиода, подойдёт любой резистор с сопротивлением от 100 Ом до 1 КОм. Существуют и светодиоды со встроенным резистором, наподобие Lumex SSL-LX3044GD-5V (Digikey 67-1062-ND), которые рассчитаны на подключение прямо к 5В-выводу модуля. Если воспользоваться именно таким светодиодом — задача его подключения к плате упростится. Достаточно будет припаять выводы светодиода к соответствующим пинам. Какой бы светодиод вы ни использовали — обращайте внимание на его полярность. А именно — катод подключается к пину A3, а анод, через резистор, к VCC.

Компиляция прошивки и загрузка кода

Создайте папку MouseMover в папке Arduino и поместите в неё файл MouseMover.ino из репозитория проекта. Сделайте двойной щелчок по этому файлу для запуска Arduino IDE и выполните следующие настройки в разделе Tools :

  • Board : Arduino Leonardo (эту настройку можно использовать и для Pro Micro).
  • Port : COMxx (номер порта, назначенный устройству операционной системой).
  • Programmer : ArduinoISP.

Подробности о подключении Pro Micro к компьютеру можно найти в PDF-файле с документацией в репозитории проекта. Там же есть сведения об изменении номера COM-порта и решении проблем, которые могут возникнуть при первом подключении Pro Micro к компьютеру.

Работа над проектом велась в Arduino IDE 1.8.5. Всё должно хорошо работать и в более новых версиях IDE (включая самую свежую — 1.8.15).

Команды

Контроллер принимает команды по последовательному порту. В ответ на эти команды он способен выполнять различные действия и возвращать сведения о текущем состоянии настроек. Для отправки команд нужно открыть порт на любой скорости (кроме 1200 бод) (формат 8-N-1) в программе наподобие Hyperterminal или Tera Term, или в терминале Arduino IDE (или в вашем любимом терминале). Потом можно создавать batch-файлы для автоматизации отправки команд на устройство через COM-порт.

После того, как вы убедитесь в том, что соединение с MouseMover успешно установлено (можно отправить ? , нажать Enter , после чего должны появиться справочные сведения), можно отправлять устройству команды и, если нужно, настраивать его параметры.

Ниже приведена таблица команд, поддерживаемых MouseMover. Команды для чтения значений состоят из одной буквы, а команды для записи значений — из одной буквы, за которой следует число. За командами идёт <CR> или <CR><LF> . Например, команда может выглядеть как X<CR> или как X20<CR> (ещё она может выглядеть как X=20<CR> ). <CR> — это то же самое, что нажатие на клавишу Enter .

Чтение данных Запись данных Описание
V Возврат сведений о версии / копирайте.
*IDN? Возврат сведений о версии / копирайте (SCPI-совместимый формат).
X X4 Расстояние перемещения указателя по оси X (0..100) (по умолчанию — 4).
Y Y0 Расстояние перемещения указателя по оси Y (0..100) (по умолчанию — 0).
T T60 Частота перемещения указателя в секундах (2..3600) (по умолчанию — 60 секунд, то есть — 1 минута).
R R540 Время, в минутах, в течение которого должен работать MouseMover (-1..64800) (максимум — 45 дней; 0 — устройство не работает, -1 — работает без ограничений по времени; по умолчанию — 540 минут, то есть — 9 часов).
Z Возврат значений всех переменных в списке, элементы которого разделены запятыми. Это — следующие значения: X, Y, <установленное T>, <установленное R>, <текущее T>, <текущее R>, HH:MM:SS (последнее значение указывает на общее время работы контроллера после его подключения к компьютеру).
E E0 Сброс переменных в значения, применяемые по умолчанию (эти значения описаны выше)
E1 Прочитать текущие значения из EEPROM.
E2 Записать текущие значения в EEPROM.
? Вернуть справочные сведения по командам
H Вернуть справочные сведения по командам.
Читать:
В течении какого количества дней

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

Если вы хотите поменять значения переменных X , Y , T , R и сохранить их так, чтобы они использовались бы при следующем включении устройства как значения, применяемые по умолчанию, просто запишите в них новые значения, а после этого вызовите команду E2<CR> . Для возврата их к исходным значениям, применяемым по умолчанию, вызовите команду E0<CR> , а потом — команду E2<CR> .

Интеграция с системой

После того, как в модуль Pro Micro записана прошивка MouseMover, его можно использовать в системе с разным уровнем интеграции в неё.

Самый простой сценарий использования устройства заключается в том, что его просто подключают к USB-порту компьютера на то время, когда нужно, чтобы оно работало. А когда нужды в нём нет — его отключают. После каждого подключения к компьютеру MouseMover будет использовать параметры, записанные в EEPROM, в состав которых входит и параметр, задающий продолжительность работы устройства. После того, как MouseMover проработает это время, устройство отключится и компьютер сможет перейти в режим сна или блокировки. Если же устройство просто отключить от компьютера, а потом подключить снова — отсчёт времени начнётся с нуля. Это позволяет пользователю задать время работы устройства, а потом, после каждого подключения к компьютеру, например, выполняемого каждое утро, устройство проработает именно это время.

Пакетные файлы Windows и автоматизация работы с MouseMover

Вместо того, чтобы постоянно подключать и отключать MouseMover, можно создать batch-файл (пакетный файл) в Windows и ярлыки к нему, позволяющие вызывать его с параметрами, и, например, включать и выключать устройство. Ещё можно создать в Windows задачу, вызывающую этот файл в заданное время или при входе в систему. Следующий пример рассчитан на Windows 7 и Windows 10, но тот же функционал можно реализовать и для macOS, и для Linux или Unix.

Можно создать пакетный файл, отправляющий на MouseMover команду R . Вот как может выглядеть этот файл:

Обратите внимание на то, что в этом примере batch-файла используется порт COM4 , а у вас это может быть порт с другим номером, поэтому вам может понадобиться отредактировать этот файл для использования его в своей системе.

Этот файл можно назвать MouseMover.bat .

Его вызывают с параметром. Например:

  • MouseMover 540 (время работы устройства будет установлено в 540 минут).
  • MouseMover 0 (устройство будет выключено).

Для дальнейшей автоматизации работы с Mouse Mover можно воспользоваться задачами Windows. Например, задача может вызывать batch-файл для включения устройства в определённое время или при входе в систему. Для создания задач можно воспользоваться либо графическим интерфейсом планировщика заданий, либо — соответствующими инструментами командной строки. Подробности об этом смотрите в PDF-файле с документацией в репозитории проекта.

В моём случае лучше всего показал себя автоматический запуск устройства с помощью задачи, выполняющейся при входе в систему (а не применение задачи, запускающей устройство в определённое время). При использовании этого метода компьютер будет постоянно работать, не блокируя экран, с того момента, как пользователь войдёт в систему. А после того, как это время истечёт, MouseMover отключится и компьютер, если за ним нет пользователя, может «уснуть» или заблокировать экран. Использование batch-файлов и задач в Windows позволяет вообще не отключать MouseMover от компьютера и попросту забыть об этом устройстве. При этом входить в систему придётся не после каждого небольшого перерыва, а лишь раз в день.

Итоги

Я надеюсь, что MouseMover поможет всем желающим избавиться от одного из неудобств, вызванных корпоративными требованиями к информационной безопасности. Главное — прежде чем пользоваться подобным устройством на работе — почитайте дисклеймер, который можете найти в начале статьи. Конечно, если в этом есть смысл, вы можете пользоваться MouseMover и дома.

Как заставить мышку двигаться самой

Move Mouse — имитируем активность пользователя

Tech8 USA

Liberty Mouse Mover

Чтобы начальник не «спалил»: топ-5 устройств для имитации работы за компьютером

Чтобы начальник не «спалил»: топ-5 устройств для имитации работы за компьютером

Mouse Jiggler для Windows

Mouse Jiggler скриншот № 1

Отзывы о программе Mouse Jiggler

User про Mouse Jiggler 2.0.25 [27-01-2022]

Сам ты троян. Портативную версию скачал.
С сайта разработчика:
«Let me put it to you this way. Standard Mouse Jiggler, at the time of writing, is a single executable a mite under 1 MB in size. Portable Mouse Jiggler is a folder of executables summing to approximately 83 MB, for one of the most trivial applications imaginable, after all the assorted trimming-and-compressing magic is done. It’s a bloated behemoth. If there is any possibility that you will ever run any other app that uses the .NET 5 runtime, you are much better off installing that and the regular version.»
3 | | Ответить

RadGoodNow_YT про Mouse Jiggler 1.8.42.0 [07-01-2021]

Чтобы попасть в меню настроек нужно перейти по пути «Пуск/Панель управления/Оборудование и звук/Мышь» (для Windows 7) или «Пуск/Параметры/Устройства/Мышь» (для Windows 10).

Перед нами появляется меню настройки и его первая вкладка — «Кнопки мыши».

Рассмотрим вторую вкладку свойств мыши «Колесико».

Чтобы настроить курсор мыши переходим во вкладку «Параметры указателя».

  • «Отображать след указателя мыши» — за указателем будет тянуться шлейф, напоминающий подтормаживание системы. Такое решение облегчает работу за компьютером людей с нарушением зрения.
  • «Скрывать указатель во время ввода с клавиатуры» — при наборе текста с клавиатуры курсор будет исчезать, а затем появляться автоматически. Параметр включен по умолчанию.
  • «Обозначить расположение указателя при нажатииCtrl» облегчает поиск стрелочки на экране. После нажатия на клавишу, вокруг курсора появится анимированное изображение окружности.

Для смены и изменения иконки заходим во вкладку «Указатели».

В меню свойств мыши мы не затронули последнюю вкладку «Оборудование», так как она отвечает за проверку работоспособности устройства и обновление драйвера, что редко используется на практике. Однако в ней есть одна полезная опция, позволяющая по движению мышки выводить ПК из ждущего режима. Находится она по пути «Оборудование/Свойства/Управление электропитанием».

Для облегчения работы людей с ограниченными физическими возможностями система предлагает особый план настроек манипулятора. Он расположен в меню «Пуск\Панель управления/Специальные возможности/Изменение параметров мыши».

X-Mouse Button Control

  1. Переходим на сайт https://www.highrez.co.uk и выбираем ссылку «Latestversion». Скачивание exe-файла начнется автоматически.
  1. Устанавливаем и запускаем программу. Запущенная X-Mouse Button Control располагается в трее панели задач.
  • простота в установке;
  • наличие русскоязычной оболочки;
  • несколько слоев настроек в одном профиле;
  • лаконичный интерфейс;
  • поддержка всех известных (и даже неизвестных) моделей устройств;
  • бесплатная лицензия.
  • нагромождение различных параметров без пояснений к ним;
  • нет опций, отвечающих за подсветку кнопок и корпуса мыши.

Программное обеспечение от производителя (Razer Synapse 2.0)

  1. Выбрав нужный девайс в нижней части окна, рассмотрим первое меню по порядку – «Настройка». Тут игрок может создать свой пресет кнопок и их назначений, либо выбрать заранее готовый из списка.
  2. Следующая вкладка эффективность позволяет настроить оптический сенсор устройства, его чувствительность (DPI), скорость перемещения курсора на экране. Еще тут присутствует пункт выбора частоты опроса порта, к которому подключена мышь, для ее более плавной работы.
  3. Во вкладке «Подсветка» пользователь может настроить эффекты подсветки корпуса и кнопок мышки (если таковые предусмотрены моделью), а также выбрать степень яркости свечения. Для создания единого цветового решения для всех подключенных игровых устройств предусмотрена кнопка «Применять к другим устройствам, поддерживающимChroma».
  1. Четвертая вкладка в окне — «Калибровка». Под ней подразумевается определение границ коврика мыши для увеличения точности позиционирования курсора на экране.

Калибровку в автоматическом режиме можно произвести при наличии фирменного коврика от Razer, нужно лишь указать его название.

Ручная калибровка применяется во всех остальных случаях. Она предельно проста и занимает всего несколько секунд.

  1. В разделе «Макросы» игрок может привязать последовательность нажатий клавиш клавиатуры к одной или нескольким кнопкам мышки. Все созданные макросы также сохраняются в облачном сервисе для их последующего использования.
  2. Зайдя во вкладку «ПриложенияCHROMA», пользователю станет доступна настройка динамического свечения мышки. Активные действия в игре будут менять интенсивность, мерцание, цвет свечения в реальном времени.

Move Mouse — имитируем активность пользователя

Move Mouse служит для имитации присутствия пользователя за компьютером за счёт движения курсора мыши и нажатия её кнопок. Кроме того ею можно воспользоваться для запуска каких-то программ, выполнения команд или скриптов PowerShell. Активироваться утилита может вручную или автоматически, при отсутствии активности пользователя и по расписанию, тоже самое касается и прекращения заданных операций.

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

Кроме автоостановки и автозапуска, о которых мы уже упоминали, в настройках поведения Move Mouse доступна опция автоматического изменения громкости звука, скрытия окна программы с рабочего стола, кнопки и иконки с панели задач, миниатюры из диалогового окна ALt+Tab и перезаписи заголовка. Последние опции помогут скрыть следы ей присутствия и использования на компьютере, если кому-то это потребуется.

Настроить расписание активации действий можно как при помощи простейшего планировщика, позволяющего выбрать день недели и время запуска или остановки программы, так и более продвинутого, поддерживающего ввод выражений Cron. По расписанию Move Mouse может и приостанавливать свою деятельность, длительность «блэкаута» также изменяется.

Распространяется программа бесплатно, язык интерфейса в текущей версии доступен только один — английский. Воспользоваться Move Mouse можно на компьютерах и планшетах с Windows 10. Судя по всему, после публикации программы в Магазине Windows, от распространения через другие источники разработчик отказался.

Хитропопая мышка для работы на расстоянии

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

Employees are using devices called 'mouse movers,' like the homemade one pictured here, to escape the watchful eyes of their bosses while working from home

In a clip that has garnered more than 3 million views, TikTok user Leah explained how using the device has allowed her to approach her work in a more relaxing manner

С тех пор ролик собрал более 3 миллионов просмотров.

Интернет-магазины также изобилуют "plug-and-play" версиями движителей мыши: устройствами, которые физически поворачивают курсор мыши снизу, или USB-накопителями, содержащими программное обеспечение, имитирующее движения мыши. При подключении к компьютеру USB-накопитель будет восприниматься как активная мышь.

In March 2020, searches for the phrases 'mouse mover' and 'mouse jiggler' both skyrocketed, and are still markedly higher than they have ever been in the past, data from mouse-mover company Tech8USA shows

В марте 2020 года поисковые запросы на фразы "mouse mover" и "mouse jiggler" взлетели до небес и до сих пор значительно выше, чем когда-либо в прошлом, свидетельствуют данные компании Tech8USA, производящей мышиные движки.

Похожие статьи