KeSp_controller/README.md
Mae PUGIN 88b51bd399 docs: Add README, LICENSE (GPL-3.0), prepare for public release
- README with features, build instructions, usage
- GPL-3.0 license (compatible with Slint GPLv3 tier)
- Updated Cargo.toml with license, description, repository
- Cleaned up .gitignore

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 16:50:39 +02:00

1.9 KiB

KeSp Controller

Cross-platform configurator for the KeSp split ergonomic keyboard.

Built with Rust and Slint UI framework.

License: GPL-3.0

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 page.

Build from source

Requirements

  • Rust toolchain (1.75+)
  • Linux: libudev-dev libfontconfig1-dev

Build

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

Made with Slint