SRGBmods QMK 固件
感谢我们的版主团队,QMK 支持的绝大多数键盘现在作为预编译固件提供给社区。(QMK 的 RGB Matrix 支持是键盘受支持所必需的。) 创建此固件的 GPL 源代码可以在这里找到。
我们建议您先尝试 VIA 版本,因为它可以让您修复任何键位映射问题。
(确保在刷写之前使用 VIA 备份您当前的布局,这样您就可以在之后恢复它们!)
刷写固件的方向通常由您的键盘制造商提供。如果说明涉及使用 QMK Toolbox,请确保以管理员身份运行 QMK Toolbox 并在 QMK Toolbox 内安装驱动程序!

您也可以在此 Discord 的 QMK 频道中寻求帮助。(请只在链接的 Discord 中提问,在主要 QMK Discord 中提问会让他们让您来问我们!——这显然很令人沮丧…)
完成键盘刷写后,请阅读下面的指南以开始编写键盘插件。
SRGBmods QMK 插件附加仓库
Section titled “SRGBmods QMK 插件附加仓库”感谢 SignalRGB 2.3.20 及以上版本默认启用了 QMK 插件附加仓库,在此附加仓库的设置中有几个分支可能启用对您键盘的支持。在 SignalRGB 内转到设置 / 附加设置 / QMK-Plugins:

默认选择 Main,它包含已知良好工作的插件,其余分支解释了它们的内容…如果在选择任何分支后仍无法让您的键盘工作,您可能需要创建用户插件。以下是相关说明:
用户插件创建
Section titled “用户插件创建”- 刷写键盘后,您需要修改下面的键盘插件以使 SignalRGB 与您的键盘配合工作。
- 示例键盘插件可以在这里下载:QMK_Keyboard_Example.js
- 其他插件模板(完整版、TKL、96%、75%、65%、64%、60% 等)可以在这里下载。
- 从以上任一位置下载键盘插件后,在文本编辑器中打开它。
export function Name() { return "QMK Keyboard"; }export function VendorId() { return 0x0000; }export function ProductId() { return 0x0000; }export function Publisher() { return "WhirlwindFX"; }export function Size() { return [21, 6]; }export function DefaultPosition(){return [10, 100]; }export function DefaultScale(){return 8.0}export function ControllableParameters() { return [ {"property":"shutdownColor", "group":"lighting", "label":"Shutdown Color", "min":"0", "max":"360", "type":"color", "default":"009bde"}, {"property":"LightingMode", "group":"lighting", "label":"Lighting Mode", "type":"combobox", "values":["Canvas", "Forced"], "default":"Canvas"}, {"property":"forcedColor", "group":"lighting", "label":"Forced Color", "min":"0", "max":"360", "type":"color", "default":"009bde"}, ];}- 打开键盘插件后,您将看到类似上面的屏幕。
- 您需要填写一些字段,从 Name 字段开始。
- Name 字段需要填写您为其开发固件的键盘的名称。
export function Name() { return "Massdrop CTRL QMK Keyboard"; }- 接下来,我们需要填写键盘的 VendorId。(以下截图演示,最后两步可以使用此链接跳过。)
- 要找到键盘的 VendorId,请打开 SignalRGB。
- 然后点击左下角的设置齿轮。

然后点击设备信息。

找到您的键盘并记下其 VendorID 和 ProductID。


现在用这些值填写 VendorId 和 ProductId 字段。
export function Name() { return "Massdrop CTRL QMK Keyboard"; }export function VendorId() { return 0x04d8; }export function ProductId() { return 0xEED2; }- 下一个需要填写的字段是 Publisher 字段。在发布者字段中,您可以填写您的姓名、用户名或句柄。
export function Name() { return "Massdrop CTRL QMK Keyboard"; }export function VendorId() { return 0x04d8; }export function ProductId() { return 0xEED2; }export function Publisher() { return "WhirlwindFX"; }- 现在,我们完成了字段填写,正在继续处理数组。
需要修改 3 个数组:vKeys、vKeynames 和 vKeyPositions

- vKeys 数组将每个键盘键映射到发送给键盘的 RGB 数据中的位置。
- vKeyNames 数组告诉我们哪个键对应每个 vKey 和 vKeyPosition。
- vKeyPositions 数组告诉 SignalRGB 键盘上每个键的位置。
- 首先,更改 vKeyNames 数组以反映您的键盘。
- 这意味着您需要重新排列 vKeyNames,使其与您的键盘匹配。
- 在我们的例子中,我们必须删除键并重新组织其余的键,因为我们的主板是 TKL 主板。

然后以与更新 vKeyNames 数组相同的方式更新 vKeyPositions 数组。

最后,更新 vKeys 数组,使其与 vKeyNames 和 vKeysPositions 数组匹配。

- 现在,将您的插件文件保存到 %userprofile%/Documents/WhirlwindFX/plugins,然后重新启动 SignalRGB。
- 您的键盘应该开始亮起并与 SignalRGB 互动。
如果键盘没有亮起或没有对 SignalRGB 做出正确响应:
Section titled “如果键盘没有亮起或没有对 SignalRGB 做出正确响应:”- 转到 SignalRGB 中的设备页面。

- 接下来,转到您的键盘,然后点击设置齿轮。

- 然后,点击显示控制台切换。

- 控制台中应该有设备 LED 总数。将该设备 LED 总数与您分配的 LED 数量进行比较。
- 在我们的例子中,有 119 个 LED。
如果 LED 数量与您拥有的 vKey 数量匹配:
Section titled “如果 LED 数量与您拥有的 vKey 数量匹配:”- 确保您的插件的 size 字段在每个方向上都比您最高的 LED 坐标大 1:
- 在我们的例子中,最远的 LED 在位置 [17,6],因此我们的 Size 字段需要是 [18,7]。
export function Size() { return [18, 7]; }如果 LED 数量与您拥有的 vKey 数量不匹配:
Section titled “如果 LED 数量与您拥有的 vKey 数量不匹配:”- 您需要添加 vKeys、vKeyPositions 和 vKeyNames 以匹配 LED 总数。
- 在我们的例子中,设备有 119 个 LED,因此我们需要为键盘底部灯添加 32 个 LED。



- 如果 vKey 数量与 LED 总数匹配,设备尺寸也正确,但 LED 映射不正确:
- 加入 Discord 并在 QMK 频道中寻求帮助。