From 1ef87578e2bb2a1ed2b189991c4858b11b75369c Mon Sep 17 00:00:00 2001 From: Yoichiro Tanaka Date: Wed, 10 Jun 2026 03:26:41 +0900 Subject: [PATCH] Fix audio.pins in keyboard.json not being converted to C defines (#26107) * Fix audio.pins in keyboard.json not being converted to C defines Co-Authored-By: Claude Opus 4.6 (1M context) * Fix audio.pins in keyboard.json not being converted to C defines Co-Authored-By: Claude Opus 4.6 (1M context) * Fix 'list index out of range' on missing config --------- Co-authored-by: Claude Opus 4.6 (1M context) Co-authored-by: zvecr --- data/mappings/info_config.hjson | 2 ++ lib/python/qmk/cli/generate/config_h.py | 2 +- lib/python/qmk/cli/generate/rules_mk.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 8b08f2e45d3..e86932e9ddf 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -19,6 +19,8 @@ // Audio "AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"}, "AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"}, + "AUDIO_PIN": {"info_key": "audio.pins.0"}, + "AUDIO_PIN_ALT": {"info_key": "audio.pins.1"}, "AUDIO_POWER_CONTROL_PIN": {"info_key": "audio.power_control.pin"}, "AUDIO_POWER_CONTROL_PIN_ON_STATE": {"info_key": "audio.power_control.on_state", "value_type": "int" }, "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "flag"}, diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index 2c1f4a84d58..c787ce48405 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -95,7 +95,7 @@ def generate_config_items(kb_info_json, config_h_lines): try: config_value = kb_info_json[info_key] - except KeyError: + except KeyError, IndexError: continue if key_type.startswith('array.array'): diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 16084bded18..25dc164e890 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -31,7 +31,7 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict): try: rules_value = kb_info_json[info_key] - except KeyError: + except KeyError, IndexError: return None if key_type in ['array', 'list']: