{"id":20573615,"url":"https://github.com/darkokuzmanovic/capsulate","last_synced_at":"2026-01-28T23:02:07.943Z","repository":{"id":254349432,"uuid":"845715133","full_name":"DarkoKuzmanovic/Capsulate","owner":"DarkoKuzmanovic","description":"Capsulate is an AutoHotkey script that enhances the functionality of the Caps Lock key on Windows systems.","archived":false,"fork":false,"pushed_at":"2025-09-24T22:14:31.000Z","size":175,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T00:12:24.402Z","etag":null,"topics":["autohotkey","autohotkey-script","capslock-enhancement"],"latest_commit_sha":null,"homepage":"","language":"AutoHotkey","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DarkoKuzmanovic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-08-21T19:35:45.000Z","updated_at":"2025-09-24T22:11:58.000Z","dependencies_parsed_at":"2024-11-14T23:17:52.456Z","dependency_job_id":"446daf11-fc75-4f91-8038-5a42226f94ad","html_url":"https://github.com/DarkoKuzmanovic/Capsulate","commit_stats":null,"previous_names":["darkokuzmanovic/capsulate"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/DarkoKuzmanovic/Capsulate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarkoKuzmanovic%2FCapsulate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarkoKuzmanovic%2FCapsulate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarkoKuzmanovic%2FCapsulate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarkoKuzmanovic%2FCapsulate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DarkoKuzmanovic","download_url":"https://codeload.github.com/DarkoKuzmanovic/Capsulate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarkoKuzmanovic%2FCapsulate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28854436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autohotkey","autohotkey-script","capslock-enhancement"],"created_at":"2024-11-16T05:28:23.272Z","updated_at":"2026-01-28T23:02:07.931Z","avatar_url":"https://github.com/DarkoKuzmanovic.png","language":"AutoHotkey","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Capsulate\n\n![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)\n![AutoHotkey](https://img.shields.io/badge/AutoHotkey-v2.0+-green.svg)\n![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg)\n![License](https://img.shields.io/badge/license-MIT-orange.svg)\n\nCapsulate 1.0.0 is a powerful AutoHotkey v2 script that transforms the Caps Lock key into a productivity powerhouse on Windows systems. It repurposes the underutilized Caps Lock key for custom actions while maintaining the ability to toggle caps lock when needed.\n\n## 🌟 Overview\n\nCapsulate transforms your Caps Lock key into a versatile modifier key, providing instant access to:\n- 🔊 Volume and system controls\n- 🪟 Advanced window management\n- 📝 Smart text expansion and case conversion\n- ⚡ Custom application shortcuts\n- 🔧 System utilities and tools\n\nThe script features enterprise-grade reliability with comprehensive error handling, automatic updates, and a user-friendly configuration interface.\n\n## ✨ Features\n\n### 🎮 **Smart Caps Lock Control**\n- **Modifier Key**: Use Caps Lock as a powerful modifier for shortcuts\n- **Double-Click Actions**: Configurable double-click behavior (default: Esc key)\n- **Traditional Toggle**: Ctrl+Caps Lock for normal caps lock functionality\n- **Intelligent State Management**: Prevents conflicts and ensures reliable operation\n\n### 🎵 **Media \u0026 System Controls**\n- `Caps Lock + Up/Down`: Volume control\n- `Caps Lock + BackSpace`: Volume mute\n- `Caps Lock + T`: Task Manager\n- `Caps Lock + W`: Windows Update settings\n- `Caps Lock + Delete`: Disk Cleanup (with admin privileges)\n\n### 🪟 **Window Management**\n- `Caps Lock + Left/Right`: Virtual desktop switching\n- `Caps Lock + Shift + Left/Right`: Move window between monitors\n- `Caps Lock + Space`: PowerToys Run (if installed)\n- `Caps Lock + C`: Color picker\n\n### 📝 **Advanced Text Processing**\n- **Text Expansion**: Convert abbreviations to full text\n- **Case Conversion Chord**: `Caps Lock + K` then:\n  - `L`: lowercase\n  - `U`: UPPERCASE  \n  - `C`: camelCase\n  - `T`: Title Case\n  - `Space`: Trim whitespace\n- **Smart Clipboard Management**: Race condition prevention and throttling\n\n### ⚡ **Quick Shortcuts**\n- `Caps Lock + 0-9`: Launch custom applications/paths\n- `Caps Lock + P`: Generate secure 16-character password\n- `Caps Lock + E`: Expand text abbreviations\n- `Caps Lock + X`: Restart XMouseButtonControl\n- `Caps Lock + Alt + C`: Configuration GUI\n- `Caps Lock + Alt + R`: Reload script\n\n### 🎨 **User Experience**\n- **Adaptive Theme**: Tray icon automatically switches between light/dark themes\n- **Smart Tooltips**: Contextual feedback with configurable positioning\n- **Configuration GUI**: Intuitive tabbed interface for settings management\n- **Auto-Update**: Seamless updates from GitHub releases\n\n## 🚀 What's New in v1.0.0\n\n### 🛡️ **Enterprise-Grade Reliability**\n- **Comprehensive Error Handling**: Bulletproof error management throughout\n- **Advanced Logging**: Detailed logging with automatic file rotation\n- **Configuration Validation**: Automatic validation and correction of settings\n- **Security Enhancements**: Dangerous command detection for shortcuts\n\n### ⚡ **Performance Optimizations**\n- **Centralized Clipboard Manager**: Eliminates race conditions and conflicts\n- **Throttled Operations**: Prevents rapid successive clipboard operations\n- **Cached Theme Detection**: Reduced registry reads with 30-second caching\n- **Optimized Update Intervals**: Better resource management\n\n### 🏗️ **Modular Architecture**\n- **Class-Based Design**: Clean, maintainable code structure\n- **Constants Management**: Centralized configuration values\n- **Theme Manager**: Intelligent theme detection and caching\n- **Config Validator**: Robust input validation and sanitization\n\n### 🔧 **Enhanced Configuration**\n- **Semantic Version Comparison**: Proper version checking for updates\n- **Input Validation**: All settings validated with safe fallbacks\n- **Security Checks**: Prevents execution of dangerous commands\n- **Backup \u0026 Recovery**: Configuration corruption protection\n\n## 📋 **Complete Hotkey Reference**\n\n### Core Controls\n| Hotkey | Action |\n|--------|--------|\n| `Double-Click Caps Lock` | Configurable action (default: Esc) |\n| `Ctrl + Caps Lock` | Toggle Caps Lock state |\n\n### Media \u0026 Volume\n| Hotkey | Action |\n|--------|--------|\n| `Caps Lock + Up` | Volume Up |\n| `Caps Lock + Down` | Volume Down |\n| `Caps Lock + BackSpace` | Volume Mute |\n\n### Window Management\n| Hotkey | Action |\n|--------|--------|\n| `Caps Lock + Left` | Switch to left virtual desktop |\n| `Caps Lock + Right` | Switch to right virtual desktop |\n| `Caps Lock + Shift + Left` | Move window to left monitor |\n| `Caps Lock + Shift + Right` | Move window to right monitor |\n\n### Text Processing\n| Hotkey | Action |\n|--------|--------|\n| `Caps Lock + E` | Expand text abbreviation |\n| `Caps Lock + K, L` | Convert selected text to lowercase |\n| `Caps Lock + K, U` | Convert selected text to UPPERCASE |\n| `Caps Lock + K, C` | Convert selected text to camelCase |\n| `Caps Lock + K, T` | Convert selected text to Title Case |\n| `Caps Lock + K, Space` | Trim whitespace from selected text |\n\n### Utilities\n| Hotkey | Action |\n|--------|--------|\n| `Caps Lock + P` | Generate secure password |\n| `Caps Lock + T` | Open Task Manager |\n| `Caps Lock + W` | Open Windows Update |\n| `Caps Lock + C` | Color picker |\n| `Caps Lock + Delete` | Disk Cleanup (admin) |\n| `Caps Lock + X` | Restart XMouseButtonControl |\n\n### Configuration \u0026 Management\n| Hotkey | Action |\n|--------|--------|\n| `Caps Lock + Alt + C` | Open Configuration GUI |\n| `Caps Lock + Alt + R` | Reload Script |\n\n### Custom Shortcuts\n| Hotkey | Action |\n|--------|--------|\n| `Caps Lock + 0-9` | Launch custom application/path |\n\n## ⚙️ Configuration\n\n### Settings File (`config.ini`)\n```ini\n[General]\nCapsLockTimeout=300           # Double-click timeout (50-5000ms)\nDoubleClickCount=2           # Clicks needed for double-click (1-5)\nToolTipPosition=1            # 0: Near tray, 1: Near mouse\nDoubleClickAction={Esc}      # Action on double-click\n\n[Shortcuts]\n1=C:\\                        # Caps Lock + 1 launches C:\\\n2=D:\\                        # Caps Lock + 2 launches D:\\\n0=D:\\source\\repos           # Caps Lock + 0 launches repos folder\n```\n\n### Text Expansions (`expansions.ini`)\n```ini\n[Expansions]\nbtw=by the way\nomg=oh my god\nemail=your.email@example.com\nsig=Best regards,\\nYour Name\n```\n\n### Configuration GUI\nAccess the intuitive configuration interface with `Caps Lock + Alt + C`:\n- **General Tab**: Core settings and timeout configuration\n- **Text Expander Tab**: Manage abbreviations and expansions\n- Real-time validation and error checking\n\n## 📥 Installation\n\n1. **Download** the latest `Capsulate.ahk` from [Releases](https://github.com/DarkoKuzmanovic/Capsulate/releases)\n2. **Install** [AutoHotkey v2.0+](https://www.autohotkey.com/download/)\n3. **Run** `Capsulate.ahk` (double-click or run from command line)\n4. **Configure** using the tray menu or `Caps Lock + Alt + C`\n\n### Auto-Start (Optional)\nEnable \"Run at Startup\" from the tray menu to launch Capsulate automatically when Windows starts.\n\n## 🔧 Requirements\n\n- **Windows 10/11** (any edition)\n- **AutoHotkey v2.0+** (required)\n- **Administrator privileges** (for some features like Disk Cleanup)\n\n## 📊 Advanced Features\n\n### Logging \u0026 Debugging\n- Comprehensive logging to `capsulate.log`\n- Automatic log rotation at 1MB\n- Error tracking and performance monitoring\n- Debug information for troubleshooting\n\n### Security\n- Input validation for all configuration values\n- Dangerous command detection for custom shortcuts\n- Secure password generation with cryptographic randomness\n- Protected update mechanism with file verification\n\n### Performance\n- Optimized clipboard operations with mutex protection\n- Cached theme detection (30-second intervals)\n- Throttled system calls to prevent conflicts\n- Memory-efficient string operations\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how to get started:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** your changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to the branch (`git push origin feature/amazing-feature`)\n5. **Open** a Pull Request\n\nFor major changes, please open an issue first to discuss your ideas.\n\n### Development Guidelines\n- Follow AutoHotkey v2 best practices\n- Add comprehensive error handling\n- Include logging for debugging\n- Test thoroughly on different Windows versions\n- Update documentation for new features\n\n## 🐛 Troubleshooting\n\n### Common Issues\n- **Script won't start**: Ensure AutoHotkey v2.0+ is installed\n- **Shortcuts not working**: Check for conflicting software\n- **Update failures**: Verify internet connection and GitHub access\n- **Configuration errors**: Use the GUI to reset to defaults\n\n### Debug Information\nCheck `capsulate.log` for detailed error information and performance metrics.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.\n\n## 🙏 Acknowledgments\n\n- AutoHotkey community for the amazing scripting language\n- Contributors and beta testers\n- Users providing feedback and feature requests\n\n---\n\n**Made with ❤️ by [Darko Kuzmanovic](https://github.com/DarkoKuzmanovic)**\n\n*Transform your productivity with Capsulate - because your Caps Lock key deserves better!*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkokuzmanovic%2Fcapsulate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkokuzmanovic%2Fcapsulate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkokuzmanovic%2Fcapsulate/lists"}