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