Dark Fantasy Themed CTRL Key Locker for MU Online
Maintain your Greater Fortitude buff with style โจ
- Overview
- Features
- Quick Start
- Installation
- Usage
- Building from Source
- Configuration
- Documentation
- Security
- Contributing
- License
DarkCtrlKeeper is a professional Windows desktop application designed specifically for MU Online gamers. It provides CTRL key locking functionality to maintain continuous auto-attack and includes an intelligent buff timer for tracking the Greater Fortitude skill duration.
- ๐ฏ Purpose-Built: Designed specifically for MU Online's Greater Fortitude buff management
- ๐จ Beautiful UI: Dark fantasy themed interface that complements MU Online's aesthetic
- ๐ Safe & Secure: Open source, no data collection
- ๐ป Professional: Built with modern Python, PyQt6, and best practices
-
๐ CTRL Key Locking
- Virtually press and hold CTRL key for continuous auto-attack
- Instant release with button click
- Safe cleanup ensures CTRL is never stuck
-
โฑ๏ธ Greater Fortitude Timer
- 60-second countdown with automatic reset
- Detects when you press your buff hotkey (4 or 5)
- Color-coded warnings: Green โ Yellow โ Red
- Visual "BUFF" alert when timer expires
-
๐จ Dark Fantasy UI
- Custom-designed gothic interface
- Beautiful PNG assets with glowing effects
- Transparent, frameless, always-on-top window
- Draggable to position anywhere on screen
-
โ๏ธ Customization
- Choose between hotkey 4 or 5 for buff tracking
- Stop/Resume timer controls
- Manual reset button
-
๏ฟฝ Resizable Window
- Drag the gothic-styled grip in the bottom-right corner to resize
- All UI elements, fonts, and buttons scale proportionally
- Window maintains its aspect ratio at every size
- Cursor changes to resize arrow when hovering the grip
-
๐พ Persistent Settings
- Hotkey selection (4 or 5) is remembered between sessions
- Window size is restored on next launch
- Settings saved automatically on every change and on close
- CTRL always starts released on launch for safety
- Stored at
%APPDATA%\DarkCtrlKeeper\settings.json(packaged)
-
๏ฟฝ๐ Administrator Privileges
- Automatically requests UAC elevation
- Required for global keyboard control
- Download the latest release from GitHub Releases
- Extract the ZIP file to your preferred location
- Run
DarkCtrlKeeper.exe - Click "Yes" when Windows asks for administrator privileges
That's it! See Quick Start Guide for detailed instructions.
# Clone repository
git clone https://github.com/maorga/DarkCtrlKeeper.git
cd DarkCtrlKeeper
# Create virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txt
# Run from source
python src/main.py- OS: Windows 10/11 (primary), Windows 7/8 (untested)
- Python: 3.8 or higher (for running from source)
- RAM: ~150MB
- Disk: ~50MB
- Go to Releases
- Download
DarkCtrlKeeper_v1.1.0.zip - Extract to
C:\Games\DarkCtrlKeeper(or any location) - Run
DarkCtrlKeeper.exe
# 1. Clone the repository
git clone https://github.com/maorga/DarkCtrlKeeper.git
cd DarkCtrlKeeper
# 2. Create virtual environment (recommended)
python -m venv venv
# 3. Activate virtual environment
.\venv\Scripts\Activate.ps1 # PowerShell
# OR
.\venv\Scripts\activate.bat # Command Prompt
# 4. Install dependencies
pip install -r requirements.txt
# 5. Run the application
python src/main.py-
Launch the application
- Double-click
DarkCtrlKeeper.exeor runpython src/main.py - Click "Yes" on UAC prompt
- Double-click
-
Lock CTRL for auto-attack
- Click "Lock CTRL" button (left)
- Status changes to "CTRL IS PRESSED" (red)
-
Cast Greater Fortitude
- Press 4 or 5 in MU Online (select in app)
- Countdown automatically resets to 60.0 seconds
-
Monitor buff duration
- Green (60-30s): Safe, plenty of time
- Yellow (30-10s): Prepare to rebuff soon
- Red (10-0s): Rebuff NOW!
- BUFF Alert: Buff has expired
-
Release CTRL when needed
- Click "Release CTRL" button (right)
| Key | Action |
|---|---|
| 4 or 5 | Reset countdown to 60.0 (based on your selection) |
- Positioning: Drag the window to position it near your MU Online window
- Resizing: Drag the bottom-right corner grip to resize; the entire UI scales with the window
- Multiple Accounts: Run multiple instances for different characters
- Timer Control: Use STOP to pause, RESET to manually reset
- Safe Exit: Always releases CTRL automatically when closed
- Settings: Your hotkey choice and window size are saved automatically
See USAGE.md for comprehensive usage instructions.
This software is provided for educational and convenience purposes only.
- Game Terms of Service: Users are responsible for ensuring compliance with MU Online's Terms of Service
- Use at Own Risk: The author is not responsible for any game account actions
- No Affiliation: Not affiliated with, endorsed by, or connected to MU Online or Webzen
- Local Use Only: This tool operates locally and does not modify game files or memory
By using this software, you acknowledge that you use it at your own discretion and risk.
This is the original DarkCtrlKeeper by @MaorG.
- Remove credits
- Add malware
- Charge money for free software
โ Always download from official releases only
# Install all dependencies including build tools
pip install -r requirements.txt
# Verify all assets are present
Get-ChildItem assets\# Build using the spec file
pyinstaller DarkCtrlKeeper.spec
# Output location
dist\DarkCtrlKeeper.exeThe build is fully configured in DarkCtrlKeeper.spec:
- Single-file exe (
--onefile) - No console window (
--windowed) - UAC elevation on launch (
uac_admin=True) - Bundled
assets/folder - Custom icon
assets/ICON.ico Pillowis required at build time for icon processing (included inrequirements.txt)
DarkCtrlKeeper automatically saves and restores user preferences with no setup required.
| Setting | What is saved | Default |
|---|---|---|
hotkey |
Selected buff hotkey ("4" or "5") |
"5" |
window_width |
Last window width in pixels | 356 |
window_height |
Last window height in pixels | 430 |
lock_active |
Always restored as released | true |
Storage location:
- Packaged exe:
%APPDATA%\DarkCtrlKeeper\settings.json - Running from source: project root
settings.json
The file is created automatically on first use. If it is missing or corrupt the app silently falls back to defaults.
| Variable | Description | Default |
|---|---|---|
APP_VERSION |
Application version | 1.1.0 |
DEBUG |
Enable debug mode (true/false) |
false |
- Quick Start Guide - Get up and running in 5 minutes
- Project Summary - Technical architecture overview
- Implementation Summary - Implementation notes
- Build Fix Summary - Build troubleshooting
- Security Policy - Security best practices
- Interface Specs - UI specifications
- Visual Layout Guide - Design guidelines
- โ Open Source: All code is visible and auditable
- โ No Data Collection: Zero tracking or telemetry
- โ Safe Download: Only download from official GitHub releases
- โ Administrator Required: Needed for keyboard control (normal)
- โ
Dependencies Pinned: Exact versions in
requirements.txt - โ Comprehensive .gitignore: Prevents accidental commits
Read the full Security Policy
Found a security issue? Please DO NOT open a public issue. Email the maintainer directly at [your.email@example.com].
Contributions are welcome! Here's how you can help:
- ๐ Report Bugs: Open an issue with detailed steps to reproduce
- ๐ก Suggest Features: Share your ideas in GitHub Issues
- ๐ Improve Documentation: Fix typos, add examples, clarify instructions
- ๐ง Submit Code: Fork, create a branch, and submit a pull request
# Fork and clone your fork
git clone https://github.com/YOUR_USERNAME/DarkCtrlKeeper.git
cd DarkCtrlKeeper
# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and test
python src/main.py
# Run tests (if pytest installed)
pytest tests/
# Commit and push
git add .
git commit -m "Add your feature"
git push origin feature/your-feature-name
# Open pull request on GitHub- Follow PEP 8 style guide
- Add docstrings to functions and classes
- Write tests for new features
- Update documentation as needed
- No secrets in commits
This project is licensed under the MIT License.
MIT License
Copyright (c) 2025 MaorG
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
See LICENSE for full text.
- PyQt6 - Powerful cross-platform GUI framework
- pynput - Reliable cross-platform keyboard control
- MU Online Community - Inspiration and feedback
- Contributors - Thank you to everyone who has contributed!
- ๐ Documentation: Check the docs/ folder
- ๐ Bug Reports: GitHub Issues
- ๐ก Feature Requests: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- GitHub: @maorga
- Repository: DarkCtrlKeeper
Status: โ
Production Ready
Version: 1.1.0
Last Updated: May 15, 2026
- Resizable window with proportional UI scaling
- Persistent settings (hotkey, window size)
- Multiple buff timers
- Customizable hotkeys
- Sound notifications
- macOS/Linux support
- Tray icon integration
Made with โค๏ธ for the MU Online community
โญ Star this project if you find it useful! โญ
