arduino-hid-emulator
— это Python-библиотека, предназначенная для управления HID-устройствами (клавиатурой и мышью), эмулированными на базе Arduino. Библиотека позволяет отправлять команды для управления движением мыши, нажатиями клавиш и кнопок мыши, а также выполнять калибровку для точного перемещения.
-
Управление мышью:
- Прямолинейное перемещение на заданное смещение.
- Плавное движение мыши с использованием кривой Безье.
- Нажатие, отпускание и клик кнопок мыши.
-
Управление клавиатурой:
- Нажатие и отпускание клавиш.
- Симуляция комбинаций клавиш (например,
Ctrl + C
).
-
Калибровка:
- Автоматическая калибровка коэффициентов перемещения мыши для обеспечения точного позиционирования.
-
Гибкость:
- Возможность настройки минимальной и максимальной длительности перемещения мыши.
- Лёгкое подключение и управление через последовательный порт.
Убедитесь, что Python 3.x установлен в вашей системе, а также установите библиотеку с помощью pip
:
pip install arduino-hid-emulator
- Arduino с поддержкой HID (например, Arduino Pro Micro или Leonardo).
- Загрузка программы для Arduino (
hid_emulator.ino
), которая находится в папкеarduino/hid_emulator
. - Библиотеки Python:
pyserial
pyautogui
-
Подключите Arduino: Загрузите скетч
hid_emulator.ino
на вашу плату Arduino, подключите её к компьютеру через USB. -
Создайте объект подключения:
from arduino_hid_emulator.arduino import ArduinoConnection from arduino_hid_emulator.mouse import MouseController arduino = ArduinoConnection() mouse = MouseController(arduino)
-
Пример использования:
# Перемещение мыши к указанной точке mouse.move_direct(100, 100) # Плавное перемещение мыши к указанной точке mouse.mouse_move(500, 500, duration_min=1000, duration_max=2000) # Клик левой кнопкой мыши mouse.click("left")
-
Закройте соединение:
arduino.close()
Для точного перемещения рекомендуется выполнить калибровку:
mouse.calibrate()
Калибровка выполняется автоматически, настраивая коэффициенты перемещения мыши.
arduino_hid_emulator/
— исходный код библиотеки.arduino/hid_emulator/
— скетч для загрузки в Arduino.examples/
— примеры использования.
Проект распространяется под лицензией GPL-3.0. Вы можете свободно использовать, модифицировать и распространять библиотеку в соответствии с её условиями.
Если вы хотите предложить улучшения, сообщить об ошибках или внести свой вклад, создайте pull request или откройте issue в репозитории проекта.
Примечание: Убедитесь, что скетч для Arduino загружен и устройство поддерживает HID.