Вопрос по Keyboard.h , а точнее его методу Keyboard.press(key) , я совсем где то запутался. А точнее пока только учусь программированию. Я отправляю в Ардуино строку: 1KEY_RETURN Должен нажаться: Enter , а выходит что нажимается | на Eng раскладке и / на RU раскладке Хотя Servial.println(key) показывает что верные данные передаю: KEY_RETURN Почему такое странное поведение ? Код (C++): #include "Keyboard.h" char str[128]; // строка с данными int kolVStr; // Количество символов в строке void setup() { Serial.begin(9600); Keyboard.begin(); } void loop() { kolVStr = 0; memset(str, '\0', 128); if (Serial.available() > 0) { // Если пришли данные kolVStr = Serial.available(); for (int i = 0; i < kolVStr; i++) { // Записываю символы в массив str[i] = Serial.read(); } } switch (str[0]) { case '1': char key[128]; memset(key, '\0', 128); for (int i = 1 ; i < kolVStr; i++) { // Переписываю массив без первого символа key[i - 1] = str[i]; } Keyboard.press(key); delay(1); Keyboard.release(key); Serial.println(key); break; case '2': // Пока ничего break; } }
Поищите в википедии назначения клавиш, там где-то есть, а ещё можно попробовать сделать время задержки 100 мск. И какая у Вас плата? На уне работать не должно и не будет