18 unstable releases (3 breaking)
new 0.4.8 | Apr 26, 2024 |
---|---|
0.4.7 | Apr 26, 2024 |
0.4.6 | Feb 8, 2024 |
0.4.4 | Jan 19, 2024 |
0.1.1 | Dec 22, 2023 |
#503 in Hardware support
106 downloads per month
215KB
3.5K
SLoC
Dygma Focus API (Rust)
About
This crate is a Rust implementation of the Dygma Focus API.
Make sure to not have Bazecor running and connected while trying to communicate with your keyboard.
Usage
Cargo.toml
[dependencies]
anyhow = "1.0"
dygma_focus = { version = "0.4", default-features = false, features = ["is_async"] }
tokio = { version = "1", features = ["full"] }
You can set the features to is_async
or is_sync
depending on your use case, default is is_async
.
src/main.rs
use anyhow::Result;
use dygma_focus::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
// Open the first device found and declare as mutable
// Other constructors are under Focus::new_*
let mut focus = Focus::new_first_available()?;
// Here is an example method, most have a get and set method
// There are also other methods for triggering macros or switching layers for example
println!("version: {}", &focus.version().await?);
Ok(())
}
Projects using this crate
Dependencies
~146MB
~2.5M SLoC