back to home

dekuNukem / duckyPad-Pro

Advanced Input Automation with duckyScript

147 stars
19 forks
3 issues
CLinker ScriptMakefile

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing dekuNukem/duckyPad-Pro in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/dekuNukem/duckyPad-Pro)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

duckyPad Pro: Advanced Macro Scripting Beyond QMK/VIA 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. Using a Turing-complete scripting language with **massive on-board storage**, it can automate **any keyboard/mouse input** you want, from **simple combos** to **full-blown programs**. Get One duckyPad Pro has been successfully funded on Kickstarter with more than $100K raised! • Now available on my Tindie Store! 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** engine, **NOT QMK/VIA**. • **Longer and more complex** macros • **64 profiles**, 3712 macros. • **OLED** screen • **Bluetooth** • Real-time Clock (RTC) • **Expansion Modules** for external switches / foot pedals • Profile Auto-switching based on **active window**. • microSD storage • No proprietary drivers, works out-of-box. • **Hacker friendly** with tinkering guide duckyScript vs QMK/VIA duckyPad Pro runs **duckyScript**, originally designed for the USB Rubber Ducky. Compared to QMK/VIA, you get: • **Much Longer Macros** • Entire Bee Movie in one macro? Sure thing! • Over 3700 macros total • **Turing-Complete Scripting** • Variables, conditions, loops, functions, and more. • Executed on 32-bit Bytecode VM • With **Scratch** and **Non-volatile Memory** • **Advanced Interactions** • Reading Buttons • Print to OLED screen • Change RGB Color • How about a fully functional Pong game? [[code]](resources/pong.txt) • **SD Card Storage** • Fast Configuration / Backup / Deployment • No sketchy drivers or apps • No recompiling While QMK/VIA are great for regular keyboards, they are rather limited at input automations. duckyScript 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 Easy Start • **duckyScript** is a language for automating inputs • At simplest, you just tell it **what key to press!** • Such as **key combos** of your favorite app **Browsing** Zoom In: Next Tab: 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. Or a simple mouse jiggler: 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 Or how about a fully working Pong game? Hackerman • Of course, by automating inputs, you can take over an entire computer with the push of a button! • This is known as BadUSB attack, and was the original purpose of USB Rubber Ducky. --------- 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 Bluetooth 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?** • You need to provide your own USB battery bank 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 using an off-the-shelf battery pack. As this is a one-person project, I prefer to keep things simple. Expansion Modules 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 New CPU duckyPad Pro now runs a significantly more powerful processor: • ESP32-S3 • Dual-Core @ 240 MHz • 4MB Flash Memory • 512KB RAM • 2MB PSRAM Switching to ESP32 also allows **much simpler setup for tinkering:** • VSCode IDE • Open-source toolchain • USB Flashing, no external programmer needed. • Tinkering guide provided QoL Updates • Separate script for **on press** and **on release** • **Abort execution** with any key • Read / / status • Switch profile by name (instead of number) • Configurable screen orientation • Mount SD Card as **USB Storage** • Blocking • Much faster configurator load/save • **Drag & drop** firmware update • More sturdy +/- button • Reinforced hotswap socket solder pads • A lot more under-the-hood optimizations duckyPad Configurator Use the open-source configurator to set up your duckyPad Pro. • Windows | Mac | Linux • No account / subscription needed • No data collection / telemetry Profile Auto-switching • Automatically jump to the appropriate profile • Based on **current active window** Mechanical Switches duckyPad Pro has **20 Mechanical Switches** in **4x5 Grid.** • Kailh hot-swap socket • Cherry-MX compatible (Both 3 and 5-Pin) • North-facing ARGB LED • Configurable colour & brightness Rotary Encoders • Two Encoders • Bourns Inc. PEC12R Series • Built-in Tactile Switch • Max Knob Diameter: 24mm OLED Display • 128x128 • 1.5 inch • High contrast with true black • **Configurable orientation** • Burn-in Prevention Interested? Available on my Tindie store! Join our Official Discord for discussions and updates! Specifications Questions or Comments? Please feel free to open an issue, ask in the…