The passkey page rendered the whole sequence as one run-on sentence
("Press right, right, left, ... and then press left and right buttons
simultaneously."), which is hard to follow and impossible to keep a place in.
Draw it instead as eleven numbered steps: two rows of five top-down mouse
glyphs plus the final both-buttons step, set apart below a separator and drawn
larger so it cannot be mistaken for another single click. Every cell always
shows which button it needs, so the sequence can be read ahead; the emphasis is
a separate channel that only says how far the receiver has got.
Keyboards reuse the same strip with digit keys and an enter key as the final
step, and keep showing the passcode as text since it is meant to be read.
The strip is drawn with cairo in the theme's own colours, so it needs no new
assets and stays legible in any theme. A drawing area is invisible to screen
readers, so the sequence stays available as the existing sentence through the
tooltip and the accessible description.
The bit to button mapping is deliberately unchanged. The receiver never reports
which button was pressed, so a different polarity cannot be validated from
inside Solaar, and the page says as much rather than implying it checked.
Without progress notifications the strip degrades to the plain numbered
sequence with nothing highlighted, so it never depends on them.
Also fixes two defects in the same path:
- the passkey page was appended again on every 500 ms check, stacking dozens of
duplicate pages during a normal entry and scrolling the pairing instructions
out of view. It is now created once and refreshed in place.
- pair_device was re-issued every 500 ms for as long as a discovered device was
pending. It is now issued once per discovered address.
|
||
|---|---|---|
| .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