From 9ba7214a7fe2da327347a6cb2984b51113055d3c Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 22 Jun 2026 01:59:34 +0000 Subject: [PATCH] Add touchy-pad plugin --- catalogue.json | 6 ++++++ icons/com.geeksville.touchypad.png | Bin 0 -> 17057 bytes 2 files changed, 6 insertions(+) create mode 100644 icons/com.geeksville.touchypad.png diff --git a/catalogue.json b/catalogue.json index b7af075..8127e4e 100644 --- a/catalogue.json +++ b/catalogue.json @@ -107,6 +107,12 @@ "repository": "https://github.com/mean-ui-thread/opendeck-stream-dock-xl", "description": "An unofficial plugin for VSD Inside / Mirabox Stream Dock XL-family devices" }, + "com.geeksville.touchypad": { + "name": "Touchy-Pad", + "author": "Geeksville", + "repository": "https://github.com/geeksville/touchy-pad", + "description": "An open-source graphical touchpad/macropad project" + }, "com.monkeykiller.plugins.opendeck-ss550": { "name": "Redragon Streamcraft SS550", "author": "MonkeyKiller", diff --git a/icons/com.geeksville.touchypad.png b/icons/com.geeksville.touchypad.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa68d60391ff61cb5e2f2f45854bc670a131fdc GIT binary patch literal 17057 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