add support for generating a keymap

This commit is contained in:
Zach White 2021-01-02 18:50:55 -08:00
parent 88cfd3554a
commit 2040fe3d8a

View File

@ -101,9 +101,15 @@ def kle2json(cli):
info_json_file = keyboard_dir / 'info.json'
json.dump(kb_info_json, info_json_file.open('w'), indent=4, separators=(', ', ': '), sort_keys=False, cls=InfoJSONEncoder)
cli.log.info('Wrote file %s', info_json_file)
cli.log.info('Wrote file {fg_cyan}%s', info_json_file)
# Generate and write a keymap
keymap_path = keyboard_dir / 'keymaps' / cli.args.keymap
keymap_file = keymap_path / 'keymap.json'
if keymap_path.exists():
cli.log.warning('{fg_cyan}%s{fg_reset} already exists, not generating a keymap.', keymap_path)
else:
keymap = [key.get('label', 'KC_NO') for key in kb_info_json['layouts'][cli.args.layout]['layout']]
keymap_json = {
'version': 1,
@ -117,9 +123,7 @@ def kle2json(cli):
['KC_TRNS' for key in keymap],
],
}
keymap_path = keyboard_dir / 'keymaps' / cli.args.keymap
keymap_path.mkdir(exist_ok=True, parents=True)
keymap_file = keymap_path / 'keymap.json'
json.dump(keymap_json, keymap_file.open('w'), indent=4, separators=(', ', ': '), sort_keys=False)
cli.log.info('Wrote file %s', keymap_file)