Sketch funktioniert nicht. (Keyboard)

Hier ist ein Beispielprogramm von der arduino.cc Website
Irgendwie mein der Sketch das ich die Bibliotek nicht eingelesen habe was kann ich tun?

Hier der Code:
KeyboardReprogram

/*

  Arduino Programs Blink

  This sketch demonstrates the Keyboard library.

  For Leonardo and Due boards only.

  When you connect pin 2 to ground, it creates a new window with a key

  combination (CTRL-N), then types in the Blink sketch, then auto-formats the

  text using another key combination (CTRL-T), then uploads the sketch to the

  currently selected Arduino using a final key combination (CTRL-U).

  Circuit:

  - Arduino Leonardo, Micro, Due, LilyPad USB, or Yún

  - wire to connect D2 to ground

  created 5 Mar 2012

  modified 29 Mar 2012

  by Tom Igoe

  modified 3 May 2014

  by Scott Fitzgerald

  This example is in the public domain.

  https://www.arduino.cc/en/Tutorial/KeyboardReprogram

*/

#include "Keyboard.h"

// use this option for OSX.
// Comment it out if using Windows or Linux:
//  char ctrlKey = KEY_LEFT_GUI;
// use this option for Windows and Linux.
// leave commented out if using OSX:
char ctrlKey = KEY_LEFT_CTRL;

void setup() {

  // make pin 2 an input and turn on the pull-up resistor so it goes high unless

  // connected to ground:

  pinMode(2, INPUT_PULLUP);

  // initialize control over the keyboard:

  Keyboard.begin();
}

void loop() {

  while (digitalRead(2) == HIGH) {

    // do nothing until pin 2 goes low

    delay(500);

  }

  delay(1000);

  // new document:

  Keyboard.press(ctrlKey);

  Keyboard.press('n');

  delay(100);

  Keyboard.releaseAll();

  // wait for new window to open:

  delay(1000);

  // versions of the Arduino IDE after 1.5 pre-populate new sketches with

  // setup() and loop() functions let's clear the window before typing anything new

  // select all

  Keyboard.press(ctrlKey);

  Keyboard.press('a');

  delay(500);

  Keyboard.releaseAll();

  // delete the selected text

  Keyboard.write(KEY_BACKSPACE);

  delay(500);

  // Type out "blink":

  Keyboard.println("void setup() {");

  Keyboard.println("pinMode(13, OUTPUT);");

  Keyboard.println("}");

  Keyboard.println();

  Keyboard.println("void loop() {");

  Keyboard.println("digitalWrite(13, HIGH);");

  Keyboard.print("delay(3000);");

  // 3000 ms is too long. Delete it:

  for (int keystrokes = 0; keystrokes < 6; keystrokes++) {

    delay(500);

    Keyboard.write(KEY_BACKSPACE);

  }

  // make it 1000 instead:

  Keyboard.println("1000);");

  Keyboard.println("digitalWrite(13, LOW);");

  Keyboard.println("delay(1000);");

  Keyboard.println("}");

  // tidy up:

  Keyboard.press(ctrlKey);

  Keyboard.press('t');

  delay(100);

  Keyboard.releaseAll();

  delay(3000);

  // upload code:

  Keyboard.press(ctrlKey);

  Keyboard.press('u');

  delay(100);

  Keyboard.releaseAll();

  // wait for the sweet oblivion of reprogramming:

  while (true);
}

Und hier die Fehlermeldung(en):

C:\Users\Gamer\AppData\Local\Temp\.arduinoIDE-unsaved202328-13860-bk4lmf.3tt7\sketch_mar8c\sketch_mar8c.ino: In function 'void setup()':
C:\Users\Gamer\AppData\Local\Temp\.arduinoIDE-unsaved202328-13860-bk4lmf.3tt7\sketch_mar8c\sketch_mar8c.ino:58:3: error: 'Keyboard' was not declared in this scope
   Keyboard.beginn;
   ^~~~~~~~
C:\Users\Gamer\AppData\Local\Temp\.arduinoIDE-unsaved202328-13860-bk4lmf.3tt7\sketch_mar8c\sketch_mar8c.ino: In function 'void loop()':
C:\Users\Gamer\AppData\Local\Temp\.arduinoIDE-unsaved202328-13860-bk4lmf.3tt7\sketch_mar8c\sketch_mar8c.ino:75:3: error: 'Keyboard' was not declared in this scope
   Keyboard.press(ctrlKey);
   ^~~~~~~~
C:\Users\Gamer\AppData\Local\Temp\.arduinoIDE-unsaved202328-13860-bk4lmf.3tt7\sketch_mar8c\sketch_mar8c.ino:103:18: error: 'KEY_BACKSPACE' was not declared in this scope
   Keyboard.write(KEY_BACKSPACE);
                  ^~~~~~~~~~~~~
Mehrere Bibliotheken wurden für "Keyboard.h" gefunden
  Benutzt: C:\Users\Gamer\Documents\Arduino\libraries\Keyboard
  Nicht benutzt: C:\Users\Gamer\AppData\Local\Arduino15\libraries\Keyboard
exit status 1

Compilation error: 'Keyboard' not found. Does your sketch include the line '#include <Keyboard.h>'?

Vielen Dank im vorraus

LG Jonas

Setze Deinen Code bitte direkt ins Forum. Benutze dazu Codetags. Wie das geht, steht hier.

Gruß Tommy

Hast du einen Leonardo oder einen Due? Welchen genau?

Es sieht so aus, als ob das Problem darin besteht, dass der Sketch die Keyboard-Bibliothek nicht erkennt, obwohl sie installiert ist. Es gibt ein paar Dinge, die Sie versuchen können:

  1. Stellen Sie sicher, dass die Keyboard-Bibliothek richtig installiert ist und dass Sie sie in Ihrem Sketch eingeschlossen haben, indem Sie am Anfang Ihres Sketches #include <Keyboard.h> eingeben.
  2. Stellen Sie sicher, dass Sie die richtige Version der Keyboard-Bibliothek für Ihre Arduino-Platine installiert haben. Zum Beispiel ist die Keyboard-Bibliothek nur für Leonardo- und Due-Boards geeignet.
  3. Überprüfen Sie, ob möglicherweise andere Bibliotheken mit demselben Namen wie die Keyboard-Bibliothek installiert sind, die zu Konflikten führen können. In diesem Fall sollten Sie sicherstellen, dass Sie die richtige Bibliothek in Ihrem Sketch einbeziehen.

Wenn Sie diese Schritte ausgeführt haben und das Problem weiterhin besteht, könnte es hilfreich sein, Ihre Arduino-IDE zu aktualisieren oder eine andere Version der Keyboard-Bibliothek herunterzuladen und zu installieren.

Hallo,

es muss neben der Keyboard Lib auch die HID Lib vorhanden sein.

Hallo danke für die Antwort.
Allerding steht auf der Seite von der Bibliotek volgendes zur Kompatibilität:

### Compatibility

This library is compatible with the **avr, samd, sam** architectures so you should be able to use it on the following Arduino boards:

* [Arduino Micro](https://store.arduino.cc/arduino-micro)
* [Arduino Leonardo](https://store.arduino.cc/arduino-leonardo-with-headers)
* [Arduino Mega](https://store.arduino.cc/arduino-mega-2560-rev3)
* [Arduino Due](https://store.arduino.cc/arduino-due)
* [Arduino MKR FOX 1200](https://store.arduino.cc/arduino-mkr-fox-1200-1408)
* [Arduino MKR GSM 1400](https://store.arduino.cc/arduino-mkr-gsm-1400-1415)
* [Arduino MKR NB 1500](https://store.arduino.cc/arduino-mkr-nb-1500-1413)
* [Arduino MKR VIDOR 4000](https://store.arduino.cc/arduino-mkr-vidor-4000)
* [Arduino MKR WAN 1300 (LoRa connectivity)](https://store.arduino.cc/arduino-mkr-wan-1300-lora-connectivity-1414)
* [Arduino MKR WAN 1310](https://store.arduino.cc/mkr-wan-1310)
* [Arduino MKR WiFi 1010](https://store.arduino.cc/arduino-mkr-wifi-1010)
* [Arduino MKR ZERO (I2S bus & SD for sound, music & digital audio data)](https://store.arduino.cc/arduino-mkr-zero-i2s-bus-sd-for-sound-music-digital-audio-data)
* [Arduino MKR1000 WIFI](https://store.arduino.cc/arduino-mkr1000-wifi)
* [Arduino Nano](https://store.arduino.cc/arduino-nano)
* [Arduino Nano 33 IoT](https://store.arduino.cc/arduino-nano-33-iot)
* [Arduino Uno](https://store.arduino.cc/arduino-uno-rev3)
* [Arduino Yún](https://store.arduino.cc/arduino-yun-rev-2)
* [Arduino Zero](https://store.arduino.cc/arduino-zero)

Oder an was liegt es sonst och das der code nur auf leonardo oder due funktioniert

LG Jonas

Und was bitte soll dieser einfallslose Titel ?
Da kann keiner etwas mit anfangen.
Du solltest besser dein Problem im Titel kurz beschreiben, dann weiß jeder was du willst.

Der Arduino muss einen nativen USB Anschluss besitzen.

Wenn da eine serielle Verbindung zwischen klemmt, ist Ende mit HID

Sorry sehe gerade erst das das die erste Zeile meiner Beschreibung ist habe wohl die Überschrift vergessen

Ja ok aber warum steht dann auf der Seite der von mir genutzte Arduino Uno auch drauf

Dann ändere das bitte. Geht jetzt auch noch. Wird für alle besser verständlich.

Ah, ok....warst schneller.

Wo steht das?

Diese keyboard library funktioniert nur für Microcontroller wie am Leonardo oder DUE.
Dein Uno hat einen anderen Microcontroller, daher funktioniert er nicht.

Naja also hier:

und das ist auf jeden fall auch die gleiche Bibliotek.

Nein!
Die Liste aus Posting #6 finde ich da nicht.

Also nochmal:
Wo steht das?

Zudem steht in der Libdoku, hinter deinem Link, auch ganz klar:

Notes and Warnings

These core libraries allow the 32u4 and SAMD based boards (Leonardo, Esplora, Zero, Due and MKR Family) to appear as a native Mouse and/or Keyboard to a connected computer.

Natürlich darfst du das ignorieren, oder was anders hin dichten. Aber damit ist keinem geholfen.

Die Frage ist: Was willst du wirklich erreichen?

Sorry das ist die Dokumentation hier ist die richtige Seite

Wenn wan dort auf Dokumentation geht kommt man auf die Seite aus Post #14

Gut...
Da stehen ein paar Boards auf der Liste, für die es zwar kompiliert, aber welche trotzdem nicht geeignet sind

Compatibility Note

Note: while the library is supposed to compile correctly on these architectures, it might require specific hardware features that may be available only on some boards.

Übersetzt: (per google)

Kompatibilitätshinweis

Hinweis: Während die Bibliothek auf diesen Architekturen korrekt kompiliert werden soll, sind möglicherweise bestimmte Hardwarefunktionen erforderlich, die möglicherweise nur auf einigen Boards verfügbar sind.

Mit meinen Worten:
In der Liste stehen Boards, mit denen das NICHT funktioniert.

Das ist damit widerlegt.
Kompilieren ja, mag sein, aber funktionieren, nicht unbedingt.
Soviel zu deinem Verständnis von "Kompatibilität"

Auf Hauptprozessoren der Mega, UNO, Nano und noch ein paar, ist eben die dazu nötige Hardware nicht vorhanden.
Das ist ein Fakt.
Ein solcher Fakt kann auch nicht durch eine Korrektur/Verbesserung der Doku umetikettiert werden.

Ich finde es witzig, dass du die Liste hier publizierst, aber die wichtigen Einschränkungen nicht zeigst.

Empfehlung:
Ich kann dich nur bitten, demnächst solche Sachen sorgfältiger zu lesen und sorgfältiger zu bewerten.
Denn die Arduinorei ist kein "ich wünsch mir was", sondern es konfrontiert einen mit der Hardware, mit der harten Realität.
Es ist nicht für uns wichtig, dass du das erkennst, sondern für dich.

Die Antwort auf die Frage muss also lauten:
Irgendwann mag es mal kompiliert haben, aber funktioniert, nie und nimmer.