Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Macro Recorder

Desktop macro recorder/player built with Python, customtkinter, and pynput.

It can:

  • record keyboard and mouse actions
  • edit recorded actions in the UI
  • add, delete, and reorder actions
  • save and load macros as JSON
  • configure global control keys from the Settings menu
  • add a fixed extra delay between playback actions

Requirements

  • Windows
  • Python 3.10+ recommended
  • PowerShell (for the build script)
  • Oblitum Interception Driver (must be installed on the system for kernel-level inputs)

Install

Create and activate a virtual environment, then install dependencies:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt

Run

Start the app from the repo root:

.\.venv\Scripts\python.exe main.py

Note: For script execution, either ensure the Interception driver is in your system path, or place interception.dll in the dist/ folder.

Usage

  1. Click Record or use the configured record hotkey.
  2. Perform the keyboard/mouse actions you want to capture.
  3. Click Stop.
  4. Select any recorded action in the list to edit its fields.
  5. Use Add Action, Delete Action, Move Up, and Move Down to adjust the sequence.
  6. Set Loops and optional Extra Delay (ms) before playback.
  7. Click Play.

Control Keys

Open Settings -> Control Keys to change the global hotkeys for:

  • record
  • play
  • stop (primary)
  • stop (secondary)

The app stores these settings in settings.json next to the script or built executable.

Build EXE

Use the included PowerShell script to install dependencies into the local venv and build with PyInstaller:

.\build_exe.ps1

To force a clean rebuild:

.\build_exe.ps1 -Clean

If MacroRecorder.spec exists, the script uses it. Otherwise it falls back to building from main.py.

The output executable is expected at:

dist\MacroRecorder.exe

Important: To ensure the executable functions properly, you MUST place interception.dll in the dist\ folder alongside MacroRecorder.exe.

Files

  • main.py: UI and settings
  • backend.py: recording, event normalization, and playback
  • build_exe.ps1: venv-aware build script
  • MacroRecorder.spec: PyInstaller spec

Notes

  • Global hotkeys depend on the OS allowing pynput hooks.
  • Some applications may block or ignore simulated input generated by automation tools.
  • Saved macros are plain JSON and can be versioned or edited manually if needed.

About

Kernel level macro recorder/player and editor

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages