Get duckyPad Pro | Official Discord | Getting Started | Table of Contents |
duckyPad Pro is a 20-key mechanical macropad for power users who demand advanced macro scripting and customisation beyond the shackles of QMK/VIA.
Incorporating 4 years worth of feedback from the original duckyPad, duckyPad Pro combines long-requested upgrades with a no-nonsense design, aiming simply to be the most capable macropad today.
duckyPad Pro has been successfully funded on Kickstarter with more than $100K raised!
Late Pledges still available with Jan 2025 shipping.
Join our Official Discord for discussions and updates!
duckyPad Pro has all the basics:
But also features unlike any other:
duckyPad Pro runs duckyScript, originally designed for USB Rubber Ducky.
Compared to QMK/VIA, you get:
While QMK/VIA are great for regular keyboards, they are rather hopeless at even the basics of input automations.
duckyScript is a no-brainer for power users with more demanding scripting needs.
Create up to 64 profiles, one for each application.
Assign up to 58 keys per profile (20 onboard + 6 rotary encoder + 32 external)
Names are shown on OLED screen
Write a duckyScript for each key
duckyScript is a simple language for automating inputs
You basically tell it what key to press!
Start simple by mapping shortcuts of your favourite app
Browsing
Zoom In: CTRL +
Next Tab: CTRL SHIFT TAB
OBS
Switch Scenes: F13
F14
F15
F16
Once familiar, you can write longer multi-line macros to further speed up everyday task.
Such as filling forms and typing boilerplate text with one keypress.
STRING Michael Scott
TAB
STRING United States
ENTER
STRING 5705550100
TAB
STRING michael.scott@dundermifflin.com
TAB
Or a simple mouse jiggler:
WHILE TRUE
MOUSE_MOVE $_RANDOM_INT $_RANDOM_INT
DELAY 100
END_WHILE
RGB_SET 1 128 0 255
OLED_PRINT You are in a maze
OLED_PRINT of twisty little passages
VAR $choice = $_READKEY
IF $choice == 1 THEN
OLED_CURSOR 0 10
OLED_PRINT It is a dead end.
OLED_PRINT Something moves
OLED_PRINT behind you.
END_IF
Or how about a fully working Pong game?
WHILE TRUE
$active_key = $_READKEY
update_paddle_pos()
update_ball_pos()
OLED_CLEAR
draw_paddle()
draw_court()
draw_ball()
OLED_UPDATE
DELAY 20
END_WHILE
From simple shortcuts to full-blown programs, duckyScript can easily achieve what is impossible on QMK/VIA!
Each macro can type over 60,000 characters
Store over 3700 macros in total
Executed on custom virtual stack machine
duckyPad Pro also works as a Bluetooth Keyboard & Mouse (with a catch!)
Bluetooth 5.0
Built-in Antenna for both BT and Wi-Fi
So what’s the catch?
Yes I know it’s a bit silly having BT without internal battery! However, it would involve more complex case design, additional components, and international shipping of rechargeable batteries.
All of which would inflate the cost way beyond just getting an off-the-shelf battery pack.
As this is a one-person project, I prefer to keep things simple.
duckyPad Pro also supports optional expansion modules for even more customisability.
Wire up your own switches / buttons / foot pedals
8 channels per module
Daisy-chain up to 32 channels
duckyPad Pro now runs a significantly more powerful processor:
Switching to ESP32 also allows much simpler setup for tinkering:
EMUK
KeypressesNUMLOCK
/ CAPSLOCK
/ SCROLLLOCK
status$_READKEY
Use the open-source configurator to set up your duckyPad Pro.
Windows | Mac | Linux |
Based on current active window
duckyPad Pro has 20 Mechanical Switches in 4x5 Grid.
You can pre-order duckyPad Pro on Kickstarter!
Join our Official Discord for discussions and updates!
Please feel free to open an issue, ask in the official duckyPad discord, or email dekuNukem
@gmail
.com
!
duckyPad has been in active development since 2017. However, it is not designed or certified for safety-critical applications. Use at your own risk.
Scripts are stored as plain text on the SD card. Keep in mind before including sensitive information.
duckyScript appears to be a trademark of Hak5 LLC. The duckyPad project is not affiliated with, or endorsed by Hak5 LLC.
The duckyScript compiler and virtual machine used in this project are independently developed from scratch.