# duckyPad Pro: Macro Scripting Beyond QMK/VIA

Advanced Input Automation with duckyScript

- **Seller:** [dekuNukem's Shop](https://lectronz.com/stores/dekunukem), Nottingham, UK
- **Price:** $84.99 (USD, before shipping and taxes)
- **Availability:** In stock
- **Categories:** Keyboards, ESP32
- **Product page:** https://lectronz.com/products/duckypad-pro-macro-scripting-beyond-qmk-via

## Options

**Shipping update**

- I'm on holiday!
- Order now, ships 14 Oct.

**Mounting Plates**

- Pure White FR4
- Brushed Aluminum [Add $14.99]

**Keycaps**

- None
- 20x Blank Milky Translucent Keycaps [Add $14.99]

**Mechanical Switches**

- None
- 20x Gateron Blue (Clicky) [Add $14.99]
- 20x Kailh Box NAVY (Heavy Crisp Clicky) [Add $21.99]

**Rotary Encoders**

- Both Tactile
- Upper Tactile Lower Smooth [Add $2.99]
- Upper Smooth Lower Tactile [Add $2.99]
- Both Smooth [Add $5.99]

**Upper Knob Colour**

- White, 3D Printed.
- Silver, Anodised Aluminium. [Add $1.99]
- Blue, Anodised Aluminium. [Add $2.99]
- Green, Anodised Aluminium. [Add $2.99]
- Red, Anodised Aluminium. [Add $2.99]
- Lavender, Anodised Aluminium. [Add $2.99]
- Copper, Anodised Aluminium. [Add $2.99]

**Lower Knob Colour**

- White, 3D Printed.
- Silver, Anodised Aluminium. [Add $1.99]
- Blue, Anodised Aluminium. [Add $2.99]
- Green, Anodised Aluminium. [Add $2.99]
- Red, Anodised Aluminium. [Add $2.99]
- Lavender, Anodised Aluminium. [Add $2.99]
- Copper, Anodised Aluminium. [Add $2.99]

**Keycap & Switch Puller**

- None
- 1x Keycap & Switch Puller [Add $3.99]

## Links

- [Documentation](https://dekunukem.github.io/duckyPad-Pro/)
- [Code](https://github.com/dekuNukem/duckyPad-Pro)

## Images

![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDY0MjcsInB1ciI6ImJsb2JfaWQifX0=--ee6201ad10ee3cbc2d69a2280a3418038910a353/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/title_3x2.jpeg)
![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDY0MzEsInB1ciI6ImJsb2JfaWQifX0=--f92aa6cb0f5db042fcff86edf315b789f8124442/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSCF7433.jpeg)
![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDY0NDQsInB1ciI6ImJsb2JfaWQifX0=--d60b518a185cb3eaef1fbc21b8558b3b3cedf825/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSCF1441.jpeg)
![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDY0MzYsInB1ciI6ImJsb2JfaWQifX0=--6f881123ef43ba9c7117f20731b12e001c2cccba/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSCF1439.jpeg)
![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDY0NDAsInB1ciI6ImJsb2JfaWQifX0=--029ca69fa4750fdd651b7250d3322af62d7e3a4a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSCF7493.jpeg)
![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDc1NzksInB1ciI6ImJsb2JfaWQifX0=--38c3bf6f081f84df6ed49501783465f1e7d6f918/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSCF9440.jpeg)
![duckyPad Pro: Macro Scripting Beyond QMK/VIA](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDY0NTIsInB1ciI6ImJsb2JfaWQifX0=--b0af3d3e69a7e32196ac0ef70fab5638383662da/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/DSCF7812%20(1).jpeg)

## Description

duckyPad Pro is a 20-key **mechanical macropad** for power users who demand **advanced macro scripting and customisation** beyond the shackles of QMK/VIA.

Using a [Turing-complete scripting language](https://dekunukem.github.io/duckyPad-Pro/doc/duckyscript_info.html) with **massive on-board storage**, it can automate **any keyboard/mouse input** you want, from **simple combos** to **full-blown programs**.

No drivers needed. Works anywhere.

-----

## Highlights

duckyPad Pro has all the basics:

* Hot-Swap
* Rotary Encoders (**Tactile or Smooth**)
* Per-key RGB
* 100% **Open-source**

-----

But also features **unlike any other**:

* Custom **[duckyScript](https://dekunukem.github.io/duckyPad-Pro/doc/duckyscript_info.html)** engine, **NOT QMK/VIA**.
* **Longer and more complex** macros
	* **60K characters** per macro
	* Over 3700 macros
	* On-board SD storage
* **OLED** screen
* **Bluetooth**
* Real-time Clock (RTC)
* [Profile Auto-switching](https://github.com/dekuNukem/duckyPad-profile-autoswitcher) based on **active window**.
* microSD storage
* No proprietary drivers, works out-of-box.
* **Hacker friendly** with [tinkering guide](https://dekunukem.github.io/duckyPad-Pro/doc/tinkering_guide.html)

![alt text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/quarter.jpeg)

-----

## duckyScript vs QMK/VIA

duckyPad runs **duckyScript**, originally designed for [USB Rubber Ducky](https://shop.hak5.org/products/usb-rubber-ducky-deluxe).

Compared to QMK/VIA, you get:

* **Much Longer Macros**
	* Type over **60,000 characters** per macro
	* [Entire Bee Movie](https://github.com/dekuNukem/duckyPad-Pro/blob/master/resources/sample_profiles/sample_profiles/profile1_Welcome/key7.txt) in one macro? Sure thing!

* **Turing-Complete Interactive Scripting**
	* Variables, Conditions, Loops, Functions, and more.
		* Read Buttons / Print to OLED / Set RGB / Real-time Clock
	* Executed on [32-bit Bytecode VM](https://duckypad.github.io/DuckStack/)
		* How about a fully functional [Pong game?](https://github.com/dekuNukem/duckyPad-Pro/blob/master/resources/photos/pong.gif) [(Code)](https://github.com/dekuNukem/duckyPad-Pro/blob/master/resources/pong.txt)

* On-board **SD Card Storage**
	* Fast Config / Backup / Deployment
	* No Recompiling

* Fully **Open Source**
	* MIT License
	* No Sketchy Drivers or Apps
	* [Tinkering Welcome!](https://dekunukem.github.io/duckyPad-Pro/doc/tinkering_guide.html)

From **simple shortcuts** to **full-blown programs**, duckyPad can easily achieve what was impossible on QMK/VIA.

duckyPad aims to be the **most capable macropad today**, and is a no-brainer for power users with more demanding scripting needs.

-----

## How It Works / Showcase

* 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

![alt](https://dekunukem.github.io/duckyPad-Pro/resources/photos/ps.jpeg)

### Easy Start

* **duckyScript** is a language for automating inputs
	* At simplest, you just tell it **what key to press!**
* Ideal for **key combos** of your favorite apps

**Browsing**:

Zoom In: `CTRL +`

Next Tab: `CTRL SHIFT TAB`

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/firefox.gif)

### Up a Notch

* 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.

![alt_text](https://github.com/dekuNukem/duckyPad-Pro/blob/master/resources/photos/dhlcode.png?raw=true)

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/addr.gif)

Or a simple mouse jiggler:

![alt_text](https://github.com/dekuNukem/duckyPad-Pro/blob/master/resources/photos/jigcode.png?raw=true)

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/jig.gif)

### Full Potential

* Going all-out, duckyScript is a **Turing-Complete** **general-purpose** language.
* You can use it to:
	* Read Buttons
	* Write to OLED screen
	* Change RGB colors
	* Perform operations with **32-bit variables**, **conditions**, **loops**, **function call**s, and more!
* Write ultra-specific macros for your exact needs

How about a fully working [Pong game](https://dekunukem.github.io/duckyPad-Pro/resources/pong.txt)?

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/pong.gif)

### Hackerman

* Of course, by automating inputs, you can take over an entire computer with the push of a button!

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/badusb.gif)

* This is known as [BadUSB attack](https://arstechnica.com/information-technology/2014/07/this-thumbdrive-hacks-computers-badusb-exploit-makes-devices-turn-evil/), and was the original purpose of [USB Rubber Ducky](https://shop.hak5.org/products/usb-rubber-ducky-deluxe).

### Nothing Like It

* From **simple shortcuts** to **full-blown programs**, duckyScript can easily achieve what was impossible on QMK/VIA.

* Each macro can contain over **60,000 characters**

* Store over **3700 macros** in total

* Executed on custom [virtual stack machine](https://duckypad.github.io/DuckStack/)

-----

## Bluetooth

duckyPad Pro also works as a **Bluetooth Keyboard & Mouse**

* Bluetooth 5.0
* Built-in Antenna for both BT and Wi-Fi
* Provide your own battery bank

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/ipad.gif)

-----

## Profile Auto-switching

* [Automatically jump to the appropriate profile](https://github.com/dekuNukem/duckyPad-profile-autoswitcher)
* Based on **current active window**

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/autoswitch.gif)

-----

## Questions or Comments?

Please feel free to ask in the [official duckyPad discord](https://discord.gg/4sJCBx5), or email `dekuNukem`@`gmail`.`com`!

-----

## Specifications

![alt_text](https://dekunukem.github.io/duckyPad-Pro/resources/photos/spec.png)



## Shipping policy

Royal Mail Domestic: 1-2 Days
DHL International: 1-2 days
Royal Mail International: 5-10 working days.

