Skip to content

Latest commit

 

History

History
87 lines (59 loc) · 3.21 KB

File metadata and controls

87 lines (59 loc) · 3.21 KB

LED 命令列表

该鼠标的 LED 分为3个区域,滚轮、LOGO和下方灯条,滚轮和LOGO都有1颗灯,下方灯条有9颗。

每个 profile 可以独立保存每个区域的灯效和亮度,可以保存的灯效一共有3种,固定、RGB循环和波动。此外,还有不借助灯效,可以直接设置 LED 颜色的命令,可以用软件实现灯光效果。

相关的命令:

get_led_effect

读命令 写命令 读取参数长度 数据参数长度
0x0f82 0x0f02 1(profile)+1(region) 10

设置某个 profile 某个区域的灯效。灯效和亮度是独立的,可以分别设置,这个只设置灯效。灯效会保存到 profile 中,断电可以保留,切换 profile 的时候可以自动变化。

如果灯效没有起作用,可能是当前的 profile 不是设置的 profile,或者是亮度调的比较低,需要使用下面的命令把亮度调高。

读取参数中的 region 一项,可以取值:

  • 0x00,写入时代表对全部区域写入
  • 0x01,滚轮
  • 0x04,LOGO
  • 0x0a,灯带

数据参数的格式是:

  • 1字节 effect
  • 1字节 mode
  • 1字节 speed
  • 1字节 颜色个数n
  • 3*n字节 颜色的 r, g, b 数值

虽然格式是上面那样子,看似有很多信息,但是实际上可能雷蛇现在更注重软件实现的灯效,板载灯效实现的特别少,我目前测试出来的只有3种,如下:

  • effect = 0: 熄灭,调整亮度没作用

静态颜色:

  • 1字节 effect = 1: 静态颜色
  • 1字节 mode 任意
  • 1字节 speed 任意
  • 1字节 颜色个数 n = 1
  • 3字节 颜色 r, g, b 固定颜色的数值

RGB 循环 spectrum

  • 1字节 effect = 3: spectrum
  • 1字节 mode = 1
  • 1字节 speed 任意,对循环速度没有影响
  • 1字节 颜色个数 n = 0

RGB 波浪 wave

  • 1字节 effect = 4: wave
  • 1字节 mode:
    • mode = 0: 静止
    • mode = 1: 俯视顺时针 红绿蓝变化
    • mode = 2: 俯视逆时针 蓝绿红变化
  • 1字节 speed 速度
    • speed = 0是最快,一秒变化好多次
    • speed = 0x30 大概 1.2s循环一个周期
    • speed = 0xff 大概 6s循环一个周期
  • 1字节 颜色个数 n = 0

此外,还有一个 effect = 8 的模式,其他参数可置为0,这个模式是配合 set_led_static 使用的,但是没有实际效果。

set_led_static

读命令 写命令 读取参数长度 数据参数长度
- 0x0f03 0 5 + 11*3

该命令需要配合 set_led_effect 的 effect = 8 使用,首先先设置 effect = 8,然后再发送这个命令,可以立即设置所有区域每颗灯的颜色,不会写入 flash,用来实现动画(软件效果),可以很高频率写入也没关系。

命令参数为:

  • 5字节 固定内容 00 00 00 00 0a
  • 11*3字节,11个颜色值,顺序为 logo,滚轮,灯条逆时针方向

get_led_brightness

读命令 写命令 读取参数长度 数据参数长度
0x0f84 0x0f04 1(profile)+1(region) 1

给某 profile 设置(读取)某个区域 LED 的亮度。读取参数和 get_led_effect 相同,数据参数是 0~255 的值,表示亮度。