Rework headset RGB lighting so it mirrors the keyboard/mouse model instead of its own ad-hoc shape. LED Control (0x0620 HostMode) becomes a boolean toggle: whether Solaar holds the headset's live-coloring claim. Off releases the LEDs so another app (e.g. OpenRGB) can drive them; on lets Solaar drive. 0x0620 per-zone painting and the 0x0621 onboard effect are both live LED control, so both are gated on the claim — UI rows grey out and wire writes are skipped (value still persisted) when the claim isn't held, mirroring the keyboard's RGBEffectSetting under rgb_control. 0x0621 HeadsetOnboardEffect is now the primary lighting setting, the headset analog of keyboard 0x8071 zone effects. Its build reads the cluster's supported-effect set so the picker offers only those; effect id 0 is labelled "Static" to match every other Solaar device. The redundant HeadsetLEDsPrimary (0x0620 single-colour host push) is removed — that job is exactly the 0x0621 Static effect. HeadsetPerZoneLighting is the per-key-style overlay: gated on the claim AND the onboard effect being Static, since per-zone painting overlays a Static cluster effect (the analog of keyboard per-key needing rgb_control + zone Static). The 0x0622 signature effects (startup/shutdown/passive colours) are the only stored settings here and stay ungated — editable whether or not Solaar holds the claim. On re-claim HeadsetLEDControl.write reasserts the dominant layer: per-zone painting when the onboard effect is Static, else the 0x0621 effect itself. |
||
|---|---|---|
| .github | ||
| bin | ||
| docs | ||
| lib | ||
| po | ||
| rules.d | ||
| rules.d-uinput | ||
| share | ||
| tests | ||
| tools | ||
| .coveragerc | ||
| .git-blame-ignore-revs | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| CHANGELOG.md | ||
| COPYRIGHT | ||
| LICENSE.txt | ||
| MANIFEST.in | ||
| Makefile | ||
| README.md | ||
| RELEASE.md | ||
| RHEL.md | ||
| Release_Notes.md | ||
| mkdocs.yml | ||
| pyproject.toml | ||
| release.sh | ||
| setup.py | ||
README.md
Solaar
Solaar is a Linux manager for many Logitech keyboards, mice, and other devices that connect wirelessly to a Unifying, Bolt, Lightspeed or Nano receiver as well as many Logitech devices that connect via a USB cable or Bluetooth. Solaar is not a device driver and responds only to special messages from devices that are otherwise ignored by the Linux input system.
More Information - Usage - Capabilities - Rules - Manual Installation - Known Issues
Solaar supports:
- pairing/unpairing of devices with receivers
- configuring device settings
- custom button configuration
- running rules in response to special messages from devices
For more information see the main Solaar documentation page. -
Installation Packages
Up-to-date prebuilt packages are available for some Linux distros (e.g., Fedora) in their standard repositories. If a recent version of Solaar is not available from the standard repositories for your distribution, you can try one of these packages:
- Arch solaar package in the extra repository
- Ubuntu/Kubuntu package in Solaar stable ppa
- NixOS Flake package in Svenum/Solaar-Flake
Solaar is available from some other repositories but may be several versions behind the current version:
- a Debian package, courtesy of Stephen Kitt
- a Ubuntu package is available from universe repository
- a Gentoo package, courtesy of Carlos Silva and Tim Harder
- a Mageia package, courtesy of David Geiger