Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image-removebg-preview (9)

Catrina

License Python PyQt Windows Buy Me a Coffee

A Windows desktop app (PyQt6) for building and running keyboard/mouse macros and a gaming remap mode. Covers typed text, special keys, timed waits, mouse moves/clicks/scrolls, and drag sequences with absolute screen coordinates. A recorder captures real workflows live; a simple token language drives the executor.

Catrina interface

What it does

  • Record keyboard and mouse actions into a replayable macro.
  • Build macros manually with a token-based language.
  • Gaming remap (hold) mode: remap keys with hold detection, useful for repeated or held actions in games.
  • Overlay showing macro state, on any monitor corner.
  • Autosave to catrina.catrina on exit, auto-imported on next launch.

Token cheat sheet (excerpt)

Token Effect
[TYPE{text}] Type a string
[KEY{Enter}] Press a key
[WAIT{500}] Wait 500 ms
[MOVE{x,y}] Move mouse to absolute coordinates
[CLICK{left}] Click mouse button
[SCROLL{3}] Scroll wheel
[DRAG{x1,y1,x2,y2}] Drag from point to point

Min/Max jitter can be applied automatically to every [WAIT{...}] via the UI.


Install and run

Requires Python 3.10+ on Windows.

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python catrina.py

Dependencies: PyQt6, keyboard, mouse, pywin32. vgamepad is optional (Xbox virtual gamepad, disabled by default).


Hotkeys

Key Action
F10 Start macro
F11 Stop macro
F9 Toggle gaming remap mode
F8 / F12 Stop recording

Tips

  • Mouse coordinates are absolute. Adjust if you change resolution or DPI.
  • Add small waits between UI actions to prevent race conditions with async windows.
  • Macros act on the foreground window. Make sure the right app has focus before playback.
  • CTRL+ALT+DELETE cannot be synthesized by design.
  • Run as Administrator if global hotkeys fail to register.

Troubleshooting

  • Overlay not visible: enable the Overlay checkbox and pick a corner. On multi-monitor setups it uses the primary screen geometry.
  • Recorded drags become clicks: the drag distance was below the threshold. Drag further or adjust the threshold in code.
  • Too fast or slow: insert [WAIT{...}] tokens or set Min/Max jitter in the UI.

Logs are written to catrina.log (rotating). Enable Debug in the UI for verbose output.


Star History

Star History Chart

License

MIT. See LICENSE.

About

Catrina is a Windows desktop app to record, edit, and play keyboard/mouse sequences and to run a simple gaming “hold-to-remap” mode. It is built with PyQt6 and uses low-level Windows input APIs. The app focuses on being practical: fast to create macros, clear to read, and predictable when executed.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors