Skip to content

Latest commit

 

History

History
122 lines (87 loc) · 5.06 KB

README_zh.md

File metadata and controls

122 lines (87 loc) · 5.06 KB

Logo

A feature-rich Rust keyboard firmware.

👉 QQ讨论群:196944384


English

特性

  • MCU支持丰富:基于 embassy,RMK 支持非常多的MCU系列,例如 stm32/nrf/rp2040/esp32等。
  • 实时键位编辑:RMK 默认支持 Vial 进行实时键位编辑,即时生效。您甚至可以通过 BLE 使用 Vial 来编辑键位。
  • 高级键盘功能:RMK 默认提供许多高级键盘功能,如层切换、媒体控制、系统控制、鼠标控制等。
  • 无线支持:RMK 支持 BLE 无线连接,包括自动重连和多设备支持,已经在 nrf52840 和 esp32 上进行了测试。
  • 易于配置:RMK提供了一个非常简单的配置键盘的方法,你只需要一个keyboard.toml文件,就可以构建起你的键盘固件(不需要写任何Rust代码)!当然,对于 Rust 开发者来说,你仍然可以使用代码方式来使用 RMK 从而获得更大的灵活性。
  • 低延迟、低电量消耗:根据测试,RMK在有线模式下延迟约为2ms,蓝牙模式下延迟约为10ms。在开启async_matrix feature之后,RMK有着非常低的电量消耗,一块2000mah的电池可以续航好几个月。

真实例子

使用 RMK

选项 1:从模板初始化

你可以使用rmkit 来从RMK的项目模版初始化你的固件工程

cargo install rmkit flip-link
rmkit init

详细步骤介绍,请查看 RMK 的 用户指南

选项 2:尝试内置的例子

RMK 内置了一些常见 MCU 的示例,这些示例可以在 examples 中找到。下面是 rp2040 的示例的简单说明:

rp2040

  1. 安装 probe-rs

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.sh | sh
  2. 构建固件

    cd examples/use_rust/rp2040
    cargo build --release
  3. 烧录固件

    如果你的 rp2040 已经通过调试器连接,那么可以使用下面的命令把 RMK 固件烧录到开发板上:

    cd examples/use_rust/rp2040
    cargo run --release
  4. 通过USB烧录

    如果你没有调试器,那么可以使用 elf2uf2-rs 通过 USB 为 rp2040 烧录固件,但是这种方式需要一些额外的步骤:

    1. 安装 elf2uf2-rs: cargo install elf2uf2-rs
    2. 更新 examples/use_rust/rp2040/.cargo/config.toml 文件,使用 elf2uf2 作为默认的烧录命令
      - runner = "probe-rs run --chip RP2040"
      + runner = "elf2uf2-rs -d"
    3. 按住 BOOTSEL 的同时插上你的 rp2040 开发板的 USB 线,然后应该有一个叫 rp 的U盘出现
    4. 执行下面的命令烧录
      cd examples/use_rust/rp2040
      cargo run --release
      如果你看到下面这样的日志,那说明烧录成功了
      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 现在的 roadmap 在这里

最小支持的 Rust 版本(MSRV)

RMK 默认使用最新的稳定版本 Rust。其他版本也应该可以使用,但是未经测试。

许可证

RMK 根据以下任一许可证许可:

你可以自由选择。