#keyboard #firmware #usb-device

no-std keyberon

通过定义结构体解析命令行参数

2个版本

0.1.1 2020年9月28日
0.1.0 2020年9月14日

1558嵌入式开发

每月 30 次下载

MIT 许可证

1MB
1K SLoC

Keyberon 构建状态

一个用于创建纯Rust键盘固件的rust crate。

它作为一个库提供,让你可以使用不同的构建块来创建功能丰富的键盘固件。由于不同的功能由crate的用户相互连接,你可以只使用你感兴趣的部分,或者轻松地在其中插入自己的代码。

这个crate是一个no_std crate,运行在稳定的Rust上。要在给定的MCU上使用它,你需要通过嵌入式hal crate读取按键状态,并通过usb-device crate进行USB通信。

使用此固件的项目

使用此固件的第一个项目是Keyberon grid,一个带有键网的点焊键盘。它基于blue pill,一种基于STM32F103 MCU的廉价开发板。

keyberon-grid

有一个移植Cannon KeysOrtho60键盘套件(基于blue pill)。

Ortho60

另一个使用keyberon的点焊项目是keyberon-f4,一个未分割的人体工学键盘。它运行在基于STM32F401 MCU的WeAct MiniF4上。

keyberon-f4

TssT16的4x12键盘(基于blue pill)

TssT16's

gilescope的4x12键盘(keyberon grid,基于blue pill)

gilescope's

covah901的键盘(基于WeAct MiniF4

covah901

KeySeeBee,一个分割的人体工学键盘(基于STM32F072)。

KeySeeBee

功能

支持的功能包括

  • 在按住键时(即 fn 键)。当同时按住多个层键时,数字会相加(如果您有一个层 1 键和一个层 2 键,同时按住它们时,将激活层 3)。
  • 透明键,即在替代层上,键具有默认层的相同行为。
  • 动态更改默认层。
  • 单个按键发送多个键。这允许您拥有复杂快捷键的键,例如复制粘贴键、Alt 键的 tab 键或您想要的任何键。
  • 按住点击:根据键是按住还是点击,执行不同的操作。例如,您可以将一个键设置为在按住时切换层,在点击时切换空格。

常见问题解答

Keyberon,这个名字是什么意思?

为了找到新的、可查找和记忆的项目名称,Rust 社区的一些人试图将城市名称与项目相关的关键词混合。例如,您有从日本首都东京和 IO(输入输出)中汲取其名称的 Tokio 项目,这是该项目的主要内容。

因此,我必须找到这样的名字。在机械键盘社区中,“keeb”是键盘的俚语。因此,我搜索了发音为[kib]的城市,最好是法国,因为它是项目的起源国。我发现 Quiberon,因此我将该项目命名为 Keyberon。

依赖项