Вопрос по Keyboard.h для Arduino

Тема в разделе "Arduino & Shields", создана пользователем ArduinoNovichok, 13 май 2018.

  1. Вопрос по Keyboard.h , а точнее его методу Keyboard.press(key) , я совсем где то запутался.
    А точнее пока только учусь программированию.

    Я отправляю в Ардуино строку:
    • 1KEY_RETURN
    Должен нажаться:
    • Enter , а выходит что нажимается | на Eng раскладке и / на RU раскладке
    Хотя Servial.println(key) показывает что верные данные передаю:
    • KEY_RETURN
    Почему такое странное поведение ? :D

    Код (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;
      }

    }
     
    Последнее редактирование: 13 май 2018
  2. Ralex

    Ralex Нерд

    Поищите в википедии назначения клавиш, там где-то есть, а ещё можно попробовать сделать время задержки 100 мск. И какая у Вас плата? На уне работать не должно и не будет