End-to-end support for the G522 LIGHTSPEED gaming headset (and the infrastructure that comes with it for related Centurion-bridged headsets). Hardware/protocol layer: - centurion.py — CenturionReceiver: lightweight receiver-like wrapper for Centurion-bridged dongles (PRO X 2 LIGHTSPEED already, G522 added here). Handles deferred init for 0x50 devices that don't respond to the initial probe, sub-device feature discovery via bridge, online detection via ping. - base.py — Centurion handle state, device_addr probe (256-candidate scan), 0x50/0x51 frame routing, bridge TX/RX framing. - hidpp20.py — Centurion sub-device feature query and bridge request routing. CENTURION_DEVICE_INFO / CENTURION_BATTERY_SOC / CENTURION_* query helpers in centurion.py for parent + sub paths. - device.py — Centurion device creation path, USB product-string fallback for naming, bridge sub-device error handling. - notifications.py — HEADSET_ADVANCED_PARA_EQ band-change events, HEADSET_MIC_MUTE state-change events; both route to the relevant setting via setting_callback. Headset settings: - HeadsetEcoMode, HeadsetDoNotDisturb, HeadsetMicMute, HeadsetMicSNR, HeadsetAINR / HeadsetAINRLevel, HeadsetSidetone, HeadsetMicGain, HeadsetMixBalance, HeadsetAutoSleep — bool / range / choice settings for the headset-specific feature pages. - HeadsetOnboardEQ + HeadsetActiveEQPreset — onboard EQ slot picker with active-preset tracking via the EQ change event subscription. - HeadsetAdvancedEQ — multi-band parametric EQ (advanced_para_eq.py module handles getEQInfos / getCustomEQ / band-change subscription; setting builds the per-band sliders). - HeadsetLEDControl + HeadsetLedsPrimary + HeadsetPerZoneLighting — RGB feature set (0x0620 HEADSET_RGB_HOSTMODE) with shared zone-write helper (headset_rgb.py) and the G522 layout for the per-key painter (perkey/layouts/headset_g522.py). - LogiVoice family (12 settings: NR / NG / Compressor / De-esser / Depopper / Limiter / HPF, each with state + parameters) — voice processing pipeline. logivoice.py module handles probe + parsing. Probes: - rgb_effects_probe.py — runtime probe for headset RGB feature variants (0x0621 onboard-effects, 0x0622 signature-effects, 0x0623). Tests: - test_base.py / test_device.py / test_hidpp20_complex.py — Centurion framing, device-creation path, sub-device feature parsing. - test_setting_templates.py — fixtures for the new headset settings. Closes pwr-Solaar/Solaar#3181. |
||
|---|---|---|
| .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