Search code examples
c++arduinokeyboardarduino-idearduino-c++

DigiKeyboard is not compiling


I'm trying to emulate HID keystrokes with a Digispark Kickstarter. For this I use the library DigiKeyboard. When compiling my simple sample code in the arduino IDE, I get the following error:

In file included from C:\Users\[CENSORED]\OneDrive\Dokumente\Arduino\DigiKeyboard\test\test.ino:1:0:

C:\Users\[CENSORED]\OneDrive\Dokumente\Arduino\DigiKeyboard\test\DigiKeyboard.h:41:65: error: conflicting declaration 'char usbDescriptorHidReport [22]'

 char usbHidReportDescriptor[USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH] = { // USB report descriptor

                                                                 ^

In file included from C:\Users\[CENSORED]\OneDrive\Dokumente\Arduino\DigiKeyboard\test\DigiKeyboard.h:16:0,

                 from C:\Users\[CENSORED]\OneDrive\Dokumente\Arduino\DigiKeyboard\test\test.ino:1:

C:\Users\[CENSORED]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkUSB/usbdrv.h:506:6: error: 'usbDescriptorHidReport' has a previous declaration as 'const char usbDescriptorHidReport []'

 char usbDescriptorHidReport[];

      ^

Mehrere Bibliotheken wurden für "usbdrv.h" gefunden

  Benutzt: C:\Users\[CENSORED]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkUSB

  Nicht benutzt: C:\Users\[CENSORED]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkKeyboard

  Nicht benutzt: C:\Users\[CENSORED]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkMouse

  Nicht benutzt: C:\Users\[CENSORED]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkCDC

  Nicht benutzt: C:\Users\[CENSORED]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkJoystick

exit status 1

Compilation error: conflicting declaration 'char usbDescriptorHidReport [22]'

Sorry, some parts are in german. That was the original output.

I tried to define the variable usbDescriptorHidReport as const. I also removed the variable completely, which didn't help.

Does anyone know how to fix the bug or are there better libraries?


Solution

  • Use the library from https://github.com/ernesto-xload/DigisparkKeyboard/blob/master/src/DigiKeyboard.h instead of the original from https://github.com/digistump/DigisparkArduinoIntegration/tree/master/libraries/DigisparkKeyboard.