30 releases

new 0.5.1 Mar 7, 2025
0.4.19 Mar 4, 2025
0.4.11 Sep 30, 2024
0.4.9 Jul 9, 2024
0.2.4 Dec 30, 2023

#240 in Hardware support

Download history 17/week @ 2024-12-08 5/week @ 2024-12-15 4/week @ 2025-02-02 1/week @ 2025-02-09 2/week @ 2025-02-16 423/week @ 2025-02-23 718/week @ 2025-03-02

1,146 downloads per month

Custom license

220KB
3K SLoC

Dygma Focus API

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]
dygma_focus = "0.5"

src/main.rs

use dygma_focus::prelude::*;

fn main() -> Result<(), FocusError> {
    // 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()?);

    Ok(())
}

Additional features

  • serde: Enables serialization
  • serde_camel_case: When serializing, the fields will be camel case

Projects using this crate

Blazecor Dygma Layer Switcher

Dependencies

~118MB
~2M SLoC