Ошибка в наборе текста на клавиатуре Digispark

Я хочу открыть блокнот у моего Digispark. Я использую этот код:

/*  * Generated with <3 by Dckuino.js, an open source project !  */

#include <avr/pgmspace.h>
#include "DigiKeyboard.h"

const char line1[] PROGMEM = "notepad.exe";
const char line2[] PROGMEM = "Hello World!";

char buffer[256];

#define GetPsz(x) (strncpy_P(buffer, (char*)x, 256))
#define KEY_UP_ARROW      0x52
#define KEY_DOWN_ARROW    0x51
#define KEY_LEFT_ARROW        0x50
#define KEY_RIGHT_ARROW       0x4F
#define KEY_LEFT_GUI          0xE3
#define KEY_ESC               0x29
#define KEY_TAB               0x2B

void digiBegin() {
  DigiKeyboard.sendKeyStroke(0,0);
  DigiKeyboard.delay(50);
}

void digiEnd() {
  const int led=1;
  pinMode(led, OUTPUT);
  while (1) {
    digitalWrite(led, !digitalRead(led));
    DigiKeyboard.delay(1000);
  }
}

void printText(char *txt) {
  DigiKeyboard.print(txt);
  DigiKeyboard.update();
}

void setup() {
  digiBegin();

  DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_LEFT);

  DigiKeyboard.delay(50);

  // notepad.exe   printText(GetPsz(line1));

  DigiKeyboard.sendKeyStroke(KEY_ENTER);

  DigiKeyboard.delay(100);

  // Hello World!   printText(GetPsz(line2));

  digiEnd();
} /* Unused endless loop */ void loop() {}

Моя программа открыла RUN Windows, но вместо ввода "notepad.exe" он печатает "fgl]hY&]p]", и я не знаю, где я делаю ошибки. Пожалуйста, помогите мне.

Я должен написать свой код, подобный этому:

#include "DigiKeyboard.h"

int pinled = 1;

void setup()
{
    pinMode(3, INPUT);

    digitalWrite(3, HIGH);
}


void loop()
{
    DigiKeyboard.sendKeyStroke(0);

    if(digitalRead(3) == LOW)
    {
        DigiKeyboard.sendKeyPress(KEY_R, MOD_GUI_LEFT);
        DigiKeyboard.delay(10);

        DigiKeyboard.sendKeyStroke(0, 0);

        DigiKeyboard.sendKeyStroke(KEY_C);
        DigiKeyboard.sendKeyStroke(KEY_M);
        DigiKeyboard.sendKeyStroke(KEY_D);
        DigiKeyboard.sendKeyStroke(KEY_ENTER);

        DigiKeyboard.delay(500);

        DigiKeyboard.sendKeyStroke(KEY_I);
        DigiKeyboard.sendKeyStroke(KEY_P);
        DigiKeyboard.sendKeyStroke(KEY_C);
        DigiKeyboard.sendKeyStroke(KEY_O);
        DigiKeyboard.sendKeyStroke(KEY_N);
        DigiKeyboard.sendKeyStroke(KEY_F);
        DigiKeyboard.sendKeyStroke(KEY_I);
        DigiKeyboard.sendKeyStroke(KEY_G);
        DigiKeyboard.sendKeyStroke(KEY_ENTER);
    }
}

, 👍2

Обсуждение

Какая раскладка клавиатуры у вас активна на вашем компьютере?, @chrisl

Я попытался немного прояснить вопрос. У вас есть // notepad.exe printText(GetPsz(строка 1));, но я предполагаю, что это две отдельные строки в коде, который вы на самом деле запускаете; аналогично для "строки 2"., @timemage

при отладке кода, подобного вашему, всегда выводите строки типа "1111122222233333" или "aaabbbcc".... таким образом, вы можете определить, повторяются ли символы, даже если это неправильные символы ... в вашем примере один символ, по-видимому, повторяется, но он неопределенен, @jsotola