import json import sys def usage(): print("python mod_layer.py ") sys.exit(1) if len(sys.argv) != 4: usage() try: layer = int(sys.argv[3]) except ValueError: usage() if layer < 0 or layer > 9: print("Layer must be between 0 and 9") usage() layout = json.load(open(sys.argv[1])) for k in layout['keymaps'][layer]: if 'categories' in k: continue # Offset from https://github.com/keyboardio/Chrysalis/blob/master/src/api/keymap/db/modifiers.js#L19 # This is the offset for shift. Switch to another offset from Chrysalis to get a different mod k['code'] += 1 << 11 json.dump(layout, open(sys.argv[2], 'w'), sort_keys=True, indent=4)