A GUI tool which generates the digispark hid code by typing mnemonics.
- Simple and clean GUI.
- Two large windows one for mnemonics and other for digispark code.
- Convert Button - Convert mnemonics to digispark script.
- Copy Button - Copy digispark script to the clipboard so that it can paste anywhere.
- Reset Button - Clear all data from both windows.
- Save Button - Save digispark scripts on the system for future use.
- Exit Button - Close the application.
for
Loop added.- Next line function added.
- TYPE and TYNL supports
"
. - TYPE and TYNL supports
\
. - Multiple statements are supported inside for loop.
- WRITE function added.
The following boards are working on a microcontroller named ATtiny85
.
- It has a built-in USB Communication so that it can act as
Keyboard
,Mouse
,Game Controller
etc. - List of supported boards :
- Digispark ATtiny85 (USB Type-A)
- Digispark ATtiny85 (Micro USB)
The mnemoics used in this tool is heavily inspired by Hak5 Ducky Script.
- Make sure the latest python and pip3 is installed on your system (Windows/Linux/MacOS).
- Download Arduino IDE from here according to your Operating System.
- Install it.
- Done! All required libraries are pre-installed in Arduino IDE.
Mnemonics | Description | Example |
---|---|---|
TYPE | It add text want to type in the code and put the cursor on the same line. | TYPE Hello World! |
TYNL | It add text want to type in the code and put the cursor on the next line. | TYNL DigiSparkHID Scripter |
WAIT | It add time in the code. | WAIT 1000 |
PRESS | It press and hold the key(s) and then release all key(s). | PRESS GUI R |
REDO | It add loop in the code. | REDO 6 TYPE Hello World! |
- It add text want to type in the code and put the cursor on the same line.
- NEW - It supports " " in the TYPE.
- Example - TYPE Hello World!
- It add text want to type in the code and put the cursor on the next line.
- NEW - It supports " " in the TYNL.
- Example - TYNL Hello World!
- It add time in the code.
- It gives time to execute between two commands.
- Time is in milliseconds.
- 1000 ms = 1 second.
- Example - WAIT 1000
- It press and hold the key(s) and then release all key(s).
- The supported mnemonics given below works with PRESS.
- Example -
- PRESS GUI R
- PRESS CTRL SHIFT N
- PRESS CTRL SHIFT ENTER
- It add loop in the code.
- The loop used in this is
for
loop. - It takes two values : Number of repeatation and Statement inside the loop.
- Example - REDO 6 TYPE Hello World!
- Here, 6 is number of repetations and TYPE Hello World! is the statement.
- NEW - It supports multi statements.
- Multi statement are separated by comma
,
. - Example - REDO 9 TYPE Hello World!, WAIT 1000, TYPE This is a test for script!
- Here,
TYPE Hello World!
,WAIT 1000
andTYPE This is a test for script!
are three statements and they are separated by commas. - REDO only supports TYPE, TYNL and WAIT Only.
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
LEFT
UP
RIGHT
DOWN
TAB
HOME
END
PGUP
PGDN
CAPS
NUM
SCROLL
GUI
ESC
PRTSCR
PAUSE
INSERT
DEL
BKSP
ENTER
CTRL
SHIFT
ALT
`
-
=
[
]
\
;
'
,
.
/
SPACE
:
"
<
>
?
0
1
2
3
4
5
6
7
8
9
WAIT 1000
PRESS GUI R
WAIT 1000
TYPE notepad
WAIT 1000
PRESS ENTER
WAIT 1000
TYPE This is a test for digispark script developed by DigiSparkHID Scripter!
after click on Convert
button, the digispark script of the following mnemonic is :
#include<DigiKeyboard.h>
void setup()
{
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.print("notepad");
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.print("This is a test for digispark script developed by DigiSparkHID Scripter!");
}
void loop()
{
//Nothing to do here ;)
}
Just copy this code and paste it in the Arduino IDE.
WAIT 1000
PRESS GUI R
WAIT 1000
TYPE notepad
WAIT 1000
PRESS ENTER
WAIT 1000
REDO 6 TYNL This is a test for digispark script developed by DigiSparkHID Scripter!
after click on Convert
button, the digispark script of the following mnemonic is :
#include<DigiKeyboard.h>
void setup()
{
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_R,MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.print("notepad");
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
for (int i=1; i<=6; i++)
{
DigiKeyboard.println("This is a test for digispark script developed by DigiSparkHID Scripter!");
}
}
void loop()
{
//Nothing to do here ;)
}
Just copy this code and paste it in the Arduino IDE.
The tool is currently tested on :
- Windows (10)
Start your code with WAIT
so that board get time to initiate.
- Download or Clone the Repository.
- Open the folder and just double click on DigiSparkHIDScripter.py file.
- Type the mnemonics in the left window.
- Click on
Convert
button to get corresponding digispark script. - Click on
Copy
button to copy the digispark script to the clipboard. - Paste the code in the Arduino IDE.
- Compile the code.
- Select the board from the
Tools
. - Select the port number of that board.
- Upload the code.
- When it ask for Plug in device now... (will timeout in 60 seconds), then connect the board to the PC/Laptop.
- When Micronucleus done. Thank you! show, plug out the board from PC/Laptop.
-Be Careful! As it is uploaded the script start executing.