Erreurs de touches avec un Digispark

Bonjour !
J'ai un Digispark et je voudrais m'en servir pour faire des commandes/raccourcis claviers.
le code exemple de DigisparkKeyboard

#include "DigiKeyboard.h"

void setup() {
  // don't need to set anything up to use DigiKeyboard
  DigiKeyboard.delay(2500); //wait some time before first run, to give target time to initialize
}


void loop() {
  // this is generally not necessary but with some older systems it seems to
  // prevent missing the first character after a delay:
  DigiKeyboard.sendKeyStroke(0);
  
  // Type out this string letter by letter on the computer (assumes US-style
  // keyboard)
  DigiKeyboard.println("Hello Digispark!");
  
  // It's better to use DigiKeyboard.delay() over the regular Arduino delay()
  // if doing keyboard stuff because it keeps talking to the computer to make
  // sure the computer knows the keyboard is alive and connected
  DigiKeyboard.delay(5000);
}

compile correctement, il se téléverse et ça "marche" : le Digispark envoie des caractères, mais 2$ddg.q°qkhYjc au lieu du texte écrit.
Pourquoi ?

Je voudrais aussi connaitre les code de chaque touches (alt, ctrl, fonctions...) pour exécuter des raccourcis, mais je ne trouve pas sur google...

j'espère que vous pourrez m'aider

Bonne journée

Leonito2003:
Bonjour !
J'ai un Digispark et je voudrais m'en servir pour faire des commandes/raccourcis claviers.
le code exemple de DigisparkKeyboard

#include "DigiKeyboard.h"

void setup() {
 // don't need to set anything up to use DigiKeyboard
 DigiKeyboard.delay(2500); //wait some time before first run, to give target time to initialize
}

void loop() {
 // this is generally not necessary but with some older systems it seems to
 // prevent missing the first character after a delay:
 DigiKeyboard.sendKeyStroke(0);
 
 // Type out this string letter by letter on the computer (assumes US-style
 // keyboard)
 DigiKeyboard.println("Hello Digispark!");
 
 // It's better to use DigiKeyboard.delay() over the regular Arduino delay()
 // if doing keyboard stuff because it keeps talking to the computer to make
 // sure the computer knows the keyboard is alive and connected
 DigiKeyboard.delay(5000);
}



compile correctement, il se téléverse et ça "marche" : le Digispark envoie des caractères, mais 2$ddg.q°qkhYjc au lieu du texte écrit.
Pourquoi ?

Je voudrais aussi connaitre les code de chaque touches (alt, ctrl, fonctions...) pour exécuter des raccourcis, mais je ne trouve pas sur google...

j'espère que vous pourrez m'aider

Bonne journée

Bonsoir
Toutes les bonnes infos utiles que tu cherche :grin: sont documentées dans le fichier DigiKeyboard.h
pour exemple d'utilisation :
un petit sketch qui peut devenir trés vite "crispant" une fois le digispark "connecté 8)

#include "DigiKeyboard.h"
int pinled = 1;

void setup() {
  pinMode(pinled , OUTPUT);
  digitalWrite(pinled, HIGH);
}


void loop() {
  digitalWrite(pinled, LOW);
  DigiKeyboard.delay(800);
  DigiKeyboard.sendKeyStroke(0);


  DigiKeyboard.sendKeyStroke(57); // caps lock

  digitalWrite(pinled, HIGH);
  delay(15);
}

ah oui, le caps lock...
Il est ou Digikeyboard.h ? :confused:

Bon, je l'ai trouvé...

Du coup je mets ce code :

#include "DigiKeyboard.h"

void setup() {
  // don't need to set anything up to use DigiKeyboard
  DigiKeyboard.delay(2500); //wait some time before first run, to give target time to initialize
}


void loop() {
  // this is generally not necessary but with some older systems it seems to
  // prevent missing the first character after a delay:
  DigiKeyboard.sendKeyPress(MOD_GUI_LEFT);
  DigiKeyboard.sendKeyStroke(KEY_R);
  DigiKeyboard.sendKeyPress(0);
  DigiKeyboard.delay(10);
  DigiKeyboard.sendKeyStroke(KEY_C);
  DigiKeyboard.sendKeyStroke(KEY_M);
  DigiKeyboard.sendKeyStroke(KEY_D);
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  DigiKeyboard.delay(20);
  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);
  DigiKeyboard.println("ipconfig");
  
  // Type out this string letter by letter on the computer (assumes US-style
  // keyboard)
  
  // It's better to use DigiKeyboard.delay() over the regular Arduino delay()
  // if doing keyboard stuff because it keeps talking to the computer to make
  // sure the computer knows the keyboard is alive and connected
  DigiKeyboard.delay(5000);
}

(lettre par lettre parce que sendKeyStroke avec des "" marhe pas et println renvoie n'importe quoi)

et je recois ça :
erc,d
ipconfig
qh^gf6q° --> ce que m'envoie println...

donc j'ai les codes des lettres mais ça marche pas...
Why ?

Up svp

Leonito2003:
Up svp

Bonjour
Probleme de release key ? :smiley:

Voir peut etre ... ?

En général ici sur le forum les "problèmes" sont plus vite résolus * , dés lors qu'un maximum d'info sur les "tenants et aboutissants" sont préalablement bien bien exprimés 8)

*