Шановні друзі! Сайт знаходиться в процесі перекладу на солов'їну мову. Все буде Україна!

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);
  }
}

Смотрите также