From 3785e2872895ce43d20f68561d8856b6e605ef52 Mon Sep 17 00:00:00 2001 From: Denis Arnst Date: Thu, 5 Feb 2026 21:43:11 +0100 Subject: [PATCH 1/2] Fix inverted ChatMix level for SteelSeries Arctis 7/Pro (#475) 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. --- lib/devices/steelseries_arctis_7.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/devices/steelseries_arctis_7.hpp b/lib/devices/steelseries_arctis_7.hpp index 365d59c..efdf8c8 100644 --- a/lib/devices/steelseries_arctis_7.hpp +++ b/lib/devices/steelseries_arctis_7.hpp @@ -155,13 +155,15 @@ class SteelSeriesArctis7 : public protocols::SteelSeriesLegacyDevice 64 (chat favored) int level; if (game == 0 && chat == 0) { level = 64; } else if (game == 0) { - level = 64 + 255 - chat; + level = 64 - (255 - chat); } else { - level = 64 + (-1) * (255 - game); + level = 64 + (255 - game); } // Calculate percentages (game/chat are 191-255, neutral at 255) From 3d3692eee78c35bce36b72dc5ca7c632a32ccceb Mon Sep 17 00:00:00 2001 From: Denis Arnst Date: Thu, 5 Feb 2026 22:59:07 +0100 Subject: [PATCH 2/2] Fix inverted ChatMix percentage mapping for SteelSeries Arctis 7/Pro (#475) The map() output range was backwards: neutral position (255) mapped to 0% instead of 100%. Swap range so percentages correctly reflect volume. --- lib/devices/steelseries_arctis_7.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/devices/steelseries_arctis_7.hpp b/lib/devices/steelseries_arctis_7.hpp index efdf8c8..7b324d1 100644 --- a/lib/devices/steelseries_arctis_7.hpp +++ b/lib/devices/steelseries_arctis_7.hpp @@ -167,8 +167,8 @@ class SteelSeriesArctis7 : public protocols::SteelSeriesLegacyDevice