4 个版本
0.2.7 | 2022 年 10 月 23 日 |
---|---|
0.2.6 | 2022 年 7 月 20 日 |
0.2.5 | 2022 年 5 月 9 日 |
0.2.4 | 2022 年 4 月 7 日 |
#1503 在 硬件支持
5MB
808 行
包含 (WOFF 字体, 680KB) docs/NanumBarunGothic.ttf.woff, (WOFF 字体, 400KB) docs/NanumBarunGothic.ttf.woff2, (WOFF 字体, 190KB) docs/FiraSans-Medium.woff, (WOFF 字体, 135KB) docs/FiraSans-Medium.woff2, (WOFF 字体, 185KB) docs/FiraSans-Regular.woff, (WOFF 字体, 130KB) docs/FiraSans-Regular.woff2 及更多.
keynergy
这是 Keynergy 项目的核心库。它包括加载、修改和分析布局的功能。
它被用作 KLCord、layoutexport 的基础,以及正在开发中的 CLI 和 GUI 分析应用程序。
用法
目前不建议使用此库,因为它尚未达到 1.0.0 版本。因此,为了尽可能快地开发,将会有频繁的破坏性更改。1.0.0 版本可能直到官方 CLI 应用程序发布才发布。
贡献
这是一个小型项目,但代码可能不太符合习惯用法。如果你有任何 Rust 经验,请随时查看代码并更改你认为可以改进的任何内容。任何贡献都将受到欢迎 - 即使是文档添加或注释也极为有帮助。
lib.rs
:
Keynergy
Keynergy 是一个功能强大、高效且可扩展的键盘布局分析库。
功能
Keynergy 允许你
- 使用 Serde 序列化和反序列化布局、键盘、度量、文本数据等
- 获取文本中字符、双词、三词和跳字组的频率
- 使用 Ketos 声明性地编写自定义度量
- 在布局甚至已知之前就预先准备几乎所有分析数据,使 Keynergy 非常高效
示例
use keynergy::{Keyboard, Layout, Keys, Direction, Pos};
let mut qwerty = Keys::qwerty();
assert_eq!(qwerty.pos_key(Pos::new(0, 0)), Some(&'q'));
assert_eq!(qwerty.pos_key(Pos::new(0, 1)), Some(&'a'));
// Easily swap keys.
qwerty.swap(Pos::new(0,0), Pos::new(0, 1));
assert_eq!(qwerty.pos_key(Pos::new(0,0)), Some(&'a'));
// Provides constants for our 10 human fingers.
use keynergy::fingers::*;
// Get the direction between two fingers.
assert_eq!(Direction::from(LI, LM), Direction::Outward);
assert_eq!(Direction::from(LM, LI), Direction::Inward);
assert_eq!(Direction::from(LI, LI), Direction::None);
assert_eq!(Direction::from(LI, RM), Direction::None);
// Can also be written this way.
assert_eq!(LI.dir_to(LM), Direction::Outward);