#keyboard-layout #keyboard #layout #key-set #deserialize-json #kle #keycap

kle-serial

Rust用于键盘布局编辑器JSON文件的反序列化库

6个版本

0.3.0 2023年9月27日
0.2.2 2023年8月6日
0.2.1 2023年7月26日
0.1.1 2023年7月22日

865编码 中排名

Download history 4/week @ 2024-03-11 61/week @ 2024-03-18 13/week @ 2024-03-25 26/week @ 2024-04-01 21/week @ 2024-04-08 9/week @ 2024-04-29 4/week @ 2024-05-06 14/week @ 2024-05-13 3/week @ 2024-05-20 9/week @ 2024-05-27 13/week @ 2024-06-03 30/week @ 2024-06-10 2/week @ 2024-06-17 8/week @ 2024-06-24

每月下载量 53次
2 个crate中(通过 keyset-key)使用

MIT/Apache

55KB
1.5K SLoC

kle-serial — 测试状态 测试覆盖率 crate版本 Rust版本

A Rust库,用于反序列化键盘布局编辑器文件。设计用于与serde_json结合使用,以反序列化从KLE导出的JSON文件。

示例

example

use kle_serial::Keyboard; // Equivalent to kle_serial::Keyboard<f64> or kle_serial::f64::Keyboard

let keyboard: Keyboard = serde_json::from_str(
    r#"[
        {"name": "example"},
        [{"f": 4}, "!\n1\n¹\n¡"]
    ]"#
).unwrap();

assert_eq!(keyboard.metadata.name, "example");
assert_eq!(keyboard.keys.len(), 1);

assert!(keyboard.keys[0].legends[0].is_some());
let legend = keyboard.keys[0].legends[0].as_ref().unwrap();

assert_eq!(legend.text, "!");
assert_eq!(legend.size, 4);

assert!(keyboard.keys[0].legends[1].is_none());

许可证

许可协议为以下之一

任选其一。

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在此crate中的任何贡献,将按上述方式双重许可,不附加任何其他条款或条件。

依赖项

~0.6–1.3MB
~29K SLoC