CreatorCreator
首页
快速上手
  • 中文简体
  • English
首页
快速上手
  • 中文简体
  • English
  • Creator

    • 快速上手
  • Stream Dock

    • 插件SDK
    • 图标包

      • 概述
      • 术语
      • 创建图标包
      • 图标规格
    • 场景配置

      • 什么是场景配置?
      • 导出
      • 使用案例
  • mPanel

    • 插件SDK
  • Cpp SDK

    • 概述
    • 依赖安装
    • 设备管理器
    • StreamDock 基类
    • 通信传输
    • 示例
    • API参考
    • 源代码
  • Python SDK

    • 概述
    • 依赖安装
    • 设备管理器
    • StreamDock 基类
    • API 参考
    • 示例
    • 源代码
  • Windows-WebSocket SDK

    • 概述
    • 快速上手
    • 发送的事件
    • 接收的事件
    • 源代码
  • 支持

    • 帮助和错误报告

发送的事件

您可以通过 WebSocket 向 SDK 发送以下命令来控制您的 StreamDock 设备。

设备规格参考

在设置图片时,请注意不同设备的规格差异:

设备型号屏幕尺寸按键尺寸特殊说明
StreamDock 293800×480100×10015个按键
StreamDock 293V3800×480112×11215个按键
StreamDock 293s800×480100×10015个按键
StreamDock N3320×24064×646个按键
StreamDock N4800×480112×112 (按键) / 176×112 (副屏)15个按键 + 4个旋钮
StreamDock N1480×85496×9617个按键+1个旋钮
StreamDock M3854×48096×96 (按键) / 176×96 (副屏)15个按键 + 4个旋钮
StreamDock M18480×27264×6418个按键
StreamDock XL1024×60080×8032个按键 + 2个侧边拨片开关
K1Pro-112×1126个按键 + 3个旋钮

可用命令

命令功能描述
getFirmVersion获取设备固件版本
read开始监听设备事件(按键、旋钮等)
setBackgroundImg设置设备背景图片
setBackgroundImgData通过数据设置背景图片
clearAllIcon清空所有按键图标
clearIcon清空指定按键图标
setKeyImg设置按键图标
setKeyImgData通过数据设置按键图标
setBrightness调整设备亮度
refresh刷新设备显示
setLEDBrightness设置 LED 亮度
setLEDColor设置 LED 颜色
resetLEDColor重置 LED 颜色
setKeyboardLightingEffects设置键盘灯效
setKeyboardLightingSpeed设置键盘灯效速度
setKeyboardRGBBacklight设置键盘 RGB 背光
setKeyboardOSMode设置键盘系统模式 (Win/Mac)
setKeyboardBacklightBrightness设置键盘背光亮度

getFirmVersion

获取设备固件版本信息。

{
    "event": "getFirmVersion",
    "path": "设备路径"
}

参数说明:

  • event: 固定为 "getFirmVersion"
  • path: 设备的唯一标识符(设备连接时会自动获取)

read

开始监听设备事件,如按键按下、旋钮旋转等操作。连接设备后建议立即发送此命令以启用事件监听。

{
    "event": "read",
    "path": "设备路径"
}

参数说明:

  • event: 固定为 "read"
  • path: 设备的唯一标识符(设备连接时会自动获取)

使用提示:

  • 设备断开连接后会自动停止监听
  • 重新连接设备后需要再次发送此命令

setBackgroundImg

设置设备背景图片。请注意,不同设备支持的背景图片尺寸不同。

{
    "event": "setBackgroundImg",
    "path": "设备路径",
    "payload": {
        "imagePath": "图片文件路径"
    }
}

参数说明:

  • event: 固定为 "setBackgroundImg"
  • path: 设备的唯一标识符
  • payload.imagePath: 背景图片的文件路径

重要提示:

  • 设置背景图片过程中请勿发送其他命令,否则可能导致显示异常
  • 需要先发送 read 命令才能接收背景设置成功的通知
  • 不同设备支持的背景图片尺寸请参考上方的设备规格表

setBackgroundImgData

通过图片数据设置设备背景图片,适用于动态生成图片的场景。

{
    "event": "setBackgroundImgData",
    "path": "设备路径",
    "payload": {
        "imgData": "base64编码的图片数据"
    }
}

参数说明:

  • event: 固定为 "setBackgroundImgData"
  • path: 设备的唯一标识符
  • payload.imgData: Base64编码的RGB格式图片数据

重要提示:

  • 设置背景图片过程中请勿发送其他命令
  • 需要先发送 read 命令才能接收背景设置成功的通知

示例:

const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
canvas.width = 800
canvas.height = 480

ctx.fillStyle = "pink";
ctx.fillRect(0, 0, 800, 480);
ctx.font = `${100}px'YaHei'`;
ctx.fillStyle = "white";
ctx.fillText("TEST", 150, 100);

const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
const byteArray = imageData.data; // 获取字节数组

// 将 RGBA 转换为 RGB(SDK里面用的是RGB通道)
const rgbByteArray = [];
for (let i = 0; i < byteArray.length; i += 4) {
    rgbByteArray.push(byteArray[i+2], byteArray[i+1], byteArray[i]);
}

// 将 RGB 字节数组转换为 Base64 
function byteArrayToBase64(byteArray) {
    let binary = '';
    for (let i = 0; i < byteArray.length; i++) {
        binary += String.fromCharCode(byteArray[i]);
    }
    return btoa(binary); // 将二进制字符串转换为 Base64
}

const base64String = byteArrayToBase64(rgbByteArray);
const data = {
    "event": "setBackgroundImgData",
    "path": path,
    "payload": {
        "imgData": base64String,
    }
};
ws.send(JSON.stringify(data));

clearAllIcon

清空设备上所有按键的图标。建议在设置新图标前先执行此操作。

{
    "event": "clearAllIcon",
    "path": "设备路径"
}

参数说明:

  • event: 固定为 "clearAllIcon"
  • path: 设备的唯一标识符

clearIcon

清空指定按键的图标。

{
    "event": "clearIcon",
    "path": "设备路径",
    "payload": {
        "keyIndex": 1
    }
}

参数说明:

  • event: 固定为 "clearIcon"
  • path: 设备的唯一标识符
  • payload.keyIndex: 要清空的按键编号(从1开始)

setKeyImg

设置指定按键的图标。请注意不同设备支持的图标尺寸不同。

{
    "event": "setKeyImg",
    "path": "设备路径",
    "payload": {
        "imagePath": "图标文件路径",
        "keyIndex": 1
    }
}

参数说明:

  • event: 固定为 "setKeyImg"
  • path: 设备的唯一标识符
  • payload.imagePath: 图标文件的路径
  • payload.keyIndex: 按键编号(从1开始)

使用技巧:

  • 不同设备支持的图标尺寸请参考上方的设备规格表

setKeyImgData

通过图片数据设置指定按键的图标,适用于动态生成图标的场景。

{
    "event": "setKeyImgData",
    "path": "设备路径",
    "payload": {
        "imgData": "base64编码的图片数据",
        "keyIndex": 1
    }
}

参数说明:

  • event: 固定为 "setKeyImgData"
  • path: 设备的唯一标识符
  • payload.imgData: Base64编码的RGB格式图片数据
  • payload.keyIndex: 按键编号(从1开始)

重要提示:

  • 不同设备支持的图标尺寸请参考上方的设备规格表

setBrightness

调整设备屏幕亮度。

{
    "event": "setBrightness",
    "path": "设备路径",
    "payload": {
        "brightness": 80
    }
}

参数说明:

  • event: 固定为 "setBrightness"
  • path: 设备的唯一标识符
  • payload.brightness: 亮度值(0-100,0为最暗,100为最亮)

refresh

刷新设备显示,使设置的图标或背景立即生效。

{
    "event": "refresh",
    "path": "设备路径"
}

参数说明:

  • event: 固定为 "refresh"
  • path: 设备的唯一标识符

setLEDBrightness

设置 LED 亮度。

{
    "event": "setLEDBrightness",
    "path": "设备路径",
    "payload": {
        "brightness": 80
    }
}

参数说明:

  • event: 固定为 "setLEDBrightness"
  • path: 设备的唯一标识符
  • payload.brightness: 亮度值(0-100)

setLEDColor

设置 LED 颜色。

{
    "event": "setLEDColor",
    "path": "设备路径",
    "payload": {
        "r": 255,
        "g": 0,
        "b: 0
    }
}

参数说明:

  • event: 固定为 "setLEDColor"
  • path: 设备的唯一标识符
  • payload.r: 红色分量 (0-255)
  • payload.g: 绿色分量 (0-255)
  • payload.b: 蓝色分量 (0-255)

resetLEDColor

重置 LED 颜色。

{
    "event": "resetLEDColor",
    "path": "设备路径"
}

参数说明:

  • event: 固定为 "resetLEDColor"
  • path: 设备的唯一标识符

setKeyboardLightingEffects

设置键盘灯效。

{
    "event": "setKeyboardLightingEffects",
    "path": "设备路径",
    "payload": {
        "effect": 1
    }
}

参数说明:

  • event: 固定为 "setKeyboardLightingEffects"
  • path: 设备的唯一标识符
  • payload.effect: 灯效模式 (0-9)

setKeyboardLightingSpeed

设置键盘灯效速度。

{
    "event": "setKeyboardLightingSpeed",
    "path": "设备路径",
    "payload": {
        "speed": 5
    }
}

参数说明:

  • event: 固定为 "setKeyboardLightingSpeed"
  • path: 设备的唯一标识符
  • payload.speed: 速度值 (0-7)

setKeyboardRGBBacklight

设置键盘 RGB 背光。

{
    "event": "setKeyboardRGBBacklight",
    "path": "设备路径",
    "payload": {
        "r": 255,
        "g": 0,
        "b": 0
    }
}

参数说明:

  • event: 固定为 "setKeyboardRGBBacklight"
  • path: 设备的唯一标识符
  • payload.r: 红色分量 (0-255)
  • payload.g: 绿色分量 (0-255)
  • payload.b: 蓝色分量 (0-255)

setKeyboardOSMode

设置键盘系统模式。

{
    "event": "setKeyboardOSMode",
    "path": "设备路径",
    "payload": {
        "osMode": 0
    }
}

参数说明:

  • event: 固定为 "setKeyboardOSMode"
  • path: 设备的唯一标识符
  • payload.osMode: 0: Windows, 1: macOS

setKeyboardBacklightBrightness

设置键盘背光亮度。

{
    "event": "setKeyboardBacklightBrightness",
    "path": "设备路径",
    "payload": {
        "brightness": 6
    }
}

参数说明:

  • event: 固定为 "setKeyboardBacklightBrightness"
  • path: 设备的唯一标识符
  • payload.brightness: 亮度值 (0-6)

使用场景:

  • 批量设置图标后统一刷新
  • 确保所有更改都已显示
Last Updated:
Contributors: JKWTCN
Prev
快速上手
Next
接收的事件