KMK 固件
kmk_firmware
机器人
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
Clackety Keyboards Powered by Python
KMK 是一个基于 CircuitPython 的键盘固件项目,旨在让用户通过简单易学的 Python 脚本,轻松打造功能丰富、高度自定义的机械键盘。它解决了传统键盘固件(如 QMK)配置复杂、需要编译环境、对新手不友好的痛点,让键盘定制变得像编辑文本文件一样直观。KMK 的核心亮点在于其“即插即用”的配置方式:用户只需将写好的 Python 文件存入微控制器的“闪存盘”空间,无需 DFU 烧录或额外开发工具,即可实时修改键盘布局、宏命令和灯光效果。技术上,KMK 完全运行在 CircuitPython 之上,支持单体和分体式键盘,并集成了蓝牙 HID 功能,彻底摆脱线缆束缚。其功能特性包括链式按键(如一键锁屏)、内置 Unicode 宏(含表情符号)、RGB 底灯与 LED 背光控制,以及基于敲击次数的“Tap Dance”功能,让一个按键能衍生出多种操作。KMK 尤其适合键盘爱好者、DIY 玩家和希望快速原型验证的开发者,无论是打造个性化办公键盘、游戏键盘,还是实验性的输入设备,都能通过 Python 的灵活性快速实现。不过,项目当前已不再积极维护,仅提供有限支持,社区讨论和问题反馈主要在其 Zulip 聊天群组中进行。
标签
项目特点
**Python 配置**:通过一个简单易懂的 Python 文件完全配置键盘,无需 DFU 或其他开发工具。
**分体键盘支持**:支持单体和分体键盘。
**链式按键**:支持如 `KC.LWIN(KC.L)` 这样的链式按键,用于锁定 Windows 电脑屏幕。
**内置 Unicode 宏**:包括表情符号在内的 Unicode 宏支持。
**RGB 和 LED 支持**:支持 RGB 底光和 LED 背光。
**蓝牙 HID**:支持蓝牙 HID 和分体键盘,无需线缆。
技术规格
| 固件类型 | |
|---|---|
| 编程语言 | |
| 最低 CircuitPython 版本 | |
| 键盘类型 | |
| 连接方式 | |
| 灯光支持 | |
| 宏支持 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 支持 CircuitPython 8.0+ 的开发板 | 1 | — | 如 Raspberry Pi Pico、Adafruit 系列等 |
| 机械键盘套件或自建键盘 | 1 | — | 支持单体或分体 |
| USB 数据线 | 1 | — | 用于连接电脑和编程 |
| 蓝牙模块 | 1 | — | 如需蓝牙功能 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 电脑 | 编写和上传固件 | ✅ 是 |
| USB 数据线 | 连接微控制器 | ✅ 是 |
| 文本编辑器 | 编辑 Python 配置文件 | ✅ 是 |
| 可选:烙铁 | 焊接键盘组件 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
1/5
数理与计算
2/5
动手与操作
3/5
狂热与坚持
2/5
创造与创新
3/5
所需技能
🔧 **动手能力**:需要基本的硬件组装能力,如焊接键盘组件(可选)。
💻 **编程能力**:需要 Python 基础,了解 CircuitPython 环境。
⚡ **电子电路**:了解微控制器和键盘矩阵的基本电路知识。
适用场景
**自定义机械键盘**:为自制的机械键盘编写固件。
**学习 CircuitPython**:通过键盘固件项目学习 CircuitPython 编程。
**键盘功能扩展**:为现有键盘添加宏、RGB 灯光等高级功能。
**分体键盘项目**:构建和配置分体键盘。