Files
Razer-led-mac/utils/const.go
2026-02-09 00:25:07 +08:00

63 lines
2.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package utils
// --- 硬件识别常量 ---
// RAZER_VID (Vendor ID) 是雷蛇在 USB 协会注册的厂商唯一识别码
const RAZER_VID = 0x1532
// RAZER_DEVICES 将产品 ID (PID) 映射到具体的设备型号名称
var RAZER_DEVICES = map[uint16]string{
0x0A24: "雷蛇猎魂光轮 V3 竞技版 (BlackWidow V3 TKL)",
0x0013: "Razer Orochi 2011 (八岐大蛇)",
}
// RAZER_DEVICE_TYPES 定义设备的分类,用于后续逻辑区分键盘或鼠标
var RAZER_DEVICE_TYPES = map[uint16]string{
0x0A24: "keyboard",
0x0013: "mouse",
}
// RAZER_TRANSACTION_IDS 事务 ID用于协议握手确保指令被正确识别
var RAZER_TRANSACTION_IDS = map[uint16]uint8{
0x0A24: 0x1F,
0x0013: 0xFF,
}
// --- 协议报文配置 ---
// REPORT_LEN 定义了发送给 USB 设备的标准报文长度(通常为 90 字节)
const REPORT_LEN = 90
// VARSTORE 指向设备的非易失性存储区域,用于断电后保存配置
const VARSTORE = 0x01
// --- 灯效模式常量 (鼠标) ---
const MOUSE_EFFECT_STATIC = 0x01 // 鼠标:常亮模式
const MOUSE_EFFECT_BREATHING = 0x02 // 鼠标:呼吸模式
const MOUSE_EFFECT_WAVE = 0x03 // 鼠标:波浪模式
const MOUSE_EFFECT_REACTIVE = 0x04 // 鼠标:响应模式(点击触发)
// --- 灯效模式常量 (键盘) ---
const KBD_EFFECT_STATIC = 0x01 // 键盘:常亮模式
const KBD_EFFECT_BREATHING = 0x02 // 键盘:呼吸模式
const KBD_EFFECT_WAVE = 0x03 // 键盘:波浪模式
const KBD_EFFECT_REACTIVE = 0x04 // 键盘:响应模式
const KBD_EFFECT_OFFLIGHTS = 0x099 // 键盘:关灯模式
// --- 指令集参数 (鼠标) ---
const MOUSE_SCROLL_WHEEL_LED = 0x01 // 鼠标滚轮灯光控制索引
const MOUSE_CMD_CLASS = 0x0F // 鼠标指令分类 (Command Class)
const MOUSE_CMD_ID = 0x02 // 鼠标指令标识 (Command ID)
const MOUSE_DATA_SIZE = 9 // 鼠标数据包的有效负载长度
// --- 指令集参数 (键盘) ---
const KBD_BACKLIGHT_LED = 0x05 // 键盘背光灯光控制索引
const KBD_CMD_CLASS = 0x0F // 键盘指令分类 (Command Class)
const KBD_CMD_ID = 0x02 // 键盘指令标识 (Command ID)
const KBD_DATA_SIZE = 9 // 键盘数据包的有效负载长度