python-duckencode

This program converts Duckyscript code into Arduino code for AVR chips with USB support. (i.e. Arduino Leonardo)

Stars
5

Description

Simple DuckyScript to Arduino translator for AVR chips with USB support.

Installation

  1. Clone this repository and cd into it:

     git clone https://github.com/0x2b3bfa0/python-duckencode.git
     cd python-duckencode
    
  2. Make public the sendReport() function:

    You should edit a file called USBAPI.h. This file may be on one of the following paths1:

     {ARDUINO}/hardware/arduino/cores/arduino/USBAPI.h
     {SKETCHES}/hardware/arduino/cores/arduino/USBAPI.h
    

    Once you've found this file, open it with your favorite text editor and locate these lines:

     private:
         KeyMap* _keyMap;
         void sendReport(KeyReport* keys);
         void setKeyMap(KeyMap* keyMap);
     public:
         Keyboard_();
         virtual size_t write(uint8_t);
    

    Simply cut this line from the private section and paste it on the public section:

     void sendReport(KeyReport* keys);
    

    Once edited these lines should look like this:

     private:
         KeyMap* _keyMap;
         void setKeyMap(KeyMap* keyMap);
     public:
         void sendReport(KeyReport* keys);
         Keyboard_();
         virtual size_t write(uint8_t);
    
  3. Run the program:

     ./compiler.py
    

1: {ARDUINO} represents the directory into which the Arduino IDE and supporting files have been installed. This may be /usr/local/arduino or /usr/share/arduino or one of many other possible choices depending on your operating system.