Linux device manager for Logitech devices
Go to file
Ken Sanislo e8af8b08c2 HeadsetSidetone: scale UI percent to the device's gain-step grid
The 0x0604 wire "level" is a gain-step index 0..N-1, not a 0-100
percent. G HUB reads the step count N from getSidetoneLevelSettings
(function 2) and scales: level = (N-1)*pct/100. Solaar wrote the raw
percent, which only matches when N == 101 — so V2 headsets reporting a
smaller N (G522: N=10) got out-of-range step writes the firmware
silently ACK'd without applying.

Read func 2 at build time, take reply byte 2 as N (default 101 when
the call is absent — V1 — or the reply is unusable). The validator now
maps the 0-100 UI percent to/from the wire step index and clamps
writes to N-1. V1 devices (e.g. PRO X 2) keep N=101, which makes the
scaling an exact identity — their wire traffic is unchanged. The raw
func-2 reply is still logged at debug level for a future G HUB
setpoint correlation.
2026-05-15 15:53:19 -07:00
.github
…
bin
…
docs
…
lib HeadsetSidetone: scale UI percent to the device's gain-step grid 2026-05-15 15:53:19 -07:00
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 release: drop testing of Python before 3.13 2025-12-12 04:55:14 -05:00
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

codecov License: GPL v2

 

 

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:

Solaar is available from some other repositories but may be several versions behind the current version: