Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.write(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
 
Нет описания правки
 
(не показано 8 промежуточных версий 1 участника)
Строка 1: Строка 1:
{{#setlogo:ArduinoCommunityLogo.png}}
{{Arduino панель перехода}}
{{Arduino панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
Строка 6: Строка 5:
=Функция Keyboard.write()<ref>[https://www.arduino.cc/en/Reference/KeyboardWrite Keyboard.write()]</ref>=
=Функция Keyboard.write()<ref>[https://www.arduino.cc/en/Reference/KeyboardWrite Keyboard.write()]</ref>=


Отправляет нажатие на клавишу на компьютер, к которому подключена '''Arduino'''. То же самое, как если бы вы нажали и отпустили клавишу на вашей клавиатуре. С ее помощью можно отсылать некоторые '''ASCII'''-символы или дополнительные клавиши-модификаторы.  
Отправляет нажатие на клавишу на [[компьютер]], к которому подключена [[Arduino]]. То же самое, как если бы вы нажали и отпустили клавишу на вашей клавиатуре. С ее помощью можно отсылать некоторые [[ASCII-символы]] или дополнительные клавиши-модификаторы.  


Этой функцией поддерживаются только те '''ASCII'''-символы, которые имеются на клавиатуре. Например, '''ASCII «8»''' работать будет (это Backspace), а '''ASCII «26»''' (это «подмена символа») — уже нет. Когда вам нужны заглавные буквы, эта функция отсылает Shift плюс нужный символ — то есть происходит то же самое, как если бы вы сами печатали на клавиатуре. Если отправить через эту функцию цифровое значение, то она воспримет его как номер '''ASCII'''-символа, то есть если написать Keyboard.write(97), вы тем самым отправите символ '''«a»'''.  
Этой функцией поддерживаются только те [[ASCII-символы]], которые имеются на клавиатуре. Например, [[ASCII]] «8» работать будет (это {{клавиша|Backspace}}), а [[ASCII]] «26» (это «подмена символа») — уже нет. Когда вам нужны заглавные буквы, эта функция отсылает {{клавиша|Shift}} плюс нужный символ — то есть происходит то же самое, как если бы вы сами печатали на клавиатуре. Если отправить через эту функцию цифровое значение, то она воспримет его как номер [[ASCII-символ]]а, то есть если написать '''Keyboard.write(97)''', вы тем самым отправите символ '''«a»'''.  


Полный список '''ASCII'''-символов можно посмотреть в [http://www.asciitable.com этой таблице].
Полный список [[ASCII-символ]]ов можно посмотреть в [http://www.asciitable.com этой таблице].


'''Внимание!''' При использовании Keyboard.write() клавиатурный функционал перейдет под управление '''Arduino'''. Поэтому перед тем, как использовать эту команду, убедитесь, что ваша цепь настроена таким образом, чтобы не терять управление компьютером. Для этого можно воспользоваться, к примеру, специальной кнопкой, которая будет включать/выключать управление клавиатурой при помощи '''Arduino'''.
{{Внимание1|
При использовании '''Keyboard.write()''' клавиатурный функционал перейдет под управление [[Arduino]]. Поэтому перед тем, как использовать эту команду, убедитесь, что ваша цепь настроена таким образом, чтобы не терять управление [[компьютер]]ом. Для этого можно воспользоваться, к примеру, специальной кнопкой, которая будет включать/выключать управление клавиатурой при помощи [[Arduino]].
}}


==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Keyboard.write(character)
Keyboard.write(character)
</syntaxhighlight>
</syntaxhighlight>
Строка 22: Строка 23:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
character — символ, который нужно отправить компьютеру. Может быть отправлен в любом обозначении, которое применимо к символам. К примеру, все перечисленные ниже способы отправляют одно и то же значение — «65», что в ASCII-таблице означает «A».
character — символ, который нужно отправить компьютеру. Может быть отправлен в любом обозначении, которое применимо к символам. К примеру, все перечисленные ниже способы отправляют одно и то же значение — «65», что в ASCII-таблице означает «A».
Keyboard.write(65);        // отправляет «65», что в ASCII-таблице означает «А»  
Keyboard.write(65);        // отправляет «65», что в ASCII-таблице означает «А»  
Строка 32: Строка 33:
==Что возвращает==
==Что возвращает==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Количество отправленных байтов (int).
Количество отправленных байтов (int).
</syntaxhighlight>
</syntaxhighlight>
Строка 38: Строка 39:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
void setup() {
void setup() {
   // Делаем 2-ой контакт входным и включаем подтягивающий резистор,
   // Делаем 2-ой контакт входным и включаем подтягивающий резистор,
Строка 58: Строка 59:
=См.также=
=См.также=


# Keyboard.begin()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.begin()|Keyboard.begin()]]
# Keyboard.end()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.end()|Keyboard.end()]]
# Keyboard.press()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.press()|Keyboard.press()]]
# Keyboard.print()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.print()|Keyboard.print()]]
# Keyboard.println()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.println()|Keyboard.println()]]
# Keyboard.release()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.release()|Keyboard.release()]]
# Keyboard.releaseAll()
* [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.releaseAll()|Keyboard.releaseAll()]]
# ASCIITable tutorial
 
 


=Внешние ссылки=
=Внешние ссылки=


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]

Текущая версия от 11:25, 8 июля 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция Keyboard.write()[1]

Отправляет нажатие на клавишу на компьютер, к которому подключена Arduino. То же самое, как если бы вы нажали и отпустили клавишу на вашей клавиатуре. С ее помощью можно отсылать некоторые ASCII-символы или дополнительные клавиши-модификаторы.

Этой функцией поддерживаются только те ASCII-символы, которые имеются на клавиатуре. Например, ASCII «8» работать будет (это  ← Backspace ), а ASCII «26» (это «подмена символа») — уже нет. Когда вам нужны заглавные буквы, эта функция отсылает  ⇧ Shift  плюс нужный символ — то есть происходит то же самое, как если бы вы сами печатали на клавиатуре. Если отправить через эту функцию цифровое значение, то она воспримет его как номер ASCII-символа, то есть если написать Keyboard.write(97), вы тем самым отправите символ «a».

Полный список ASCII-символов можно посмотреть в этой таблице.

Внимание!

При использовании Keyboard.write() клавиатурный функционал перейдет под управление Arduino. Поэтому перед тем, как использовать эту команду, убедитесь, что ваша цепь настроена таким образом, чтобы не терять управление компьютером. Для этого можно воспользоваться, к примеру, специальной кнопкой, которая будет включать/выключать управление клавиатурой при помощи Arduino.

Синтаксис

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

См.также


Внешние ссылки