diff options
author | Joel Challis <[email protected]> | 2025-06-27 08:17:45 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2025-06-27 08:17:45 +0100 |
commit | a1a5869ef871937c2ae7646ab639c4f5ffe59355 (patch) | |
tree | 47a06e55c839aa10f7f8c5e84f28318ad3b4831a /lib/python/qmk/info.py | |
parent | bc5c5e3251d019f3e070d7ea9e5c77501b25738d (diff) | |
download | qmk_firmware-a1a5869ef871937c2ae7646ab639c4f5ffe59355.tar.gz qmk_firmware-a1a5869ef871937c2ae7646ab639c4f5ffe59355.zip |
Add MATRIX_MASKED DD config (#25383)
Diffstat (limited to 'lib/python/qmk/info.py')
-rw-r--r-- | lib/python/qmk/info.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index db8a02d132..b4fa481b1b 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -254,6 +254,7 @@ def info_json(keyboard, force_layout=None): # Ensure that we have various calculated values info_data = _matrix_size(info_data) info_data = _joystick_axis_count(info_data) + info_data = _matrix_masked(info_data) # Merge in data from <keyboard.c> info_data = _extract_led_config(info_data, str(keyboard)) @@ -830,6 +831,25 @@ def _joystick_axis_count(info_data): return info_data +def _matrix_masked(info_data): + """"Add info_data['matrix_pins.masked'] if required""" + mask_required = False + + if 'matrix_grid' in info_data.get('dip_switch', {}): + mask_required = True + if 'matrix_grid' in info_data.get('split', {}).get('handedness', {}): + mask_required = True + + if mask_required: + if 'masked' not in info_data.get('matrix_pins', {}): + if 'matrix_pins' not in info_data: + info_data['matrix_pins'] = {} + + info_data['matrix_pins']['masked'] = True + + return info_data + + def _check_matrix(info_data): """Check the matrix to ensure that row/column count is consistent. """ |