Simple macro recorder for keystrokes across operating systems
Project description
Macro Recorder
A simple PySide6/Qt application for recording and replaying keyboard input. The app offers three macro slots, customizable playback timing, and persistent storage so you can automate repetitive tasks from the desktop.
Features
- Record key presses/releases with their timing
- Store up to three independent macros
- Configure repetitions and per-key delays before playback
- Inspect recorded events directly within the GUI
Requirements
- Python 3.10+
- PySide6 (Qt 6) runtime — installing the project with
pippulls the prebuilt Qt wheels for Linux, macOS, and Windows
Note: The project uses
pynputfor keyboard hooks. On Linux, that dependency will additionally pull inevdevandpython-xlib; on macOS it usespyobjcframeworks, and on Windows it installspywin32. macOS users must grant the terminal or Python executable “Accessibility” permissions so key capture can work, and Windows users should allow the app through any desktop security prompts the first time they run it.
Installation
Install from PyPI:
pip install simple_macrorecorder
Or work from source:
git clone https://github.com/werzum/MacroRecorder.git
cd MacroRecorder
python -m venv .venv
source .venv/bin/activate # use .venv\Scripts\activate on Windows PowerShell
pip install -e .
Running the application
Launch the GUI with:
python -m macrorecorder
If you installed the package globally, you can also use the console script:
macrorecorder
Macros, slot-specific delays, and repetition counts are stored in your platform’s user data directory (for example: ~/.local/share/MacroRecorder/recorded_keys.json on Linux, %APPDATA%\\MacroRecorder\\recorded_keys.json on Windows, or ~/Library/Application Support/MacroRecorder/recorded_keys.json on macOS). Your latest GUI adjustments are saved automatically when you stop recording or close the app, so the same values are restored the next time you launch Macro Recorder on any supported platform.
Typical workflow
- Start the Macro Recorder GUI.
- Choose a macro slot (1–3).
- Click Start Recording, switch to the target application, and perform the actions you want captured.
- Return to Macro Recorder and click Stop Recording.
- Adjust repetitions and delays as needed.
- Click Play Recorded Script to replay the macro.
The GUI displays the captured events for the active slot so you can review timing and key order before playback.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_macrorecorder-1.0.4.tar.gz.
File metadata
- Download URL: simple_macrorecorder-1.0.4.tar.gz
- Upload date:
- Size: 55.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
097996936570470b1fb04b1161af42f72af9a39501b4ce514eb5e5f6d2f03ecc
|
|
| MD5 |
3ac54909b52f165795d0eedf755f90a4
|
|
| BLAKE2b-256 |
7f8b73e2c304acca04f7976ffc8db2e71200d701eb284ee450a2c9dd313e4d14
|
File details
Details for the file simple_macrorecorder-1.0.4-py3-none-any.whl.
File metadata
- Download URL: simple_macrorecorder-1.0.4-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d7aa371d73146c673b5e992adbe83a5a1ef190aa1088d62d49173204ddc1011
|
|
| MD5 |
670f5306bc9cf266e8e64fa97fdb4dce
|
|
| BLAKE2b-256 |
0a9ea0a0c25e46ec12558779d4a907c5ed98e97de2213d01546ad250708cce1a
|