A tool that record and replay keyboard and mouse macro.
Project description
Copycat
copycat is a tool that record and replay mouse and keyboard macro.
Demo
This is a short demo of the tool:
https://github.com/user-attachments/assets/4ce6616e-8fa1-4efb-8c31-f31bfe8e827c
Installation
This tool uses poetry to manage dependencies and packaging. To install all the dependencies simply run:
poetry install
Installation using pip
You can install the tool using pip:
pip install copycat
Installation using AUR
If you are using an Arch-based distribution, you can install the tool using the AUR package:
yay -S copycat
Remember to install the other dependencies from the AUR:
yay -S python-pynput python-pyautogui python-ttkthemes
Usage
You can run the tool using poetry:
poetry run copycat --help
Or you can run the tool using python:
python -m copycat --help
Or you can run the tool directly from the directory or add it to your path:
copycat --help
usage: copycat [-h] [--verbose] [--debug] [--quiet | --no-quiet | -q] [--version] [--gui] [--theme THEME] [--speed SPEED] [--reply REPLY]
Copycat is a tool that record and replay mouse and keyboard macro.
options:
-h, --help show this help message and exit
--verbose, -v Increase verbosity. Use more than once to increase verbosity level (e.g. -vvv).
--debug Enable debug mode.
--quiet, --no-quiet, -q
Do not print any output/log
--version, -V Show version and exit.
--gui Run the tool in GUI mode.
--theme THEME, -t THEME
Set the "ttkthemes" GUI theme. (Default: equilux)
--speed SPEED, -s SPEED
Speed of the macro playback. (Default: 1.0)
--reply REPLY, -r REPLY
Define macro name to reply.
How it works
First, you need to record a macro, you can do this by running the tool in GUI mode:
copycat --gui
If you want to use a different theme, you can use the --theme option:
copycat --gui --theme "arc"
Visit the ttkthemes documentation to see all the available themes.
Record a macro
Then you can record a macro by clicking the record button. Once you start recording, the GUI will hide so you can
perform any mouse and keyboard actions.
In every moment, press the ESC key to pause the recording.
You can resume the recording pressing again the record button, or you can complete the record process and save the
macro by clicking on the save button.
Select the name of the macro and click on the save button.
Replay a macro
Once you have a macro saved, you can replay it in two ways:
- by clicking on the
replaybutton, and selecting the macro you want to replay and the replayspeed(1.0 is the real record speed). - by running the tool with the
--replyoption:
copycat --reply <macro_name> --speed <speed>
Development
Testing
To run the tests simply run:
poetry run test
Update setup.py
To update the setup.py file with the latest dependencies and versions run:
poetry run poetry2setup > setup.py
Acknowledgements
This project was generated using powerful tools and libraries such as poetry, pydantic, pytest, ttkthemes, pynput pyautogui and more, I simply put the pieces together. Please check and support all the tools and libraries used in this project.
Project details
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 copycat-0.1.3.tar.gz.
File metadata
- Download URL: copycat-0.1.3.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.13.1 Linux/6.6.67-1-lts
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e0ffbc9d58ec3268db90712c627c5a66886d0ee00755d1e240d068a580cf33a
|
|
| MD5 |
42ce011be599185e4ad3b798a42902ff
|
|
| BLAKE2b-256 |
91189ce157b2eb8321bdab08dbf1e4492b92a7d7cd2b100f9e5468a6e530d3b3
|
File details
Details for the file copycat-0.1.3-py3-none-any.whl.
File metadata
- Download URL: copycat-0.1.3-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.13.1 Linux/6.6.67-1-lts
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09a927cefeeb7f543304b20532114eee069bbb79402392e9d3cff4706a04af7d
|
|
| MD5 |
3e6b5b295180c707cf449a482a4e06a8
|
|
| BLAKE2b-256 |
ae891d54c1407da6ad67f73cfb2f0925a1c137ced35cb27d733b9339e6e1cb0d
|