summaryrefslogtreecommitdiff
path: root/lib/python/qmk
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2025-09-12 13:21:49 +0100
committerGitHub <noreply@github.com>2025-09-12 13:21:49 +0100
commitd34cade5abe11da93a6f3d204b00278127299f8b (patch)
treea2d0129066543dad907affac81a17c3126a5b5e2 /lib/python/qmk
parentcf58a8733d35bbfea2f54bd0175747ee63d9b2e3 (diff)
Generate default encoder resolution for sparse config (#25247)
Diffstat (limited to 'lib/python/qmk')
-rwxr-xr-xlib/python/qmk/cli/generate/config_h.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py
index d6d0299291..1ade452f95 100755
--- a/lib/python/qmk/cli/generate/config_h.py
+++ b/lib/python/qmk/cli/generate/config_h.py
@@ -125,11 +125,12 @@ def generate_encoder_config(encoder_json, config_h_lines, postfix=''):
125 config_h_lines.append(generate_define(f'ENCODER_A_PINS{postfix}', f'{{ {", ".join(a_pads)} }}')) 125 config_h_lines.append(generate_define(f'ENCODER_A_PINS{postfix}', f'{{ {", ".join(a_pads)} }}'))
126 config_h_lines.append(generate_define(f'ENCODER_B_PINS{postfix}', f'{{ {", ".join(b_pads)} }}')) 126 config_h_lines.append(generate_define(f'ENCODER_B_PINS{postfix}', f'{{ {", ".join(b_pads)} }}'))
127 127
128 if None in resolutions: 128 if len(resolutions) == 0 or all(r is None for r in resolutions):
129 cli.log.debug(f"Unable to generate ENCODER_RESOLUTION{postfix} configuration")
130 elif len(resolutions) == 0:
131 cli.log.debug(f"Skipping ENCODER_RESOLUTION{postfix} configuration") 129 cli.log.debug(f"Skipping ENCODER_RESOLUTION{postfix} configuration")
132 elif len(set(resolutions)) == 1: 130 return
131
132 resolutions = [4 if r is None else r for r in resolutions]
133 if len(set(resolutions)) == 1:
133 config_h_lines.append(generate_define(f'ENCODER_RESOLUTION{postfix}', resolutions[0])) 134 config_h_lines.append(generate_define(f'ENCODER_RESOLUTION{postfix}', resolutions[0]))
134 else: 135 else:
135 config_h_lines.append(generate_define(f'ENCODER_RESOLUTIONS{postfix}', f'{{ {", ".join(map(str,resolutions))} }}')) 136 config_h_lines.append(generate_define(f'ENCODER_RESOLUTIONS{postfix}', f'{{ {", ".join(map(str,resolutions))} }}'))