Описание
Метод отправляет подсоединенному компьютеру сигнал о нажатии клавиши. В данном случае под нажатием подразумевается кратковременное нажатие клавиши на клавиатуре. Данная команда позволяет отправлять некоторые ASCII-символы, а также сигналы о нажатии специальных клавиш-модификаторов.
Метод поддерживает отправку только тех ASCII-символов, которые присутствуют на клавиатуре. Например, ASCII-код 8 (Backspace) отправится корректно, а ASCII-код 25 (замена) - нет. При отправке прописных букв, команда Keyboard.write() помимо желаемого символа отправляет сигнал о нажатии Shift, подобно набору на клавиатуре. При отправке числового значения осуществляется отправка соответствующего ASCII-символа (например, при выполнении Keyboard.write(97) произойдет отправка символа 'a').
Полный список ASCII-символов см. на странице ASCIITable.com.
Предупреждение: при использовании функции Keyboard.write() плата Arduino берет управление вашей клавиатуры на себя, отключая настоящую. Поэтому, перед использованием этой команды убедитесь, что у вас есть возможность отключить эмуляцию клавиатуры. С этой целью рекомендуется использовать какую-либо кнопку, позволяющую включать или выключать данную возможность.
Синтаксис
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);
}
}
Смотрите также:
Keyboard.begin()
Keyboard.end()
Keyboard.press()
Keyboard.print()
Keyboard.println()
Keyboard.release()
Keyboard.releaseAll()
Клавиши-модификаторы
Библиотеки Mouse и Keyboard
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/KeyboardWrite |