An open API service indexing awesome lists of open source software.

https://github.com/two-tech-dev/keypilot

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.
https://github.com/two-tech-dev/keypilot

Last synced: about 1 month ago
JSON representation

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.

Awesome Lists containing this project

README

          

# KeyPilot


KeyPilot Logo

**Ứ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.**

Giúp thao tác nhanh hơn trong game, công việc và automation.

## ✨ Features

### Core Features (v1.0)

- ⌨️ **Add key bind** - Gán phím bàn phím để click chuột
- 🎯 **Capture screen coordinate** - Chọn vị trí click trực quan trên màn hình
- 🌐 **Global hotkey hook** - Hoạt động toàn hệ thống, kể cả trong game
- 🖱️ **Click execution** - Hỗ trợ Left Click, Right Click, Middle Click, Double Click
- 💾 **Profile save** - Lưu các bind thành profile
- 📤 **Profile export/import** - Xuất/nhập profile dạng JSON
- 🔀 **Toggle binds ON/OFF** - Bật/tắt từng bind hoặc toàn bộ
- 📌 **Tray mode** - Chạy nền qua System Tray

### Quality-of-life

- 📁 Multi-profile support
- 🔄 Reload profiles instantly
- ⚠️ Duplicate bind check
- 🔒 Disable individual bind

## 🚀 Quick Start

### Installation

#### Option 1: Installer (Recommended)

1. Tải file `KeyPilot-Setup-1.0.0.exe` từ [Releases](https://github.com/Hyper-Tech-Studio/KeyPilot/releases/latest)
2. Chạy installer và làm theo hướng dẫn
3. Có thể chọn tạo shortcut Desktop và khởi động cùng Windows

#### Option 2: Portable

1. Tải file `KeyPilot-Portable-1.0.0.zip` từ [Releases](https://github.com/Hyper-Tech-Studio/KeyPilot/releases/latest)
2. Giải nén vào thư mục bất kỳ
3. Chạy `KeyPilot.exe`

#### Option 3: Build from Source

```bash
git clone https://github.com/Hyper-Tech-Studio/KeyPilot.git
cd KeyPilot/src/KeyPilot
dotnet build --configuration Release
```

### Usage

1. **Mở ứng dụng** - KeyPilot sẽ hiện cửa sổ chính
2. **Thêm Bind** - Click "Add Bind"
3. **Chọn phím** - Nhấn phím bạn muốn gán
4. **Chọn vị trí** - Click vào nút capture và chọn vị trí trên màn hình
5. **Lưu** - Click "Save"
6. **Thu nhỏ** - Click X để minimize to tray
7. **Sử dụng** - Nhấn phím đã gán để click tự động

## 📋 System Requirements

- **OS**: Windows 10/11 (64-bit)
- **Runtime**: Không cần cài thêm (self-contained)
- **RAM**: 50 MB
- **Disk**: 200 MB
- **Quyền**: Không cần Administrator (trừ khi click trong ứng dụng elevated)

## 🎮 Use Cases

| Persona | Use Case |
| ------------------------- | -------------------------------------- |
| **Gamer** | Kích skill, ability, button trong game |
| **Office** | Automation tác vụ đơn giản |
| **Streamer** | Bấm nút trong OBS, streaming tools |
| **Developer/QA** | Test UI lặp lại |
| **Automation Enthusiast** | Tự động hóa workflow |

## 📁 Project Structure

```
KeyPilot/
├── src/
│ └── KeyPilot/
│ ├── Models/ # Data models (KeyBind, Profile, Settings)
│ ├── Services/ # Core services (Keyboard, Mouse, Profile)
│ ├── ViewModels/ # MVVM ViewModels
│ ├── Views/ # WPF Windows and Controls
│ ├── Converters/ # Value converters
│ ├── Themes/ # Styles and resources
│ └── Assets/ # Icons and images
├── docs/ # Documentation
└── README.md
```

## 🔧 Configuration

Profiles và settings được lưu tại:

```
%APPDATA%/KeyPilot/
├── profiles.json
└── settings.json
```

### Export/Import Profile

Profiles có thể export ra file `.json` để chia sẻ hoặc backup:

```json
{
"version": "1.0",
"exportedAt": "2026-01-26T12:00:00",
"profile": {
"name": "My Profile",
"binds": [
{
"keyName": "F1",
"keyCode": 112,
"x": 500,
"y": 300,
"action": "LeftClick",
"delayMs": 0,
"isEnabled": true
}
]
}
}
```

## ⚙️ Settings

| Setting | Description |
| ------------------- | ---------------------------------- |
| `StartMinimized` | Khởi động ẩn vào system tray |
| `StartWithWindows` | Tự động chạy khi Windows khởi động |
| `MinimizeToTray` | Minimize vào tray thay vì taskbar |
| `ShowNotifications` | Hiện notification khi click |

## 🛠️ Development

### Prerequisites

- .NET 8.0 SDK
- Visual Studio 2022 hoặc VS Code với C# extension

### Build

```bash
dotnet build
```

### Run

```bash
dotnet run --project src/KeyPilot
```

### Publish

```bash
dotnet publish -c Release -r win-x64 --self-contained true
```

## 📝 Keyboard Shortcut Reference

| Key | Action |
| ------- | ---------------------------- |
| ESC | Cancel coordinate capture |
| Any key | Can be bound to click action |

## ⚠️ Known Limitations

- Fullscreen exclusive games có thể không hoạt động (sử dụng Borderless Windowed)
- Multi-monitor: toạ độ có thể âm cho màn hình bên trái
- Một số ứng dụng elevated có thể không nhận click

## 📄 License

MIT License - xem file [LICENSE](LICENSE) để biết thêm chi tiết.

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

---


Made with ❤️ by Hyper Tech Studios