Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.write(): различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) |
||
Строка 11: | Строка 11: | ||
Полный список '''ASCII'''-символов можно посмотреть в [http://www.asciitable.com этой таблице]. | Полный список '''ASCII'''-символов можно посмотреть в [http://www.asciitable.com этой таблице]. | ||
''' | {{Внимание1| | ||
При использовании '''Keyboard.write()''' клавиатурный функционал перейдет под управление [[Arduino]]. Поэтому перед тем, как использовать эту команду, убедитесь, что ваша цепь настроена таким образом, чтобы не терять управление [[компьютер]]ом. Для этого можно воспользоваться, к примеру, специальной кнопкой, которая будет включать/выключать управление клавиатурой при помощи [[Arduino]]. | |||
}} | |||
==Синтаксис== | ==Синтаксис== |
Версия от 14:36, 8 января 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Функция Keyboard.write()[1]
Отправляет нажатие на клавишу на компьютер, к которому подключена Arduino. То же самое, как если бы вы нажали и отпустили клавишу на вашей клавиатуре. С ее помощью можно отсылать некоторые ASCII-символы или дополнительные клавиши-модификаторы.
Этой функцией поддерживаются только те ASCII-символы, которые имеются на клавиатуре. Например, ASCII «8» работать будет (это Backspace), а ASCII «26» (это «подмена символа») — уже нет. Когда вам нужны заглавные буквы, эта функция отсылает Shift плюс нужный символ — то есть происходит то же самое, как если бы вы сами печатали на клавиатуре. Если отправить через эту функцию цифровое значение, то она воспримет его как номер ASCII-символа, то есть если написать Keyboard.write(97), вы тем самым отправите символ «a».
Полный список ASCII-символов можно посмотреть в этой таблице.
Синтаксис
Keyboard.write(character)
Параметры
character — символ, который нужно отправить компьютеру. Может быть отправлен в любом обозначении, которое применимо к символам. К примеру, все перечисленные ниже способы отправляют одно и то же значение — «65», что в ASCII-таблице означает «A».
Keyboard.write(65); // отправляет «65», что в ASCII-таблице означает «А»
Keyboard.write('A'); // то же самое, но нужный символ поставлен в кавычки
Keyboard.write(0x41); // то же самое, но в шестнадцатеричном виде
Keyboard.write(0b01000001); // то же самое, но в бинарном виде (странный выбор, но работать будет)
Что возвращает
Количество отправленных байтов (int).
Пример
void setup() {
// Делаем 2-ой контакт входным и включаем подтягивающий резистор,
// чтобы значение на контакте всегда было HIGH,
// за исключением случаев, когда он будет подключен к «земле»:
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()