- Python 100%
| macro_pad.py | ||
| macros.json | ||
| README.md | ||
Macro Pad
Ein einfaches Windows-Tool mit grafischer Oberfläche (basierend auf customtkinter), das
konfigurierbare Tastenkombinationen ("Makros") als klickbare Buttons anzeigt. Ein Klick auf
einen Button sendet die hinterlegte Tastenkombination an das zuletzt aktive Fenster, sodass
das Macro Pad wie eine virtuelle Makrotastatur funktioniert.
Funktionen
- Anzeige von Makros aus einer JSON-Datei (
macros.json) als Buttons in einem responsiven Grid - Auswahl einer beliebigen Makro-JSON-Datei über einen Dateidialog ("Öffnen...")
- Neuladen der aktuellen Datei ("Neu laden")
- Zoom-Funktion (50–250 %) zur Anpassung der Button-Größe
- Verfolgung des zuletzt aktiven externen Fensters, damit Tastenkombinationen dort ausgeführt
werden, auch wenn das Macro Pad selbst den Fokus hat (immer im Vordergrund,
-topmost) - Tooltips mit dem hinterlegten Shortcut beim Überfahren eines Buttons mit der Maus
Voraussetzungen
- Windows (verwendet die Windows-API über
ctypes/user32) - Python 3.9+
- Abhängigkeiten:
customtkinterpyautogui
Installation der Abhängigkeiten:
pip install customtkinter pyautogui pyinstaller
Konfiguration der Makros
Die Makros werden in einer JSON-Datei definiert. Standardmäßig wird macros.json im selben
Verzeichnis wie macro_pad.py verwendet, falls vorhanden. Jeder Eintrag besteht aus einem
Label und einer Liste von Tasten, die per pyautogui.hotkey(...) gesendet werden:
[
{
"label": "Reformat Code",
"keys": [
"ctrl",
"alt",
"l"
]
},
{
"label": "Search Everywhere",
"keys": [
"shift",
"shift"
]
}
]
Hinweis: Der Sonderfall ["shift", "shift"] wird als zweifacher, einzelner Druck der
Shift-Taste interpretiert (z. B. für "Search Everywhere" in JetBrains-IDEs).
Über den Button "Öffnen..." kann jederzeit eine andere JSON-Datei ausgewählt werden; über "Neu laden" wird die aktuell geladene Datei erneut eingelesen.
Ausführung aus dem Quellcode
python macro_pad.py
Erstellen einer ausführbaren Datei (.exe) mit PyInstaller
Für die Verteilung als eigenständige Windows-Anwendung kann macro_pad.py mit
PyInstaller zu einer .exe-Datei gepackt werden.
Installation von PyInstaller
pip install pyinstaller
Build aus dem Skript
PyInstaller kann direkt mit den passenden Optionen aufgerufen werden.
pyinstaller --noconfirm --onefile --windowed --name macro_pad macro_pad.py
Optionen im Überblick:
--onefile: Erzeugt eine einzelne, eigenständige.exe-Datei.--windowed: Unterdrückt die Konsole, da es sich um eine GUI-Anwendung handelt.--name macro_pad: Legt den Namen der erzeugten.exe-Datei fest.
Ergebnis
Nach einem erfolgreichen Build befindet sich die ausführbare Datei unter:
dist/macro_pad.exe
Die Verzeichnisse build/ und dist/ sowie die von PyInstaller generierten Zwischendateien
werden bei jedem Build neu erzeugt und müssen nicht manuell gepflegt werden.
Hinweis zur Makro-Datei bei Verwendung der .exe
Die gebaute .exe-Datei sucht standardmäßig nach macros.json im selben Verzeichnis wie die
Programmdatei. Liegt dort keine passende Datei vor, kann über den Button "Öffnen..." innerhalb
der Anwendung jederzeit eine beliebige JSON-Datei mit Makros ausgewählt werden.