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, 无后门, 硬件控制