Solaar/tests
Ken Sanislo 0cc048cdf6 Add G560 audio features: bass level, working equalizer, jack detection
Add the BassTone feature (0x8305) as a 0-100 slider — subwoofer level
on the G560, hardware-verified.

Fix the Equalizer setting (0x8310), which never built on devices
reporting signed dB limits: getEQInfo dbMin/dbMax are signed (the G560
reports -20..+6) but were unpacked unsigned, tripping the validator's
min/max assertion.  The reported bounds are also exclusive — the G560
NACKs writes at exactly dbMin/dbMax — so present dbMin+1..dbMax-1.
Render with the vertical-slider graphic EQ panel.  Note: on the G560
the stored curve round-trips but has no audible effect on USB
playback; whether it shapes the aux input path is still unknown.

Rename HEADSET_OUT (0x8320) to JACK_DETECTION: the feature reports
3.5mm jack presence (getJackStatus statuses/available bitmasks), it
is not an output-mode control.

Fix solaar show sending little-endian feature IDs to ROOT.getFeature,
which silently dropped the flags/version column for every
non-palindromic feature ID and displayed unknown features byte-swapped
(the G560's 0x8305 rendered as "unknown:8305 {0583}").
2026-07-16 23:07:01 -07:00
..
hid_parser Introduce hid_parser tests 2024-09-15 09:19:13 -04:00
hidapi hidapi: Explicitly load hidapi/udev implementation 2024-10-11 07:42:38 -04:00
logitech_receiver Add G560 audio features: bass level, working equalizer, jack detection 2026-07-16 23:07:01 -07:00
solaar tests: mock the libnotify backend so the suite raises no real notifications 2026-05-21 10:15:12 -04:00
test_keysyms keysyms: Introduce tests for this package 2024-10-11 07:42:38 -04:00
__init__.py tests: Introduce tests with pytest 2024-02-10 13:58:20 -05:00
conftest.py tests: mock the libnotify backend so the suite raises no real notifications 2026-05-21 10:15:12 -04:00