Эти базовые библиотеки позволяют платам Arduino Leonardo, Micro или Due при подключении к компьютеру определяться как обычная мышь и/или клавиатура.

Предосторожности при использовании библиотек Mouse и Keyboard: при постоянной работе библиотек Mouse или Keyborad могут возникнуть сложности во время программирования вашего устройства.

Функции, подобные Mouse.move() или Keyboard.print() могут перемещать курсор и сигнализировать о нажатии клавиш подключенному компьютеру, поэтому должны вызываться только тогда, когда вы готовы контролировать их работу. Рекомендуется использовать какую-нибудь систему управления, позволяющую выключать подобную функциональность, например, в зависимости от положения переключателя или сигнала на выводе, состояние которого вы можете контролировать.

Перед использованием функций библиотек Mouse или Keyboard непосредственно с компьютером, лучше всего протестировать их возвращаемые значения с помощью функции Serial.print(). Так вы сможете удостовериться в правильности отправляемых значений. Подробнее см. примеры работы с библиотеками Mouse и Keyboard ниже.

Мышь (библиотека Mouse)

Функции для работы с мышью позволяют Leonardo, Micro или Due контролировать движение курсора на подключенном компьютере. Обновление позиции курсора всегда осущетсвляется относительно его предыдущего положения.

  • Mouse.begin()
  • Mouse.click()
  • Mouse.end()
  • Mouse.move()
  • Mouse.press()
  • Mouse.release()
  • Mouse.isPressed()

Клавиатура (библиотека Keyboard)

Функции для работы с клавиатурой позволяют Leonardo, Micro или Due отправлять подключенному компьютеру сигналы о нажатии клавиш.

Примечание. Библиотека Keyboard позволяет отправлять не все ASCII-символы, в частности она не позволяет отправлять непечатаемые символы.

Библиотека также поддерживает использование клавиш-модификаторов, которые при одновременном нажатии с другой клавишей изменяют ее поведение. Дополнительную информацию о поддерживаемых клавишах и их применении см. здесь.

  • Keyboard.begin()
  • Keyboard.end()
  • Keyboard.press()
  • Keyboard.print()
  • Keyboard.println()
  • Keyboard.release()
  • Keyboard.releaseAll()
  • Keyboard.write()

Примеры

  • KeybaordAndMouseControl: Демонстрация команд Mouse и Keyboard в одной программе.
  • KeyboardMessage: Отправка текстовой строки при нажатии кнопки.
  • KeyboardLogout: Завершение сеанса текущего пользователя командой сочетания клавиш
  • KeyboardSerial: Считывание байта из последовательного порта и обратная отправка сигнала нажатия клавиши.
  • KeyboardReprogram: Открытие нового окна в Arduino IDE и перепрограммирование платы простой программой мигания светодиодом
  • ButtonMouseControl: Управление движением курсора 5 кнопками.
  • JoystickMouseControl: Управление движением курсора компьютера с помощью джойстика при нажатии кнопки.