A Rust library for deserialising [Keyboard Layout Editor] files.
Designed to be used in conjunction with [serde_json
] to deserialize JSON files exported from KLE.
![example]
```rust
use kleserial::Keyboard; // Equivalent to kleserial::Keyboard
let keyboard: Keyboard = serdejson::fromstr( r#"[ {"name": "example"}, [{"f": 4}, "!\n1\n¹\n¡"] ]"# ).unwrap();
asserteq!(keyboard.metadata.name, "example"); asserteq!(keyboard.keys.len(), 1);
assert!(keyboard.keys[0].legends[0].issome()); let legend = keyboard.keys[0].legends[0].asref().unwrap();
asserteq!(legend.text, "!"); asserteq!(legend.size, 4);
assert!(keyboard.keys[0].legends[1].is_none()); ```
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.