Keyboard.write()
Описание
Отправляет подсоединенному компьютеру сигнал о нажатии клавиши. В данном случае под нажатием подразумевается кратковременное нажатие клавиши на клавиатуре. Данная команда позволяет отправлять некоторые ASCII-символы, а также сигналы о нажатии специальных клавиш-модификаторов.
Метод поддерживает отправку только тех ASCII-символов, которые присутствуют на клавиатуре. Например, ASCII-код 8 (Backspace) отправится корректно, а ASCII-код 25 (замена) - нет. При отправке прописных букв, команда Keyboard.write() помимо желаемого символа отправляет сигнал о нажатии Shift, подобно набору на клавиатуре. При отправке числового значения осуществляется отправка соответствующего ASCII-символа (например, при выполнении Keyboard.write(97) произойдет отправка символа 'a').
Полный список ASCII-символов см. на странице ASCIITable.com.
ВНИМАНИЕ: при использовании команды Keyboard.write() Ардуино берет управление вашей клавиатурой на себя! Поэтому, перед использованием этой команды убедитесь, что у вас есть возможность отключить Ардуино от управления клавиатурой. С этой целью рекомендуется использовать какую-либо кнопку, позволяющую включать или выключать данную функцию.
Синтаксис
Keyboard.write(character)
Параметры
character: символ или число int, которое необходимо отправить компьютеру. Может быть представлено в любом виде, приемлемом для типа char. Все из представленных ниже примеров корректны и отправляют одно и то же значение - 65 или ASCII-символ A:
Keyboard.write(65); // отправляет ASCII-код 65, или A Keyboard.write('A'); // то же значение, но в кавычках Keyboard.write(0x41); // то же значение в шестнадцатеричном виде Keyboard.write(0b01000001); // то же значение в двоичном виде (не самый удобный вариант, но он работает)
Возвращаемые значения
int: количество отправленных байт
Пример
void setup() { // переводим вывод 2 в режим входа и включаем // подтягивающий резистор, в результате чего на выводе присутствует высокий уровень // до тех пор, пока он не будет соединен с землей: pinMode(2, INPUT_PULLUP); Keyboard.begin(); } void loop() { //если кнопка нажата if(digitalRead(2)==LOW){ //отправляем ASCII-символ 'A', Keyboard.write(65); } }