🖱 ️⌨ ️ 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!