at master 804 B view raw
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