Skip to main content

qmk_via_api/
api_commands.rs

1#[cfg(feature = "python")]
2use pyo3::prelude::*;
3
4// V3
5#[cfg_attr(feature = "python", pyclass(from_py_object))]
6#[derive(Clone, Copy, Debug, PartialEq)]
7pub enum ViaCommandId {
8    GetProtocolVersion = 0x01,
9    GetKeyboardValue = 0x02,
10    SetKeyboardValue = 0x03,
11    DynamicKeymapGetKeycode = 0x04,
12    DynamicKeymapSetKeycode = 0x05,
13    DynamicKeymapClearAll = 0x06,
14    CustomMenuSetValue = 0x07, // Deprecated alias: BACKLIGHT_CONFIG_SET_VALUE
15    CustomMenuGetValue = 0x08, // Deprecated alias: BACKLIGHT_CONFIG_GET_VALUE
16    CustomMenuSave = 0x09,     // Deprecated alias: BACKLIGHT_CONFIG_SAVE
17    EepromReset = 0x0a,
18    BootloaderJump = 0x0b,
19    DynamicKeymapMacroGetCount = 0x0c,
20    DynamicKeymapMacroGetBufferSize = 0x0d,
21    DynamicKeymapMacroGetBuffer = 0x0e,
22    DynamicKeymapMacroSetBuffer = 0x0f,
23    DynamicKeymapMacroReset = 0x10,
24    DynamicKeymapGetLayerCount = 0x11,
25    DynamicKeymapGetBuffer = 0x12,
26    DynamicKeymapSetBuffer = 0x13,
27    DynamicKeymapGetEncoder = 0x14,
28    DynamicKeymapSetEncoder = 0x15,
29}
30
31#[cfg_attr(feature = "python", pyclass(from_py_object))]
32#[derive(Clone, Copy, Debug, PartialEq)]
33pub enum ViaChannelId {
34    IdCustomChannel = 0,
35    IdQmkBacklightChannel = 1,
36    IdQmkRgblightChannel = 2,
37    IdQmkRgbMatrixChannel = 3,
38    IdQmkAudioChannel = 4,
39    IdQmkLedMatrixChannel = 5,
40}
41
42#[cfg_attr(feature = "python", pyclass(from_py_object))]
43#[derive(Clone, Copy, Debug, PartialEq)]
44pub enum ViaQmkBacklightValue {
45    IdQmkBacklightBrightness = 1,
46    IdQmkBacklightEffect = 2,
47}
48
49#[cfg_attr(feature = "python", pyclass(from_py_object))]
50#[derive(Clone, Copy, Debug, PartialEq)]
51pub enum ViaQmkRgblightValue {
52    IdQmkRgblightBrightness = 1,
53    IdQmkRgblightEffect = 2,
54    IdQmkRgblightEffectSpeed = 3,
55    IdQmkRgblightColor = 4,
56}
57
58#[cfg_attr(feature = "python", pyclass(from_py_object))]
59#[derive(Clone, Copy, Debug, PartialEq)]
60pub enum ViaQmkRgbMatrixValue {
61    IdQmkRgbMatrixBrightness = 1,
62    IdQmkRgbMatrixEffect = 2,
63    IdQmkRgbMatrixEffectSpeed = 3,
64    IdQmkRgbMatrixColor = 4,
65}
66
67#[cfg_attr(feature = "python", pyclass(from_py_object))]
68#[derive(Clone, Copy, Debug, PartialEq)]
69pub enum ViaQmkLedMatrixValue {
70    IdQmkLedMatrixBrightness = 1,
71    IdQmkLedMatrixEffect = 2,
72    IdQmkLedMatrixEffectSpeed = 3,
73}
74
75#[cfg_attr(feature = "python", pyclass(from_py_object))]
76#[derive(Clone, Copy, Debug, PartialEq)]
77pub enum ViaQmkAudioValue {
78    IdQmkAudioEnable = 1,
79    IdQmkAudioClickyEnable = 2,
80}
81
82// V2
83#[cfg_attr(feature = "python", pyclass(from_py_object))]
84#[derive(Clone, Copy, Debug, PartialEq)]
85pub enum ViaLightingValue {
86    IdBacklightBrightness = 0x09,
87    IdBacklightEffect = 0x0a,
88    IdQmkRgblightBrightness = 0x80,
89    IdQmkRgblightEffect = 0x81,
90    IdQmkRgblightEffectSpeed = 0x82,
91    IdQmkRgblightColor = 0x83,
92}