bhctsntrk/nut65-signalrgb

GitHub: bhctsntrk/nut65-signalrgb

这是一个SignalRGB社区插件,通过逆向VIA协议让Weikav NUT65键盘支持单键RGB控制及屏幕环境光同步。

Stars: 1 | Forks: 0

NUT-65 Pip-Boy — AI games on your keyboard LEDs

还可以看看 NUT-65 Pip-Boy —— Fallout 主题的桌面应用程序,直接在你的键盘 RGB LED 上运行 AI 控制的 Snake、Pong 和 Marquee。可独立运行,无需 SignalRGB。

# Weikav NUT65 — SignalRGB 插件 为 **Weikav NUT65** 机械键盘打造的社区版 [SignalRGB](https://signalrgb.com/) 插件。支持单键 RGB 控制、屏幕捕获环境光照明以及所有 SignalRGB 效果 —— 让键盘与显示器、游戏和音乐同步。 SignalRGB 官方并不支持 NUT65。该插件通过逆向工程 Weikav 网页版配置器的 VIA HID 协议构建而成。 ## 功能特性 - **单键 RGB** — 67 颗按键独立控制 - **灯条** — 支持 15 段式前置灯条 - **屏幕捕获** — 呈现屏幕内容的环境光照明 - **所有 SignalRGB 效果** — 渐变、响应式、音频响应等 - **无需修改固件** — 兼容 NUT65 原厂固件 - **安全** — 仅写入 RAM,永不触碰 EEPROM ## 安装说明 1. 下载 [`Weikav_NUT65.js`](Weikav_NUT65.js) 2. 复制到 `C:\Users\\Documents\WhirlwindFX\Plugins\` 3. 重启 SignalRGB 4. NUT65 应该会出现在设备列表中 ## 系统要求 - Weikav NUT65 通过 **USB-C** 连接(仅限有线模式) - 已安装 [SignalRGB](https://signalrgb.com/) - Windows 10/11 蓝牙和 2.4G 无线模式不受影响 —— 插件仅在 USB 连接下激活。 ## 工作原理 该插件通过 VIA RAW HID 端点 (`usagePage: 0xFF60, usage: 0x61`) 与 NUT65 进行通信。 | 步骤 | 命令 | |------|---------| | 设置直控模式 | `[0x07, 0x03, 0x02, 45]` | | 设置单键颜色 (HSV) | `[0x07, 0x00, 0x03, 0x00, row, col, sat, hue]` | | 将颜色刷新至显示 | `[0x07, 0x00, 0x02, 0x00]` | SignalRGB 提供 RGB 颜色 → 插件转换为 HSV → 发送单键命令 → 每帧刷新一次。 ### 性能表现 插件采用了多项优化策略,在流畅的 RGB 效果与极小的键盘输入延迟之间取得平衡: | 优化项 | 说明 | |-------------|-------------| | **写入预算** | 每帧最多 10 次 HID 写入(防止固件在按键扫描期间出现 CPU 饥饿) | | **微暂停** | 每写入 5 次暂停 1ms(为固件处理按键扫描留出喘息空间) | | **优先更新** | 每帧扫描全部 82 颗 LED,按变化量排序 —— 视觉变化最大的优先发送 | | **差值 + 滞后** | 未变化的 LED(色相/饱和度变化 ≤3)完全跳过 | | **零分配数据包** | 预分配 65 字节缓冲区,供所有 HID 写入复用 | 实际效果:流畅效果约 12 fps,在繁重动画期间显著降低按键延迟。 ### 局限性 - **不支持单键亮度** — 每键仅支持色相和饱和度控制。亮度为全局设置。 - **灯条同步** — 前置灯条拥有独立的固件控制器。它仅在特定键盘模式下响应单键命令。你可能需要手动将灯条模式(Fn + 灯条快捷键)切换至静态模式以实现完全控制。 - **仅支持 HSV** — 由于键盘无法显示单键低亮度,深色屏幕区域可能显示为白色。 ## 技术详情 | 属性 | 值 | |----------|-------| | Vendor ID | `0x342D` | | Product ID | `0xE51A` | | HID 接口 | 1 | | 报告大小 | 65 字节 | | 矩阵 | 6 行 × 15 列 | | 颜色格式 | HSV (色相 0-255, 饱和度 0-255) | | 直控模式 | 45 ("Close All") | ## 故障排除 **无法检测到键盘:** - 确保通过 USB-C 连接,而非蓝牙/2.4G - 完全关闭 VIA 和 Vial - 重启 SignalRGB **按键保持白色:** - 插件需要模式 45 才能工作。如果模式被外部更改,请重启 SignalRGB。 **灯条无响应:** - 使用 Fn + 快捷键循环切换灯条模式,直到其与按键同步。 ## 许可证 MIT # Weikav NUT65 — SignalRGB Eklentisi Weikav NUT65 mekanik klavye için topluluk tarafından yapılmış [SignalRGB](https://signalrgb.com/) eklentisi. Tuş başına RGB kontrolü, ekran yakalama ortam aydınlatması ve tüm SignalRGB efektlerini kullanmanızı sağlar — klavyenizi monitörünüz, oyunlarınız ve müziğinizle senkronize edin. NUT65 resmi olarak SignalRGB tarafından desteklenmemektedir. Bu eklenti, Weikav'ın web tabanlı yapılandırıcısından VIA HID protokolü tersine mühendislik yapılarak oluşturulmuştur. ## 特性 - **Tuş başına RGB** — 67 tuş ayrı ayrı kontrol edilebilir - **Işık çubuğu** — 15 segmentli ön ışık çubuğu desteği - **Ekran yakalama** — Ekranınızı yansıtan ortam aydınlatması - **Tüm SignalRGB efektleri** — Gradyanlar, reaktif, ses duyarlı vb. - **Firmware değişikliği yok** — Orijinal NUT65 firmware'i ile çalışır - **Güvenli** — Yalnızca RAM'e yazar, EEPROM'a dokunmaz ## 安装 1. [`Weikav_NUT65.js`](Weikav_NUT65.js) dosyasını indirin 2. `C:\Users\\Documents\WhirlwindFX\Plugins\` klasörüne kopyalayın 3. SignalRGB'yi yeniden başlatın 4. NUT65 cihaz listesinde görünmelidir ## 要求 - Weikav NUT65 **USB-C** ile bağlı (sadece kablolu mod) - [SignalRGB](https://signalrgb.com/) yüklü - Windows 10/11 Bluetooth ve 2.4G kablosuz modlar etkilenmez — eklenti yalnızca USB üzerinden çalışır. ## 工作原理 Eklenti, NUT65 ile VIA RAW HID uç noktası üzerinden iletişim kurar (`usagePage: 0xFF60, usage: 0x61`). SignalRGB RGB renkleri sağlar → eklenti HSV'ye dönüştürür → tuş başına komut gönderir → çerçeve başına bir kez uygular. ### 性能 Eklenti, pürüzsüz RGB efektleri ile minimum tuş algılama gecikmesi arasında denge kurmak için çeşitli optimizasyonlar kullanır: - **Yazma bütçesi** — Kare başına maks. 10 HID yazma, firmware'in tuş taraması için daha fazla CPU zamanı bırakır - **Mikro-duraklama** — Her 5 yazmada 1ms mola, firmware'e tuş taramalarını işlemesi için nefes alanı verir - **Öncelikli güncelleme** — 82 LED her karede taranır, delta büyüklüğüne göre sıralanır, en büyük görsel değişiklikler önce gönderilir - **Delta + histerezis** — Değişmeyen LED'ler (ton/doygunluk delta ≤3) atlanır - **Sıfır-tahsisli paketler** — Önceden ayrılmış 65 bayt arabellek tüm HID yazmaları için yeniden kullanılır Sonuç: Efektler için ~12 fps, yoğun animasyonlarda belirgin şekilde azaltılmış tuş basma gecikmesi. ### 限制 - **Tuş başına parlaklık yok** — Yalnızca ton ve doygunluk kontrol edilebilir. Parlaklık globaldir. - **Işık çubuğu senkronizasyonu** — Ön ışık çubuğunun ayrı bir firmware denetleyicisi vardır. Tam kontrol için ışık çubuğu modunu (Fn + kısayol) manuel olarak statik moda almanız gerekebilir. - **Yalnızca HSV** — Koyu ekran alanları, klavye tuş başına düşük parlaklık gösteremediği için beyaz görünebilir. ## 故障排除 **Klavye algılanmıyor:** - USB-C ile bağlı olduğundan emin olun (Bluetooth/2.4G değil) - VIA ve Vial'ı tamamen kapatın - SignalRGB'yi yeniden başlatın **Tuşlar beyaz kalıyor:** - Eklenti çalışması için mod 45 gereklidir. Mod harici olarak değiştirildiyse SignalRGB'yi yeniden başlatın. **Işık çubuğu yanıt vermiyor:** - Fn + kısayol ile ışık çubuğu modunu tuşlarla senkronize olana kadar değiştirin. ## 许可证 MIT
标签:DNS解析, HID, NUT65, Per-key RGB, RGB灯光, SignalRGB, USB通信, VIA协议, Weikav, 云资产清单, 单键控制, 外设驱动, 客制化键盘, 屏幕取色, 开源项目, 插件, 数据可视化, 机械键盘, 桌面美化, 氛围灯, 游戏联动, 灯效同步, 端点可见性, 自定义脚本, 逆向工程