From 88b51bd39972ccb3fee2b3fd490fccec34dd4866 Mon Sep 17 00:00:00 2001 From: Mae PUGIN <48982737+mornepousse@users.noreply.github.com> Date: Tue, 7 Apr 2026 16:50:39 +0200 Subject: [PATCH] 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) --- .gitignore | 4 ++++ Cargo.toml | 3 +++ LICENSE | 22 +++++++++++++++++++ README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore index ea8c4bf..84b8c03 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ /target +*.swp +*.swo +*~ +.DS_Store diff --git a/Cargo.toml b/Cargo.toml index 97f1e24..40686a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,9 @@ name = "KeSp_controller" version = "1.0.0" edition = "2021" +license = "GPL-3.0" +description = "Cross-platform configurator for the KeSp split ergonomic keyboard" +repository = "https://github.com/mornepousse/KeSp_controller" [dependencies] slint = "1" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c2d6fb5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + For the complete license text, see diff --git a/README.md b/README.md new file mode 100644 index 0000000..69a1456 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# 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/)