27 个版本
0.2.4 | 2024 年 8 月 6 日 |
---|---|
0.2.3 | 2024 年 7 月 25 日 |
0.2.1 | 2024 年 6 月 16 日 |
0.1.11 | 2024 年 3 月 31 日 |
0.0.5 | 2023 年 11 月 1 日 |
#68 在 硬件支持
每月 316 次下载
用于 2 包
305KB
7K SLoC
RMK
一个功能丰富的 Rust 键盘固件。
功能
- 支持广泛的微控制器:由 embassy 驱动,RMK 支持广泛的微控制器,例如 stm32/nRF/rp2040/esp32
- 实时键映射编辑:RMK 内置 vial 支持,键映射可以即时更改
- 高级键盘功能:RMK 默认提供许多高级键盘功能,如层切换、媒体控制、系统控制、鼠标控制等
- 无线:支持 BLE 无线连接,具有自动重连/多设备功能,适用于 nRF52 和 esp32 微控制器,已在 nRF52840、esp32c3 和 esp32s3 上进行测试
- 易于配置:RMK 提供了一种简单的方法来构建您的键盘:只需一个
keyboard.toml
文件即可!对于经验丰富的 Rust 用户,您仍然可以使用 RMK 轻松自定义固件 - 低延迟和低功耗:RMK 在有线模式下的典型延迟为 2 毫秒,在无线模式下的延迟为 10 毫秒。通过启用
async_matrix
功能,RMK 具有非常低的功耗,使用 2000mAh 电池,RMK 可提供数月的电池寿命
用户文档 | API 参考 | 常见问题解答 | 变更日志
真实世界示例
rmk-ble-keyboard

用法
选项 1:从模板初始化
您可以使用 rmk-template 来初始化项目。
cargo install cargo-generate
cargo generate --git https://github.com/HaoboGu/rmk-template
然后按照生成的 README.md
中的步骤进行操作。有关详细信息,请参阅 RMK 的 用户指南。
选项 2:尝试内置示例
示例可在 examples
中找到。以下是为 rp2040 的一系列简单步骤。对于其他微控制器,步骤应与使用调试探头时相同。
rp2040
-
安装 probe-rs
cargo install probe-rs --features cli
-
构建固件
cd examples/use_rust/rp2040 cargo build
-
使用调试器进行烧录
如果您将调试器连接到您的rp2040板上,烧录非常简单:运行以下命令以自动编译并将RMK固件烧录到板上
cd examples/use_rust/rp2040 cargo run
-
(可选) 使用USB烧录
如果您没有调试器,可以使用
elf2uf2-rs
通过USB烧录固件。您需要执行一些额外的步骤- 安装
elf2uf2-rs
:cargo install elf2uf2-rs
- 更新
examples/use_rust/rp2040/.cargo/config.toml
,将elf2uf2
用作烧录工具- runner = "probe-rs run --chip RP2040" + runner = "elf2uf2-rs -d"
- 连接您的rp2040板,同时按住BOOTSEL键,确保rp的USB驱动器出现
- 烧录
然后,如果您一切顺利,将看到如下日志cd examples/use_rust/rp2040 cargo run
Finished release [optimized + debuginfo] target(s) in 0.21s Running `elf2uf2-rs -d 'target\thumbv6m-none-eabi\release\rmk-rp2040'` Found pico uf2 disk G:\ Transfering program to pico 173.00 KB / 173.00 KB [=======================] 100.00 % 193.64 KB/s
- 安装
路线图
RMK当前的路线图可以在这里找到。
最低支持的Rust版本(MSRV)
此crate使用最新稳定版。其他版本可能也能工作,但未经过测试。
许可
RMK的许可可以是以下之一
- Apache License,版本2.0(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可(LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
依赖关系
~7–19MB
~305K SLoC