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 перехватывает управление вашей клавиатурой! Убедитесь, что вы можете сохранить контроль, прежде чем использовать эту команду. Эффективное решение — добавить кнопку для переключения состояния управления клавиатурой.