{"id":49915727,"url":"https://github.com/two-tech-dev/keypilot","last_synced_at":"2026-05-16T16:10:40.338Z","repository":{"id":334770849,"uuid":"1142197073","full_name":"two-tech-dev/KeyPilot","owner":"two-tech-dev","description":"KeyPilot is a lightweight Windows automation tool that lets you bind keyboard shortcuts to clickable screen positions. Supports global hotkeys, multi-monitor setups, and profile export/import.","archived":false,"fork":false,"pushed_at":"2026-01-26T05:56:15.000Z","size":160,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-13T15:36:17.798Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/two-tech-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":null,"dco":null,"cla":null}},"created_at":"2026-01-26T04:35:24.000Z","updated_at":"2026-01-26T06:13:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/two-tech-dev/KeyPilot","commit_stats":null,"previous_names":["hyper-tech-studio/keypilot","two-tech-dev/keypilot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/two-tech-dev/KeyPilot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/two-tech-dev%2FKeyPilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/two-tech-dev%2FKeyPilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/two-tech-dev%2FKeyPilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/two-tech-dev%2FKeyPilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/two-tech-dev","download_url":"https://codeload.github.com/two-tech-dev/KeyPilot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/two-tech-dev%2FKeyPilot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33109465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":[],"created_at":"2026-05-16T16:10:35.583Z","updated_at":"2026-05-16T16:10:40.332Z","avatar_url":"https://github.com/two-tech-dev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KeyPilot\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.png\" alt=\"KeyPilot Logo\" width=\"128\"/\u003e\n\u003c/p\u003e\n\n**Ứng dụng Windows cho phép gán phím tắt để click vào các vị trí trên màn hình.**\n\nGiúp thao tác nhanh hơn trong game, công việc và automation.\n\n## ✨ Features\n\n### Core Features (v1.0)\n\n- ⌨️ **Add key bind** - Gán phím bàn phím để click chuột\n- 🎯 **Capture screen coordinate** - Chọn vị trí click trực quan trên màn hình\n- 🌐 **Global hotkey hook** - Hoạt động toàn hệ thống, kể cả trong game\n- 🖱️ **Click execution** - Hỗ trợ Left Click, Right Click, Middle Click, Double Click\n- 💾 **Profile save** - Lưu các bind thành profile\n- 📤 **Profile export/import** - Xuất/nhập profile dạng JSON\n- 🔀 **Toggle binds ON/OFF** - Bật/tắt từng bind hoặc toàn bộ\n- 📌 **Tray mode** - Chạy nền qua System Tray\n\n### Quality-of-life\n\n- 📁 Multi-profile support\n- 🔄 Reload profiles instantly\n- ⚠️ Duplicate bind check\n- 🔒 Disable individual bind\n\n## 🚀 Quick Start\n\n### Installation\n\n#### Option 1: Installer (Recommended)\n\n1. Tải file `KeyPilot-Setup-1.0.0.exe` từ [Releases](https://github.com/Hyper-Tech-Studio/KeyPilot/releases/latest)\n2. Chạy installer và làm theo hướng dẫn\n3. Có thể chọn tạo shortcut Desktop và khởi động cùng Windows\n\n#### Option 2: Portable\n\n1. Tải file `KeyPilot-Portable-1.0.0.zip` từ [Releases](https://github.com/Hyper-Tech-Studio/KeyPilot/releases/latest)\n2. Giải nén vào thư mục bất kỳ\n3. Chạy `KeyPilot.exe`\n\n#### Option 3: Build from Source\n\n```bash\ngit clone https://github.com/Hyper-Tech-Studio/KeyPilot.git\ncd KeyPilot/src/KeyPilot\ndotnet build --configuration Release\n```\n\n### Usage\n\n1. **Mở ứng dụng** - KeyPilot sẽ hiện cửa sổ chính\n2. **Thêm Bind** - Click \"Add Bind\"\n3. **Chọn phím** - Nhấn phím bạn muốn gán\n4. **Chọn vị trí** - Click vào nút capture và chọn vị trí trên màn hình\n5. **Lưu** - Click \"Save\"\n6. **Thu nhỏ** - Click X để minimize to tray\n7. **Sử dụng** - Nhấn phím đã gán để click tự động\n\n## 📋 System Requirements\n\n- **OS**: Windows 10/11 (64-bit)\n- **Runtime**: Không cần cài thêm (self-contained)\n- **RAM**: 50 MB\n- **Disk**: 200 MB\n- **Quyền**: Không cần Administrator (trừ khi click trong ứng dụng elevated)\n\n## 🎮 Use Cases\n\n| Persona                   | Use Case                               |\n| ------------------------- | -------------------------------------- |\n| **Gamer**                 | Kích skill, ability, button trong game |\n| **Office**                | Automation tác vụ đơn giản             |\n| **Streamer**              | Bấm nút trong OBS, streaming tools     |\n| **Developer/QA**          | Test UI lặp lại                        |\n| **Automation Enthusiast** | Tự động hóa workflow                   |\n\n## 📁 Project Structure\n\n```\nKeyPilot/\n├── src/\n│   └── KeyPilot/\n│       ├── Models/           # Data models (KeyBind, Profile, Settings)\n│       ├── Services/         # Core services (Keyboard, Mouse, Profile)\n│       ├── ViewModels/       # MVVM ViewModels\n│       ├── Views/            # WPF Windows and Controls\n│       ├── Converters/       # Value converters\n│       ├── Themes/           # Styles and resources\n│       └── Assets/           # Icons and images\n├── docs/                     # Documentation\n└── README.md\n```\n\n## 🔧 Configuration\n\nProfiles và settings được lưu tại:\n\n```\n%APPDATA%/KeyPilot/\n├── profiles.json\n└── settings.json\n```\n\n### Export/Import Profile\n\nProfiles có thể export ra file `.json` để chia sẻ hoặc backup:\n\n```json\n{\n    \"version\": \"1.0\",\n    \"exportedAt\": \"2026-01-26T12:00:00\",\n    \"profile\": {\n        \"name\": \"My Profile\",\n        \"binds\": [\n            {\n                \"keyName\": \"F1\",\n                \"keyCode\": 112,\n                \"x\": 500,\n                \"y\": 300,\n                \"action\": \"LeftClick\",\n                \"delayMs\": 0,\n                \"isEnabled\": true\n            }\n        ]\n    }\n}\n```\n\n## ⚙️ Settings\n\n| Setting             | Description                        |\n| ------------------- | ---------------------------------- |\n| `StartMinimized`    | Khởi động ẩn vào system tray       |\n| `StartWithWindows`  | Tự động chạy khi Windows khởi động |\n| `MinimizeToTray`    | Minimize vào tray thay vì taskbar  |\n| `ShowNotifications` | Hiện notification khi click        |\n\n## 🛠️ Development\n\n### Prerequisites\n\n- .NET 8.0 SDK\n- Visual Studio 2022 hoặc VS Code với C# extension\n\n### Build\n\n```bash\ndotnet build\n```\n\n### Run\n\n```bash\ndotnet run --project src/KeyPilot\n```\n\n### Publish\n\n```bash\ndotnet publish -c Release -r win-x64 --self-contained true\n```\n\n## 📝 Keyboard Shortcut Reference\n\n| Key     | Action                       |\n| ------- | ---------------------------- |\n| ESC     | Cancel coordinate capture    |\n| Any key | Can be bound to click action |\n\n## ⚠️ Known Limitations\n\n- Fullscreen exclusive games có thể không hoạt động (sử dụng Borderless Windowed)\n- Multi-monitor: toạ độ có thể âm cho màn hình bên trái\n- Một số ứng dụng elevated có thể không nhận click\n\n## 📄 License\n\nMIT License - xem file [LICENSE](LICENSE) để biết thêm chi tiết.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ by \u003cb\u003eHyper Tech Studios\u003c/b\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwo-tech-dev%2Fkeypilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwo-tech-dev%2Fkeypilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwo-tech-dev%2Fkeypilot/lists"}