Skip to content

Fix inverted ChatMix level for SteelSeries Arctis 7/Pro (#475) - #480

Merged
Sapd merged 2 commits into
masterfrom
fix2
Feb 5, 2026
Merged

Sapd merged 2 commits into
masterfrom
fix2

Conversation

@Sapd

@Sapd Sapd commented Feb 5, 2026 •

Copy link
Copy Markdown
Owner

The chatmix level calculation had game and chat directions swapped: max game volume produced level > 64 (indicating chat), and vice versa.

This bug originated in the old C implementation (steelseries_arctis_7.c) and was carried over verbatim during the C++ rewrite (#443). It went unnoticed because the old code returned a plain int with no defined semantics for direction, users just saw a changing number. The bug became observable once ChatmixResult defined < 64 as game and > 64 as chat.

The chatmix level calculation had game and chat directions swapped:
max game volume produced level > 64 (indicating chat), and vice versa.

This bug originated in the old C implementation (steelseries_arctis_7.c)
and was carried over verbatim during the C++ rewrite (#443). It went
unnoticed because the old code returned a plain int with no defined
semantics for direction, users just saw a changing number. The bug
became observable once ChatmixResult defined < 64 as game and > 64 as
chat.
@billtran1632001

billtran1632001 commented Feb 5, 2026 •

Copy link
Copy Markdown
Contributor

That corrected the level value. But the percentages are still wrong. These lines:

int game_pct = (game == 0) ? 100 : map(game, 191, 255, 100, 0);
int chat_pct = (chat == 0) ? 100 : map(chat, 191, 255, 100, 0);

Need to be changed to:

int game_pct = (game == 0) ? 100 : map(game, 191, 255, 0, 100);
int chat_pct = (chat == 0) ? 100 : map(chat, 191, 255, 0, 100);

…475)

The map() output range was backwards: neutral position (255) mapped to
0% instead of 100%. Swap range so percentages correctly reflect volume.
@Sapd

Sapd commented Feb 5, 2026

Copy link
Copy Markdown
Owner Author

@TheBill2001 Can you please try again

@billtran1632001

Copy link
Copy Markdown
Contributor

Yep, everything is correct now.

@Sapd
Sapd merged commit 593c825 into master Feb 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants