Главная chevron_right Функции chevron_right USB chevron_right Keyboard

Keyboard

Библиотека Keyboard превращает совместимую плату Arduino в USB-клавиатуру — она имитирует нажатия клавиш, отправляя символы, строки и спецклавиши в активное окно.

Полная статья

Описание

Библиотека Keyboard реализует поддержку USB HID-клавиатуры на платах Arduino с нативным USB. С точки зрения операционной системы такая плата неотличима от обычной клавиатуры: она может отправлять символы, строки, Enter, горячие клавиши и специальные клавиши — Ctrl, Shift, Esc, F1 и другие.

Главное, что нужно понять с самого начала: библиотека не «вставляет текст» в конкретное приложение. Она имитирует физические нажатия клавиш в том окне, которое активно в данный момент на компьютере. Если пользователь переключится на другое окно, именно туда и попадут следующие символы. Раскладка клавиатуры, выбранная в системе, тоже влияет на результат — символы, которые вы отправляете, могут интерпретироваться иначе, чем ожидалось.

Не все ASCII-символы передаются корректно. Печатаемые символы, как правило, работают предсказуемо. Для управляющих и специальных клавиш используйте именованные константы из раздела Keyboard Modifiers and Special Keys — это надёжнее, чем передавать числовые коды напрямую.

Совместимое оборудование

Keyboard работает только на платах с нативной поддержкой USB HID. Классические Arduino Uno и Mega не поддерживают эту библиотеку через основной USB-разъём.

ПлатаПоддерживаемые контакты
LeonardoВсе цифровые и аналоговые контакты
MicroВсе цифровые и аналоговые контакты
Arduino DueВсе цифровые и аналоговые контакты
ZeroВсе цифровые и аналоговые контакты
UNO R4 MinimaВсе цифровые и аналоговые контакты
UNO R4 WiFiВсе цифровые и аналоговые контакты
GIGA R1 Wi-FiВсе цифровые и аналоговые контакты
Nano ESP32Все цифровые и аналоговые контакты
Семейство MKRВсе цифровые и аналоговые контакты

Где применяется

  • Макропады и панели горячих клавиш — компактные устройства с кнопками для редакторов кода, DAW, CAD-программ или игр.
  • Автоматизация ввода — отправка тестовых строк, команд терминала или повторяющихся последовательностей символов.
  • Устройства доступности — большие кнопки, ножные педали, специальные переключатели для людей с ограниченными возможностями.
  • Учебные стенды — демонстрация работы USB HID и принципов взаимодействия микроконтроллера с компьютером.

Практические замечания

  • Перед тем как реально отправлять нажатия клавиш, отладьте логику скетча через Serial.print(). Так вы увидите, что именно собираетесь «напечатать», не рискуя случайно набрать команды в активном окне.
  • Привязывайте отправку клавиш к конкретному событию: нажатию физической кнопки, изменению состояния переключателя, сигналу от датчика. Скетч, который непрерывно печатает символы или удерживает клавиши, может заблокировать загрузку нового кода на плату.
  • Библиотеки Keyboard и Mouse могут мешать друг другу, если вызовы Mouse.move() и Keyboard.print() происходят одновременно и бесконтрольно. Следите за тем, чтобы управляемые события были чёткими и предсказуемыми.
  • Раскладка клавиатуры на компьютере влияет на то, какой символ появится на экране. Если вы отправляете, например, Keyboard.print() со строкой на кириллице, убедитесь, что в системе активна нужная раскладка.
  • Если плата «зависла» в режиме бесконечного ввода и не принимает новый скетч, попробуйте быстро дважды нажать кнопку Reset — это переведёт плату в режим загрузчика на несколько секунд.

Функции

Полезные материалы