https://github.com/0x2b3bfa0/python-duckencode
This program converts Duckyscript code into Arduino code for AVR chips with USB support. (i.e. Arduino Leonardo)
https://github.com/0x2b3bfa0/python-duckencode
arduino compiler duckyscript keyboard keyboard-emulation rubber-ducky
Last synced: 12 months ago
JSON representation
This program converts Duckyscript code into Arduino code for AVR chips with USB support. (i.e. Arduino Leonardo)
- Host: GitHub
- URL: https://github.com/0x2b3bfa0/python-duckencode
- Owner: 0x2b3bfa0
- Created: 2015-10-21T11:25:15.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-01-15T17:55:54.000Z (over 6 years ago)
- Last Synced: 2025-05-12T19:13:23.954Z (12 months ago)
- Topics: arduino, compiler, duckyscript, keyboard, keyboard-emulation, rubber-ducky
- Language: Python
- Homepage:
- Size: 19.5 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
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 paths[1](#footnote_1):
{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.
[1]: https://ctrlaltnarwhal.wordpress.com/2012/10/31/installing-usb-rubber-ducky-on-3rd-party-devices/