M

MyClick

logo

🖱️ MyClick — Автонажатие клавиш и мыши для Linux

📌 Короткое описание

MyClick — программа для автоматического воспроизведения последовательности нажатий клавиш и кликов мыши. Записывает ваши действия один раз и повторяет их столько раз, сколько нужно.

🎯 Для чего нужна

Автоматизирует рутинные операции: заполнение форм, обработку файлов, клики по меню, тестирование приложений — всё, что требует повторения одних и тех же действий.

️ Как работает

1. Запись

Программа перехватывает ваши клики и нажатия клавиш (включая комбинации Ctrl/Shift/Alt) через библиотеку pynput и сохраняет их в список действий.

2. Хранение

Каждое действие сохраняется с:

  • Координатами мыши (для кликов)
  • Именем клавиши (для нажатий)
  • Модификаторами (Ctrl/Shift/Alt)
  • Индивидуальной задержкой в миллисекундах

3. Воспроизведение

Макрос выполняется через утилиту xdotool, которая эмулирует реальные действия на уровне X-сервера в отдельном потоке, не блокируя интерфейс.

4. Редактирование

Можно изменять каждое действие:

  • Менять клавиши и комбинации
  • Настраивать задержки
  • Перемещать действия по списку
  • Удалять или добавлять новые

🔥 Ключевые возможности

️ Управление

  • Ctrl+F — быстрая остановка записи (глобально)
  • Ctrl+P — запуск воспроизведения (глобально)
  • Двойной клик по действию — редактирование

Запись и воспроизведение

  • Запись кликов мыши с координатами
  • Запись нажатий клавиш и комбинаций
  • Индивидуальная задержка для каждого действия
  • Циклический повтор (настраиваемое количество раз)
  • Общая задержка между действиями

️ Редактирование

  • Изменение клавиш и модификаторов
  • Настройка задержки для каждого действия
  • Перемещение действий вверх/вниз
  • Drag & Drop для изменения порядка
  • Удаление действий с автовыбором следующего
  • Добавление действий вручную через диалог

💾 Сохранение и загрузка

  • Сохранение макросов в формате .myc (JSON)
  • Читаемый формат файлов
  • Возможность редактирования вручную
  • Загрузка ранее сохранённых макросов

🛠️ Техническая основа

Зависимости

  • Python 3.8+ — язык программирования
  • PyQt5 — графический интерфейс
  • pynput — перехват событий клавиатуры и мыши
  • xdotool — симуляция ввода на уровне X-сервера

Системные требования

  • ОС: Linux (MOS Linux, ROSA, Fedora, Ubuntu и др.)
  • Графическая среда: KDE Plasma 5, GNOME, XFCE и другие
  • Дисплейный сервер: X11 (обязательно)
  • Пакетный менеджер: dnf, apt или другой

️ Ограничения

  • Не работает в Wayland — из-за ограничений безопасности Wayland блокирует глобальный перехват ввода и симуляцию действий
  • Требуется установленный xdotool (sudo dnf install xdotool)
  • Требуется pynput (pip3 install python-xlib --user)

📦 Установка

# Установка системных зависимостей (для Fedora/MOS Linux)
sudo dnf install xdotool python3-pip python3-devel gcc

# Установка Python-библиотек
pip3 install pynput --user

# Запуск программы
python3 myclick.py

##💡 Примеры использования

Пример 1: Автоматическое заполнение формы

Нажмите "Начать запись" Введите текст в поля формы Нажмите Ctrl+F для остановки Сохраните макрос При необходимости заполните форму снова — просто воспроизведите макрос

Пример 2: Массовая обработка файлов

Запишите последовательность: открыть файл → сохранить как → закрыть Установите повторение на 100 раз Запустите воспроизведение

Пример 3: Тестирование приложения

Запишите сценарий тестирования Добавьте задержки между действиями Воспроизводите многократно для проверки стабильности

🔧 Настройки

Задержка по умолчанию — время между действиями при записи (мс) Повторять — количество повторений макроса Индивидуальная задержка — настраивается для каждого действия отдельно

📄 Формат файла макроса

Макросы сохраняются в JSON-формате:

[
  {
    "action_type": "KEY_PRESS",
    "key_name": "a",
    "modifiers": ["ctrl"],
    "delay": 200
  },
  {
    "action_type": "MOUSE_CLICK",
    "mouse_btn": "LEFT",
    "x": 1920,
    "y": 1080,
    "modifiers": [],
    "delay": 150
  }
]

📝 Лицензия

GNU GENERAL PUBLIC LICENSE Version 3

🤝 Поддержка

При возникновении проблем: Убедитесь, что используете X11, а не Wayland Проверьте наличие всех зависимостей Запустите программу из терминала для просмотра ошибок

MyClick — ваш помощник в автоматизации рутинных задач на Linux! 🚀