summaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-11-01 02:11:42 +0000
committerGitHub <noreply@github.com>2023-11-01 13:11:42 +1100
commitb31426252ed379937132ed7d2baf84a677123b5b (patch)
treeff40cb52f7bdbf6492d40f3b50dbd990f1525a13 /lib/python
parentfbbb221a31a4890a3302a4b169465d9efb0c59ed (diff)
Generate switch statement helpers for keycode ranges (#20059)
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/qmk/cli/generate/keycodes.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/python/qmk/cli/generate/keycodes.py b/lib/python/qmk/cli/generate/keycodes.py
index ed8b6827bd..719fced5d5 100644
--- a/lib/python/qmk/cli/generate/keycodes.py
+++ b/lib/python/qmk/cli/generate/keycodes.py
@@ -94,6 +94,14 @@ def _generate_helpers(lines, keycodes):
hi = keycodes["keycodes"][f'0x{codes[1]:04X}']['key']
lines.append(f'#define IS_{ _translate_group(group).upper() }_KEYCODE(code) ((code) >= {lo} && (code) <= {hi})')
+ lines.append('')
+ lines.append('// Switch statement Helpers')
+ for group, codes in temp.items():
+ lo = keycodes["keycodes"][f'0x{codes[0]:04X}']['key']
+ hi = keycodes["keycodes"][f'0x{codes[1]:04X}']['key']
+ name = f'{ _translate_group(group).upper() }_KEYCODE_RANGE'
+ lines.append(f'#define { name.ljust(35) } {lo} ... {hi}')
+
def _generate_aliases(lines, keycodes):
# Work around ChibiOS ch.h include guard