Adds Receiver.force_unpair_slot(), a low-level method that writes the RECEIVER_PAIRING unpair register (action 0x03) for a given slot regardless of cache state, bypassing may_unpair and re_pairs gates. Intended for clearing stale pairings on Lightspeed receivers where Solaar cannot read the slot's pairing info or the device is no longer reachable on RF. Extends the `solaar unpair` CLI with three new flags: --receiver <name> select which receiver to target --slot <N> target a specific slot number directly --dry-run print what would happen without issuing the write The --slot path is gated to Lightspeed receivers only (by receiver_kind) so Unifying/Bolt/Nano behavior is unchanged. It populates the cache first and prints the current slot contents so the user can confirm what is about to be cleared, but does not refuse based on active/offline state — the explicit --slot N is treated as sufficient intent. Verified end-to-end on a C547 dual-slot Lightspeed receiver: stale slot cleared, RECEIVER_INFO sub-registers 0x21/0x31 went to None, connection count register dropped from 2 to 1, running solaar daemon picked up the change in real time via the existing DJ pairing notification hook. Covered by 5 unit tests against a mocked Receiver: empty slot, stale sentinel, active device invalidation, register write failure, closed handle. |
||
|---|---|---|
| .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