aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk/converter.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/qmk/converter.py')
-rw-r--r--lib/python/qmk/converter.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/python/qmk/converter.py b/lib/python/qmk/converter.py
new file mode 100644
index 000000000..bbd353131
--- /dev/null
+++ b/lib/python/qmk/converter.py
@@ -0,0 +1,33 @@
1"""Functions to convert to and from QMK formats
2"""
3from collections import OrderedDict
4
5
6def kle2qmk(kle):
7 """Convert a KLE layout to QMK's layout format.
8 """
9 layout = []
10
11 for row in kle:
12 for key in row:
13 if key['decal']:
14 continue
15
16 qmk_key = OrderedDict(
17 label="",
18 x=key['column'],
19 y=key['row'],
20 )
21
22 if key['width'] != 1:
23 qmk_key['w'] = key['width']
24 if key['height'] != 1:
25 qmk_key['h'] = key['height']
26 if 'name' in key and key['name']:
27 qmk_key['label'] = key['name'].split('\n', 1)[0]
28 else:
29 del (qmk_key['label'])
30
31 layout.append(qmk_key)
32
33 return layout