I've been a long-time World of Warcraft player, though I often find myself more as a spectator in the community rather than an active participant. Today, I'd like to change that by sharing something I've developed and seeking your feedback.
About six months ago I've been working on and using a software tool I've developed called Rotator. My goal was to find a new way to leverage on-screen cues to automate gameplay rotations and skill usage in general. It leverages existing addons (Hekili and similar) to provide on-screen queues and then uses image recognition to trigger keypresses on OS level.
Setup: Configure Hekili (or a similar addon) to display rotation icons under specified conditions (e.g., when in combat, raid, arena).
Screen Selection: Launch Rotator and select the screen area where the Hekili icon appears.
Key Association: Link WoW icons (sourced from sites like Wowhead) to the keyboard shortcuts on your action bars (e.g., Ctrl+1, Ctrl+Alt+9).
Operational Modes:
- Automatic: Rotator continuously scans the selected screen area, and when it detects a matching icon, it triggers the corresponding shortcut in WoW.
- On-Press: The screen is scanned for icon matches when you hold a configurable button, sending the shortcut once a match is detected.
I've written Rotator in Python, using low-level OS libraries to simulate keypress events, making it currently compatible with Windows 10+ (tested on Windows 11), with potential easy porting to macOS. It runs on all WOW versions, including Classic, Retail, and PTR. That said it will also work in any other games with similar mechanics - but I've only tested it in WoW.
It executes the keypresses on the OS level, so it doesn't interact with the game client directly, making it much harder to detect. It's also designed to be as lightweight as possible, with minimal CPU and memory usage. Typical turnaround between icon detection and keypress is between 10-50ms, depending on the system and conditions.
I'd love to get your thoughts on this tool. Is this something you might find useful? Any concerns about its functionality? I'm here for an open and constructive discussion!
I'd also be interested in taking on a few beta testers to help me refine the tool further. If you're interested, please let me know, and I'll reach out to you directly. Assuming that there is enough interest, I'm also considering making the tool available to the public, so I'd like to gauge the community's interest in that as well.
Looking forward to your feedback and suggestions!
Some screenshots:







