fenyxsomnia/msi-lightbar-linux

GitHub: fenyxsomnia/msi-lightbar-linux

一款非官方的 Linux 工具,用于控制 MSI Raider 笔记本的键盘、前面灯条及后盖 logo 灯效,解决了其他工具无法操控灯条和 logo 的局限。

Stars: 0 | Forks: 0

# msi-lightbar-linux **从 Linux 控制 MSI Raider 笔记本电脑的键盘、前面灯条*以及*后盖 logo —— 包括完全关闭灯条和 logo。** 大多数针对这些机器的 Linux RGB 工具只能处理键盘按键。它们让**前面灯条**和**后盖 logo**停留在出厂的呼吸动画状态,无法更改或禁用。本项目将所有这些——键盘、灯条和 logo——作为一个稳定、可脚本化的整体外观进行驱动,并且在重启和睡眠后依然有效。 在 **MSI Raider 16 HX**(SteelSeries "KLC" 控制器,USB `1038:1167`)上构建并测试。它很可能适用于其他 MSI 逐键 RGB 笔记本电脑——这里有一份用于将其适配到不同硬件的[引导指南](HACKING.md)。 ## 你可以做什么 ``` rgb night # warm dim amber — easy on late-night eyes rgb glow # amber keys with the front bar + logo glowing amber rgb xmas # red keys, green F-row/numpad/modifiers, blue Fn rgb red # solid red keys rgb off # everything dark (keyboard, bar, and logo) rgb list # show all the built-in looks ``` 将一个区域设置为任意颜色,其余部分保持不变: ``` rgb keyboard blue # all keys blue rgb bar amber # front bar + rear logo amber (they move together) rgb bar off # bar + logo off, keyboard untouched rgb all 00ff88 # keyboard + bar the same colour (name or RRGGBB hex) rgb show # print the current colours ``` 使外观在重启和睡眠后依然保持: ``` rgb default glow # apply now AND load it on every boot + wake ``` 每个配置文件还会关闭固定白色的 **Num/Caps/Scroll-lock** 状态 LED,因此不会留下任何多余的白光。 ### 首先零风险试用 任何命令都支持 `--dry-run`(不触碰硬件,不需要 root 权限)——它会准确打印它*将要*发送的内容: ``` rgb glow --dry-run ``` ## 安装 你需要较新的 Linux、Python 3 和 `libhidapi`。然后: ``` git clone https://github.com/fenyxsomnia/msi-lightbar-linux cd msi-lightbar-linux ./install.sh # fetches the upstream dependency, links the `rgb` command ./install.sh --systemd # ALSO load your look on boot, at day/night, and on wake ``` `install.sh` 会告诉你是否缺少系统软件包,以及如何为你的发行版安装它。完成后: ``` rgb list rgb glow --dry-run # preview rgb glow # apply for real (asks for your sudo password) ``` ## 外观 | 配置文件 | 键盘 | 灯条 + logo | |---|---|---| | `night` | 暗淡的琥珀色,细微的点缀 | 关闭 | | `amber` | 均匀的暗琥珀色(最护眼) | 关闭 | | `glow` | 暗淡的琥珀色 + 点缀 | 琥珀色光晕 | | `xmas` | 红色 + 绿色 + 蓝色 Fn | 关闭 | | `red` | 纯红色 | 关闭 | | `matrix` `ocean` `lava` `synthwave` `grape` `rainbow` | 主题色 | 关闭 | | `off` | 暗 | 关闭 | 想要你自己的外观?在 [`msi_lightbar/profiles.py`](msi_lightbar/profiles.py) 中的 `PROFILES` 添加一条目——这是一个带有注释的普通字典。颜色为 `RRGGBB` 十六进制;点缀键是 keycode 范围。 ## 日/夜自动模式 `rgb auto` 会根据时钟选择配置文件——白天使用 `glow`,夜晚使用 `amber`。通过 `./install.sh --systemd`,这将自动运行: - 在**开机**时, - 在 **07:00 和 19:00** 的切换时间,以及 - 每次笔记本**从睡眠中唤醒**时(在冷启动时灯条的固件动画会恢复,因此在唤醒时会重新应用)。 查看计划:`systemctl list-timers msi-lightbar.timer` 检查是否正常:`systemctl status msi-lightbar.service` 编辑时间/配置文件:[`msi_lightbar/profiles.py`](msi_lightbar/profiles.py) 的顶部。 ## 如果灯光看起来不正常 这里的任何操作都不会永久损坏你的键盘,但如果实验使其处于奇怪的状态,保证重置的方法是**完全断电**(关机,而不是重启),重新开机,然后: ``` kbrgb ff0000 # or: rgb night ``` 冷启动循环会清除任何混乱的控制器状态;重新应用配置文件会使其恢复正常。 ## 不同的 MSI 型号?帮助它你的机器上运行 如果你有不同型号的 MSI 逐键 RGB 笔记本电脑,键盘部分可能已经可以工作,而灯条/logo 通常只需稍微摸索即可映射完成。本仓库附带了一个发现工具来引导你完成此操作: ``` python3 tools/discover.py devices # find your USB controller id sudo python3 tools/discover.py sweep # light LEDs one-by-one to map your bar/logo ``` 关于逆向工程过程以及适配的详细说明和分步指南,请参阅 **[HACKING.md](HACKING.md)**。如果你成功让它在其他型号上运行,提交一个包含你数据的 pull request(或者仅仅是一个 issue)将会帮助下一个人。 ## 致谢与许可 站在了 [Askannz/msi-perkeyrgb](https://github.com/Askannz/msi-perkeyrgb) 以及 [CREDITS.md](CREDITS.md) 中致谢的逆向工程工作的肩膀上。 MIT 许可证 — 详见 [LICENSE](LICENSE)。作者:**fenyx**。
标签:MSI Raider, Python, RGB灯效, SteelSeries, 无后门, 硬件控制