KeSp_controller/README.md

64 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# KeSp Controller
Cross-platform configurator for the KeSp split ergonomic keyboard.
Built with [Rust](https://www.rust-lang.org/) and [Slint](https://slint.dev/) UI framework.
![License: GPL-3.0](https://img.shields.io/badge/License-GPLv3-blue.svg)
## Features
- **Keymap editor** with visual keyboard layout (loaded from firmware)
- **Key selector** with categorized grid, Mod-Tap/Layer-Tap builders, hex input
- **Heatmap overlay** showing key press frequency (blue to red gradient)
- **Layer management** with switch, rename, and active indicator
- **Tap Dance** editing (4 actions per slot)
- **Combos** creation with visual key picker
- **Key Overrides** with modifier checkboxes (Ctrl/Shift/Alt)
- **Leader Keys** with sequence builder
- **Macros** with visual step builder (key presses + delays)
- **Statistics** (hand balance, finger load, row usage, top keys, bigrams)
- **OTA firmware update** via USB (no programming cable needed)
- **ESP32 flasher** (esptool-like, via programming port)
- **Settings** with keyboard layout selector (QWERTY, AZERTY, DVORAK, etc.)
- **Dracula theme** throughout
## Download
Pre-built binaries for Linux, Windows, and macOS are available on the [Releases](https://github.com/mornepousse/KeSp_controller/releases) page.
## Build from source
### Requirements
- Rust toolchain (1.75+)
- Linux: `libudev-dev libfontconfig1-dev`
### Build
```bash
cargo build --release
```
Binary will be at `target/release/KeSp_controller`.
## Usage
1. Plug in your KeSp keyboard via USB
2. Launch KeSp Controller
3. The app auto-connects to the keyboard
4. Use the tabs to configure: Keymap, Advanced, Macros, Stats, Settings, Flash
## Keyboard compatibility
Designed for the KeSp/KaSe split keyboard with:
- USB CDC serial (VID: 0xCAFE, PID: 0x4001)
- Binary protocol v2
- ESP32-S3 MCU
## License
GPL-3.0 - See [LICENSE](LICENSE)
Made with [Slint](https://slint.dev/)