Solaar/lib
Daniel Banariba 68946a7f1d ui: show the Bolt passkey as a guided click sequence
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.
2026-08-13 16:48:48 -06:00
..
hid_parser Fix duplicate class field typo in HID parser data 2026-05-05 14:43:03 -04:00
hidapi G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
keysyms keysymdef: Rename key symbols 2024-10-11 07:42:38 -04:00
logitech_receiver receiver: record passkey entry progress from the receiver 2026-08-13 16:42:25 -06:00
solaar ui: show the Bolt passkey as a guided click sequence 2026-08-13 16:48:48 -06:00