Keyboard.write()

Описание

Отправляет нажатие клавиши на подключённый компьютер. Это аналогично нажатию и отпусканию клавиши на клавиатуре. Можно отправлять некоторые ASCII-символы или дополнительные модификаторы клавиш и специальные клавиши.

Поддерживаются только ASCII-символы, которые есть на клавиатуре. Например, ASCII 8 (backspace) сработает, а ASCII 25 (Substitution) — нет. При отправке заглавных букв Keyboard.write() отправляет команду shift вместе с нужным символом, как при наборе на клавиатуре. При отправке числового типа значение отправляется как ASCII-символ (например, Keyboard.write(97) отправит a).

Полный список ASCII-символов смотрите на ASCIITable.com.

Синтаксис

Keyboard.write(character)

Параметры

character: char или int, отправляемый на компьютер.

Может быть передан в любой допустимой для char нотации. Например, все нижеприведённые варианты допустимы и отправляют одно и то же значение — 65 или ASCII A:

Keyboard.write(65);         // отправляет ASCII-значение 65, или A
Keyboard.write('A');        // то же самое в виде символа в кавычках
Keyboard.write(0x41);       // то же самое в шестнадцатеричной записи
Keyboard.write(0b01000001); // то же самое в двоичной записи (странный выбор, но работает)

Возвращаемое значение

Количество отправленных байт. Тип данных: size_t.

Пример кода

#include <Keyboard.h>

void setup() {
  // настраиваем пин 2 как вход и включаем
  // подтягивающий резистор, чтобы он был в HIGH,
  // пока не замкнут на GND:
  pinMode(2, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  //если кнопка нажата
  if (digitalRead(2) == LOW) {
    //отправить ASCII 'A',
    Keyboard.write(65);
  }
}

Примечания и предупреждения

Предупреждение

Когда вы используете команду Keyboard.write(), плата Arduino перехватывает управление вашей клавиатурой! Убедитесь, что вы можете сохранить контроль, прежде чем использовать эту команду. Эффективное решение — добавить кнопку для переключения состояния управления клавиатурой.