From 20fe252e51843a20413660b13844591164d29b2d Mon Sep 17 00:00:00 2001 From: Mini Brax Date: Mon, 30 Mar 2026 10:22:50 +0200 Subject: [PATCH] fix: add Stream Deck XL and other missing device layouts to MODEL_LAYOUTS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The MODEL_LAYOUTS dict only contained the Original (20GBA9901) and Virtual (UI Stream Deck) models. Any other device — including the XL — fell through to the 5×3 fallback, making it impossible to address all 32 keys. Added models: - Stream Deck MK.2 (20GAA9901) — 5×3, 15 keys - Stream Deck XL (20GAT9902) — 8×4, 32 keys - Stream Deck XL rev2 (20GBA9902) — 8×4, 32 keys - Stream Deck Mini (20GAI9501) — 3×2, 6 keys - Stream Deck Neo (20GBD9901) — 4×2, 8 keys + touchscreen Co-Authored-By: Claude Opus 4.6 --- profile_manager.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/profile_manager.py b/profile_manager.py index fac1962..0ca39ab 100644 --- a/profile_manager.py +++ b/profile_manager.py @@ -51,8 +51,13 @@ } MODEL_LAYOUTS: dict[str, tuple[int, int]] = { - "20GBA9901": (5, 3), - "UI Stream Deck": (4, 2), + "20GBA9901": (5, 3), # Stream Deck Original (15 keys) + "20GAA9901": (5, 3), # Stream Deck MK.2 (15 keys) + "20GAT9902": (8, 4), # Stream Deck XL (32 keys) + "20GBA9902": (8, 4), # Stream Deck XL rev2 (32 keys) + "20GAI9501": (3, 2), # Stream Deck Mini (6 keys) + "20GBD9901": (4, 2), # Stream Deck Neo (8 keys + touchscreen) + "UI Stream Deck": (4, 2), # Virtual Stream Deck } HEX_COLOR_PATTERN = re.compile(r"^#[0-9a-fA-F]{6}$")