diff --git a/lib/python/qmk/cli/xap/xap.py b/lib/python/qmk/cli/xap/xap.py index bf887954070..61189962179 100644 --- a/lib/python/qmk/cli/xap/xap.py +++ b/lib/python/qmk/cli/xap/xap.py @@ -93,6 +93,15 @@ class XAPShell(cmd.Cmd): # cache keycodes for this device self.keycodes = _load_keycodes(device.version().get('keycodes', 'latest')) + # TODO: dummy code is only to PoC kb/user keycodes + kb_keycodes = self.device.info().get('keycodes', []) + for index, item in enumerate(kb_keycodes): + self.keycodes[0x7E00 + index] = item['key'] + + user_keycodes = self.device.info().get('user_keycodes', []) + for index, item in enumerate(user_keycodes): + self.keycodes[0x7E40 + index] = item['key'] + def do_about(self, arg): """Prints out the version info of QMK """ diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 152e6ce7b6d..1858be65a60 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -894,7 +894,13 @@ def keymap_json_config(keyboard, keymap): keymap_folder = locate_keymap(keyboard, keymap).parent km_info_json = parse_configurator_json(keymap_folder / 'keymap.json') - return km_info_json.get('config', {}) + ret = km_info_json.get('config', {}) + + # TODO: dummy code is only to PoC kb/user keycodes + if 'keycodes' in km_info_json: + ret['user_keycodes'] = km_info_json['keycodes'] + + return ret def keymap_json(keyboard, keymap):