Skip to content

mbwilding/dygma-focus-api-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dygma Focus API (Rust)

crates.io

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

Dygma Layer Switcher

About

Dygma Focus API in Rust

Resources

License

Stars

Watchers

Forks

Languages