#keyboard #api #qmk #python #effect #qmk-based

qmk-via-api

基于QMK键盘的VIA API实现

1 个不稳定版本

0.0.1 2024年4月2日

#4 in #qmk

GPL-3.0-only

44KB
1K SLoC

[!WARNING]
qmk-via-api目前处于非常早期的发展阶段,大部分未经过测试。使用风险自负!

qmk-via-api

qmk-via-api为基于QMK (量子机械键盘) 固件开发的键盘提供VIA API的实现。它允许开发者以编程方式与QMK键盘交互,实现配置键盘布局、宏、灯光效果等任务。

此外,此库还包括所有API调用的Python绑定,以便将QMK键盘配置集成到基于Python的应用程序或脚本中。

用法

Rust

将以下依赖项添加到Cargo.toml

[dependencies]
qmk-via-api = "*"

用法示例

use qmk_via_api::api::KeyboardApi;

const PRODUCT_VID: u16 = 0x594D;
const PRODUCT_PID: u16 = 0x604D;
const USAGE_PAGE: u16 = 0xff60;

fn main() {
    let api = KeyboardApi::new(PRODUCT_VID, PRODUCT_PID, USAGE_PAGE);
    println!("Protocol version: {:?}", api.get_protocol_version());
    println!("Layer count: {:?}", api.get_layer_count());
}

Python

使用pip安装

pip install qmk-via-api

用法示例

import qmk_via_api

PRODUCT_VID = 0x594D
PRODUCT_PID = 0x604D
USAGE_PAGE = 0xff60

if __name__ == "__main__":
    api = qmk_via_api.KeyboardApi(PRODUCT_VID, PRODUCT_PID, USAGE_PAGE)
    print(f"Protocol version {api.get_protocol_version()}")
    print(f"Layers count: {api.get_layer_count()}")

许可及归属

本项目的Rust代码基于the VIA项目的代码,该项目受GNU通用公共许可证v3.0的许可。

依赖项

~4–12MB
~129K SLoC