Mouse.begin()
Mouse.begin() инициализирует эмуляцию USB-мыши: после вызова плата определяется компьютером как HID-устройство и готова управлять курсором через команды библиотеки Mouse.
Полная статья
Описание
Mouse.begin() активирует режим USB-мыши: после её вызова плата начинает представляться компьютеру как HID-устройство и может управлять курсором, отправлять нажатия кнопок и колёсико через функции библиотеки Mouse.
Как правило, Mouse.begin() вызывают один раз в setup() — до любых других команд мыши. Однако если эмуляция нужна только в определённом режиме работы устройства, её можно включать по событию: например, по нажатию физической кнопки. Когда эмуляция больше не нужна, её завершают вызовом Mouse.end().
Синтаксис
Mouse.begin()
Параметры
Нет
Возвращает
Ничего
Пример кода
#include <Mouse.h>
void setup() {
pinMode(2, INPUT);
}
void loop() {
//инициализировать библиотеку Mouse при нажатии кнопки
if (digitalRead(2) == HIGH) {
Mouse.begin();
}
}
Где применяется
- Создание кастомного манипулятора: джойстик, трекбол или тачпад на основе Arduino.
- Управление курсором с помощью акселерометра или гироскопа.
- Специализированные устройства ввода для людей с ограниченными возможностями.
- Автоматизация интерфейса на компьютере во время тестирования или демонстрации.
Практические замечания
- Всегда вызывайте
Mouse.begin()передMouse.move(),Mouse.click(),Mouse.press()и любыми другими командами библиотеки Mouse — без инициализации они работать не будут. - Библиотека Mouse доступна только на платах с нативной поддержкой USB HID (например, Leonardo, Micro, Due, MKR-серия). На платах вроде Uno или Mega она недоступна.
- Если курсор начал двигаться неожиданно или вышел из-под контроля, просто отключите плату от USB. После этого загрузите исправленный скетч, в котором команды Mouse выполняются только при выполнении явного условия — например, при удержании кнопки.
- Для безопасности рекомендуется включать режим мыши только при наличии физического переключателя или кнопки: это исключает случайное управление курсором при запуске устройства.
- Помните, что активная эмуляция мыши может мешать загрузке нового скетча через IDE, если плата постоянно перехватывает ввод. Предусмотрите в коде «безопасный» режим без Mouse-команд.