aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build_json.mk2
-rwxr-xr-xlib/python/qmk/cli/json/keymap.py12
-rw-r--r--lib/python/qmk/keymap.py2
3 files changed, 8 insertions, 8 deletions
diff --git a/build_json.mk b/build_json.mk
index 2e23ed148..8820a8f4a 100644
--- a/build_json.mk
+++ b/build_json.mk
@@ -23,5 +23,5 @@ endif
23 23
24# Generate the keymap.c 24# Generate the keymap.c
25ifneq ("$(KEYMAP_JSON)","") 25ifneq ("$(KEYMAP_JSON)","")
26 _ = $(shell bin/qmk-json-keymap -f $(KEYMAP_JSON) -o $(KEYMAP_C)) 26 _ = $(shell test -e $(KEYMAP_C) || bin/qmk-json-keymap $(KEYMAP_JSON) -o $(KEYMAP_C))
27endif 27endif
diff --git a/lib/python/qmk/cli/json/keymap.py b/lib/python/qmk/cli/json/keymap.py
index 35fc8f9c0..e2d0b5809 100755
--- a/lib/python/qmk/cli/json/keymap.py
+++ b/lib/python/qmk/cli/json/keymap.py
@@ -28,8 +28,8 @@ def main(cli):
28 exit(1) 28 exit(1)
29 29
30 # Environment processing 30 # Environment processing
31 if cli.args.output == ('-'): 31 if cli.config.general.output == ('-'):
32 cli.args.output = None 32 cli.config.general.output = None
33 33
34 # Parse the configurator json 34 # Parse the configurator json
35 with open(qmk.path.normpath(cli.args.filename), 'r') as fd: 35 with open(qmk.path.normpath(cli.args.filename), 'r') as fd:
@@ -38,17 +38,17 @@ def main(cli):
38 # Generate the keymap 38 # Generate the keymap
39 keymap_c = qmk.keymap.generate(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers']) 39 keymap_c = qmk.keymap.generate(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers'])
40 40
41 if cli.args.output: 41 if cli.config.general.output:
42 output_dir = os.path.dirname(cli.args.output) 42 output_dir = os.path.dirname(cli.config.general.output)
43 43
44 if not os.path.exists(output_dir): 44 if not os.path.exists(output_dir):
45 os.makedirs(output_dir) 45 os.makedirs(output_dir)
46 46
47 output_file = qmk.path.normpath(cli.args.output) 47 output_file = qmk.path.normpath(cli.config.general.output)
48 with open(output_file, 'w') as keymap_fd: 48 with open(output_file, 'w') as keymap_fd:
49 keymap_fd.write(keymap_c) 49 keymap_fd.write(keymap_c)
50 50
51 cli.log.info('Wrote keymap to %s.', cli.args.output) 51 cli.log.info('Wrote keymap to %s.', cli.config.general.output)
52 52
53 else: 53 else:
54 print(keymap_c) 54 print(keymap_c)
diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py
index 6eccab788..396b53a6f 100644
--- a/lib/python/qmk/keymap.py
+++ b/lib/python/qmk/keymap.py
@@ -63,7 +63,7 @@ def generate(keyboard, layout, layers):
63 layer_txt.append('\t[%s] = %s(%s)' % (layer_num, layout, layer_keys)) 63 layer_txt.append('\t[%s] = %s(%s)' % (layer_num, layout, layer_keys))
64 64
65 keymap = '\n'.join(layer_txt) 65 keymap = '\n'.join(layer_txt)
66 keymap_c = template(keyboard, keymap) 66 keymap_c = template(keyboard)
67 67
68 return keymap_c.replace('__KEYMAP_GOES_HERE__', keymap) 68 return keymap_c.replace('__KEYMAP_GOES_HERE__', keymap)
69 69