mirror of
https://github.com/openstenoproject/qmk
synced 2024-11-10 10:39:09 +00:00
34 lines
804 B
Python
34 lines
804 B
Python
|
"""Functions to convert to and from QMK formats
|
||
|
"""
|
||
|
from collections import OrderedDict
|
||
|
|
||
|
|
||
|
def kle2qmk(kle):
|
||
|
"""Convert a KLE layout to QMK's layout format.
|
||
|
"""
|
||
|
layout = []
|
||
|
|
||
|
for row in kle:
|
||
|
for key in row:
|
||
|
if key['decal']:
|
||
|
continue
|
||
|
|
||
|
qmk_key = OrderedDict(
|
||
|
label="",
|
||
|
x=key['column'],
|
||
|
y=key['row'],
|
||
|
)
|
||
|
|
||
|
if key['width'] != 1:
|
||
|
qmk_key['w'] = key['width']
|
||
|
if key['height'] != 1:
|
||
|
qmk_key['h'] = key['height']
|
||
|
if 'name' in key and key['name']:
|
||
|
qmk_key['label'] = key['name'].split('\n', 1)[0]
|
||
|
else:
|
||
|
del (qmk_key['label'])
|
||
|
|
||
|
layout.append(qmk_key)
|
||
|
|
||
|
return layout
|