diff options
| author | Jan Christoph Ebersbach <jceb@e-jc.de> | 2019-05-01 06:53:29 +0200 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-04-30 21:53:29 -0700 |
| commit | 074be4fe5e8a783c0147e6fa57182c1a6b61418d (patch) | |
| tree | d00b76681e09aab1ecb10bd7d0441391e554e1de | |
| parent | 670ff2d19f76f4558ccdd317ab362ccfe5e45642 (diff) | |
| download | qmk_firmware-074be4fe5e8a783c0147e6fa57182c1a6b61418d.tar.gz qmk_firmware-074be4fe5e8a783c0147e6fa57182c1a6b61418d.zip | |
[Keyboard] Signum3.0 generate json keymap (#5688)
* Remove dependency on sortedcontainers
* Sort dictionary on output
* Externalize writing of keymap.c into function
- serialize layers into one flat list
* Add encoding
* Generate JSON keymap in addition to keymap.c
* Replace XXXXXX with KC_NO
4 files changed, 125 insertions, 88 deletions
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py b/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py index 05996d06c..9517a2f1f 100755 --- a/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py +++ b/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py | |||
| @@ -1,12 +1,11 @@ | |||
| 1 | #!/usr/bin/env python3 | 1 | #!/usr/bin/env python3 |
| 2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
| 3 | 3 | ||
| 4 | import json | ||
| 4 | import layout | 5 | import layout |
| 6 | import os | ||
| 5 | import re | 7 | import re |
| 6 | 8 | ||
| 7 | # TODO: auto-generate mutex layers | ||
| 8 | # TODO: auto-generate update_tri_layer (_state) | ||
| 9 | |||
| 10 | 9 | ||
| 11 | def gen_uc_iter(): | 10 | def gen_uc_iter(): |
| 12 | length = len(layout.uc_dict) | 11 | length = len(layout.uc_dict) |
| @@ -18,7 +17,7 @@ def gen_uc_iter(): | |||
| 18 | yield (key, value, True) | 17 | yield (key, value, True) |
| 19 | 18 | ||
| 20 | 19 | ||
| 21 | def translate(s): | 20 | def _translate(s): |
| 22 | if re.match("^[0-9]$", s): | 21 | if re.match("^[0-9]$", s): |
| 23 | return ("KC_{0}".format(s), " {0} ".format(s)) | 22 | return ("KC_{0}".format(s), " {0} ".format(s)) |
| 24 | elif re.match("^[a-z]$", s): | 23 | elif re.match("^[a-z]$", s): |
| @@ -50,80 +49,115 @@ def translate(s): | |||
| 50 | 49 | ||
| 51 | 50 | ||
| 52 | def toKC(s): | 51 | def toKC(s): |
| 53 | (kc, lgd) = translate(s) | 52 | return _translate(s)[0] |
| 54 | return kc | ||
| 55 | 53 | ||
| 56 | 54 | ||
| 57 | def toLgd(s): | 55 | def toLgd(s): |
| 58 | (kc, lgd) = translate(s) | 56 | return _translate(s)[1] |
| 59 | return lgd | ||
| 60 | |||
| 61 | |||
| 62 | if __name__ == "__main__": | ||
| 63 | 57 | ||
| 64 | template = open("km_template.txt", mode="r") | ||
| 65 | output = open("keymap.c", mode="w", encoding='utf-8') | ||
| 66 | 58 | ||
| 59 | def writeKeymap(f_template, f_keymap, columns, rows): | ||
| 67 | doCopy = False | 60 | doCopy = False |
| 68 | 61 | ||
| 69 | for line in template: | 62 | for line in f_template: |
| 70 | doCopy = True | 63 | doCopy = True |
| 71 | if line.startswith("//<enum/>"): | 64 | if line.startswith("//<enum/>"): |
| 72 | doCopy = False | 65 | doCopy = False |
| 73 | # output.write(str(layout.uc_dict)) | 66 | # f_keymap.write(str(layout.uc_dict)) |
| 74 | for k, v, isLast in gen_uc_iter(): | 67 | for k, v, isLast in gen_uc_iter(): |
| 75 | if isLast: | 68 | if isLast: |
| 76 | output.write(k + "\n") | 69 | f_keymap.write(k + "\n") |
| 77 | else: | 70 | else: |
| 78 | output.write(k + ",\n") | 71 | f_keymap.write(k + ",\n") |
| 79 | if line.startswith("//<uc_map/>"): | 72 | elif line.startswith("//<uc_map/>"): |
| 80 | doCopy = False | 73 | doCopy = False |
| 81 | for k, v, isLast in gen_uc_iter(): | 74 | for k, v, isLast in gen_uc_iter(): |
| 82 | if isLast: | 75 | if isLast: |
| 83 | output.write(u"\t[{0}] = {1} // {2}\n".format(k, v, chr(int(v, 0)))) | 76 | f_keymap.write(u"\t[{0}] = {1} // {2}\n".format(k, v, chr(int(v, 0)))) |
| 84 | else: | 77 | else: |
| 85 | output.write(u"\t[{0}] = {1}, // {2}\n".format(k, v, chr(int(v, 0)))) | 78 | f_keymap.write(u"\t[{0}] = {1}, // {2}\n".format(k, v, chr(int(v, 0)))) |
| 86 | if line.startswith("//<keymaps/>"): | 79 | elif line.startswith("//<keymaps/>"): |
| 87 | doCopy = False | 80 | doCopy = False |
| 88 | counter = len(layout.layers) | 81 | for layer, L in enumerate(layout.layers): |
| 89 | layer = 0 | 82 | r_counter = rows |
| 90 | S = layout.static | 83 | f_keymap.write("/* Layer %d\n" % layer) |
| 91 | for L in layout.layers: | 84 | f_keymap.write(" * ------------------------------------------------- -------------------------------------------------\n") |
| 92 | counter -= 1 | 85 | f_keymap.write(" * |{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|\n".format(*map(toLgd, L[:12]))) |
| 93 | r_counter = 4 | 86 | f_keymap.write(" * ------------------------------------------------- -------------------------------------------------\n") |
| 94 | output.write("/* Layer %d\n" % layer) | 87 | f_keymap.write(" * |{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|\n".format(*map(toLgd, L[12:24]))) |
| 95 | output.write(" * ------------------------------------------------- -------------------------------------------------\n") | 88 | f_keymap.write(" * ------------------------------------------------- -------------------------------------------------\n") |
| 96 | output.write(" * |{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|\n".format(toLgd(L[0][0]), toLgd(L[0][1]), toLgd(L[0][2]), toLgd(L[0][3]), toLgd(L[0][4]), toLgd(L[0][5]), toLgd(L[0][6]), toLgd(L[0][7]), toLgd(L[0][8]), toLgd(L[0][9]), toLgd(L[0][10]), toLgd(L[0][11]))) | 89 | f_keymap.write(" * |{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|\n".format(*map(toLgd, L[24:36]))) |
| 97 | output.write(" * ------------------------------------------------- -------------------------------------------------\n") | 90 | f_keymap.write(" * -----------------------------------------------------------------------------------------------------------------\n") |
| 98 | output.write(" * |{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|\n".format(toLgd(L[1][0]), toLgd(L[1][1]), toLgd(L[1][2]), toLgd(L[1][3]), toLgd(L[1][4]), toLgd(L[1][5]), toLgd(L[1][6]), toLgd(L[1][7]), toLgd(L[1][8]), toLgd(L[1][9]), toLgd(L[1][10]), toLgd(L[1][11]))) | 91 | f_keymap.write(" * {0} {1} {2} |{3}|{4}|{5}|{6}|{7}|{8}| {9} {10} {11}".format(*map(toLgd, L[36:48])).rstrip()+"\n") |
| 99 | output.write(" * ------------------------------------------------- -------------------------------------------------\n") | 92 | f_keymap.write(" * -------------------------------------------------\n") |
| 100 | output.write(" * |{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|\n".format(toLgd(L[2][0]), toLgd(L[2][1]), toLgd(L[2][2]), toLgd(L[2][3]), toLgd(L[2][4]), toLgd(L[2][5]), toLgd(L[2][6]), toLgd(L[2][7]), toLgd(L[2][8]), toLgd(L[2][9]), toLgd(L[2][10]), toLgd(L[2][11]))) | 93 | f_keymap.write(" */\n") |
| 101 | output.write(" * -----------------------------------------------------------------------------------------------------------------\n") | ||
| 102 | output.write(" * {0} {1} {2} |{3}|{4}|{5}|{6}|{7}|{8}| {9} {10} {11}".format(toLgd(L[3][0]), toLgd(L[3][1]), toLgd(L[3][2]), toLgd(L[3][3]), toLgd(L[3][4]), toLgd(L[3][5]), toLgd(L[3][6]), toLgd(L[3][7]), toLgd(L[3][8]), toLgd(L[3][9]), toLgd(L[3][10]), toLgd(L[3][11])).rstrip()+"\n") | ||
| 103 | output.write(" * -------------------------------------------------\n") | ||
| 104 | output.write(" */\n") | ||
| 105 | 94 | ||
| 106 | l_code = '\tLAYOUT_ortho_4x12(\n' | 95 | l_code = '\tLAYOUT_ortho_4x12(\n' |
| 107 | for r in range(r_counter): | 96 | for r in range(r_counter): |
| 108 | r_counter -= 1 | 97 | r_counter -= 1 |
| 109 | c_counter = 12 | 98 | c_counter = columns |
| 110 | l_code += '\t\t' | 99 | l_code += '\t\t' |
| 111 | for c in range(c_counter): | 100 | for c in range(c_counter): |
| 112 | c_counter -= 1 | 101 | c_counter -= 1 |
| 113 | if c != 0: | 102 | if c != 0: |
| 114 | l_code += " " | 103 | l_code += " " |
| 115 | l_code += "%s" % toKC(L[r][c]) | 104 | l_code += "%s" % toKC(L[r*columns + columns-c_counter-1]) |
| 116 | if r_counter or c_counter: | 105 | if r_counter or c_counter: |
| 117 | l_code += "," | 106 | l_code += "," |
| 118 | l_code += '\n' | 107 | l_code += '\n' |
| 119 | if counter: | 108 | if layer + 1 != len(layout.layers): |
| 120 | l_code += "\t),\n\n" | 109 | l_code += "\t),\n\n" |
| 121 | else: | 110 | else: |
| 122 | l_code += "\t)\n" | 111 | l_code += "\t)\n" |
| 123 | output.write(l_code) | 112 | f_keymap.write(l_code) |
| 124 | layer += 1 | ||
| 125 | if doCopy: | 113 | if doCopy: |
| 126 | output.write(line) | 114 | f_keymap.write(line) |
| 115 | |||
| 116 | |||
| 117 | def getKeymapJSON(keyboard, keymap, layout, layers): | ||
| 118 | return json.dumps({ | ||
| 119 | 'keyboard': keyboard, | ||
| 120 | 'keymap': keymap, | ||
| 121 | 'layout': layout, | ||
| 122 | 'layers': layers | ||
| 123 | }, sort_keys=True, indent=4) | ||
| 124 | |||
| 127 | 125 | ||
| 128 | template.close() | 126 | def layersToKC(layers): |
| 129 | output.close() | 127 | return [list(map(toKC, layer)) for layer in layers] |
| 128 | |||
| 129 | |||
| 130 | def pathToKeymap(path): | ||
| 131 | head, keymap = os.path.split(path) | ||
| 132 | _, keymapsdir = os.path.split(head) | ||
| 133 | if keymapsdir == 'keymaps': | ||
| 134 | return keymap | ||
| 135 | |||
| 136 | |||
| 137 | def pathToKeyboard(path): | ||
| 138 | head, keymap = os.path.split(path) | ||
| 139 | head, keymapsdir = os.path.split(head) | ||
| 140 | if keymapsdir == 'keymaps': | ||
| 141 | head, dir = os.path.split(head) | ||
| 142 | while dir not in ('/', 'keyboards'): | ||
| 143 | yield dir | ||
| 144 | head, dir = os.path.split(head) | ||
| 145 | |||
| 146 | |||
| 147 | if __name__ == "__main__": | ||
| 148 | with open("km_template.txt", mode="r") as f_template: | ||
| 149 | with open("keymap.c", mode="w", encoding='utf-8') as f_keymap: | ||
| 150 | writeKeymap(f_template, f_keymap, columns=12, rows=4) | ||
| 151 | |||
| 152 | abspath = os.path.dirname(os.path.abspath(__file__)) | ||
| 153 | keyboard = list(reversed(list(pathToKeyboard(abspath)))) | ||
| 154 | keymap = pathToKeymap(abspath) | ||
| 155 | keyboard_layout = 'LAYOUT_ortho_4x12' | ||
| 156 | with open("%s_%s.json" % ('_'.join(keyboard), keymap), mode="w") as f_keymapjson: | ||
| 157 | f_keymapjson.write( | ||
| 158 | getKeymapJSON( | ||
| 159 | '/'.join(keyboard), | ||
| 160 | keymap, | ||
| 161 | keyboard_layout, | ||
| 162 | layersToKC(layout.layers)) | ||
| 163 | ) | ||
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/keymap.c b/keyboards/signum/3_0/elitec/keymaps/default/keymap.c index 4b3a9439d..c94890eda 100644 --- a/keyboards/signum/3_0/elitec/keymaps/default/keymap.c +++ b/keyboards/signum/3_0/elitec/keymaps/default/keymap.c | |||
| @@ -672,8 +672,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 672 | */ | 672 | */ |
| 673 | LAYOUT_ortho_4x12( | 673 | LAYOUT_ortho_4x12( |
| 674 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, | 674 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, |
| 675 | KC_TRNS, DF(0), DF(1), XXXXXXX, XXXXXXX, MO(3), KC_4, KC_4, KC_5, KC_6, KC_MINS, KC_EQL, | 675 | KC_TRNS, DF(0), DF(1), KC_NO, KC_NO, MO(3), KC_4, KC_4, KC_5, KC_6, KC_MINS, KC_EQL, |
| 676 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(5), KC_1, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, | 676 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, MO(5), KC_1, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, |
| 677 | TG(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_BSPC, KC_0, KC_TRNS, KC_TRNS, KC_TRNS | 677 | TG(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_BSPC, KC_0, KC_TRNS, KC_TRNS, KC_TRNS |
| 678 | ), | 678 | ), |
| 679 | 679 | ||
| @@ -689,9 +689,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 689 | * ------------------------------------------------- | 689 | * ------------------------------------------------- |
| 690 | */ | 690 | */ |
| 691 | LAYOUT_ortho_4x12( | 691 | LAYOUT_ortho_4x12( |
| 692 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, | 692 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, |
| 693 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(3), KC_F4, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, | 693 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, MO(3), KC_F4, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, |
| 694 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F1, KC_F2, KC_F3, XXXXXXX, KC_TRNS, | 694 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F1, KC_F2, KC_F3, KC_NO, KC_TRNS, |
| 695 | TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS | 695 | TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS |
| 696 | ), | 696 | ), |
| 697 | 697 | ||
| @@ -709,7 +709,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 709 | LAYOUT_ortho_4x12( | 709 | LAYOUT_ortho_4x12( |
| 710 | KC_ESC, KC_ESC, LCTL(KC_W), LCTL(KC_T), CTL_T(KC_PGDN), CTL_T(KC_PGDN), KC_PGDN, KC_HOME, KC_UP, KC_INS, LSFT(KC_INS), KC_ESC, | 710 | KC_ESC, KC_ESC, LCTL(KC_W), LCTL(KC_T), CTL_T(KC_PGDN), CTL_T(KC_PGDN), KC_PGDN, KC_HOME, KC_UP, KC_INS, LSFT(KC_INS), KC_ESC, |
| 711 | KC_TRNS, KC_CAPS, LGUI_T(KC_LEFT), LGUI_T(KC_TAB), LGUI_T(KC_RIGHT), LGUI_T(KC_RIGHT), KC_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PSCR, | 711 | KC_TRNS, KC_CAPS, LGUI_T(KC_LEFT), LGUI_T(KC_TAB), LGUI_T(KC_RIGHT), LGUI_T(KC_RIGHT), KC_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PSCR, |
| 712 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, CTL_T(KC_PGUP), CTL_T(KC_PGUP), KC_PGUP, XXXXXXX, KC_DOWN, XXXXXXX, KC_APP, KC_TRNS, | 712 | KC_TRNS, KC_NO, KC_NO, KC_NO, CTL_T(KC_PGUP), CTL_T(KC_PGUP), KC_PGUP, KC_NO, KC_DOWN, KC_NO, KC_APP, KC_TRNS, |
| 713 | TG(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | 713 | TG(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
| 714 | ), | 714 | ), |
| 715 | 715 | ||
| @@ -725,9 +725,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 725 | * ------------------------------------------------- | 725 | * ------------------------------------------------- |
| 726 | */ | 726 | */ |
| 727 | LAYOUT_ortho_4x12( | 727 | LAYOUT_ortho_4x12( |
| 728 | KC_TRNS, XXXXXXX, KC_MPLY, KC_VOLU, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_PWR, | 728 | KC_TRNS, KC_NO, KC_MPLY, KC_VOLU, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_PWR, |
| 729 | KC_TRNS, XXXXXXX, KC_MPRV, KC_MUTE, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, | 729 | KC_TRNS, KC_NO, KC_MPRV, KC_MUTE, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, |
| 730 | KC_TRNS, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLD, MO(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 730 | KC_TRNS, KC_NO, KC_NO, KC_VOLD, KC_VOLD, MO(5), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| 731 | TG(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | 731 | TG(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
| 732 | ), | 732 | ), |
| 733 | 733 | ||
| @@ -743,9 +743,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 743 | * ------------------------------------------------- | 743 | * ------------------------------------------------- |
| 744 | */ | 744 | */ |
| 745 | LAYOUT_ortho_4x12( | 745 | LAYOUT_ortho_4x12( |
| 746 | KC_TRNS, KC_ACL1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, | 746 | KC_TRNS, KC_ACL1, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_NO, KC_NO, |
| 747 | KC_TRNS, KC_ACL2, KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_MS_L, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, | 747 | KC_TRNS, KC_ACL2, KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_MS_L, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, |
| 748 | KC_TRNS, KC_ACL0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D, XXXXXXX, KC_MS_D, XXXXXXX, XXXXXXX, KC_TRNS, | 748 | KC_TRNS, KC_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_NO, KC_MS_D, KC_NO, KC_NO, KC_TRNS, |
| 749 | TG(6), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | 749 | TG(6), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
| 750 | ) | 750 | ) |
| 751 | }; | 751 | }; |
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/layout.py b/keyboards/signum/3_0/elitec/keymaps/default/layout.py index 5a796c862..69cc059f1 100644 --- a/keyboards/signum/3_0/elitec/keymaps/default/layout.py +++ b/keyboards/signum/3_0/elitec/keymaps/default/layout.py | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | # -*- coding: utf-8 -*- | ||
| 2 | |||
| 1 | # Add all used Unicode symbols to this list. | 3 | # Add all used Unicode symbols to this list. |
| 2 | # The key (e.g. "SNEK") is used in keymap.c for "enum", "unicode_map" and "keymaps", so it needs to be a valid C variable name. | 4 | # The key (e.g. "SNEK") is used in keymap.c for "enum", "unicode_map" and "keymaps", so it needs to be a valid C variable name. |
| 3 | # The key is also used in this file to define the layout, so use recognizeable names. | 5 | # The key is also used in this file to define the layout, so use recognizeable names. |
| @@ -336,7 +338,7 @@ qmk_dict = { | |||
| 336 | # If you find "BAD" in your keymaps, then something went wrong.) | 338 | # If you find "BAD" in your keymaps, then something went wrong.) |
| 337 | "a": "BAD", "A": "BAD", "0": "BAD", | 339 | "a": "BAD", "A": "BAD", "0": "BAD", |
| 338 | # Basic Keycodes | 340 | # Basic Keycodes |
| 339 | "XXX": "XXXXXXX", "": "KC_TRNS", | 341 | "XXX": "KC_NO", "": "KC_TRNS", |
| 340 | "!": "S(KC_1)", "@": "S(KC_2)", "#": "S(KC_3)", "$": "S(KC_4)", "%": "S(KC_5)", | 342 | "!": "S(KC_1)", "@": "S(KC_2)", "#": "S(KC_3)", "$": "S(KC_4)", "%": "S(KC_5)", |
| 341 | "^": "S(KC_6)", "&": "S(KC_7)", "*": "S(KC_8)", "(": "S(KC_9)", ")": "S(KC_0)", | 343 | "^": "S(KC_6)", "&": "S(KC_7)", "*": "S(KC_8)", "(": "S(KC_9)", ")": "S(KC_0)", |
| 342 | "Enter": "KC_ENT", "Esc": "KC_ESC", "BSpace": "KC_BSPC", "Tab": "KC_TAB", | 344 | "Enter": "KC_ENT", "Esc": "KC_ESC", "BSpace": "KC_BSPC", "Tab": "KC_TAB", |
| @@ -426,58 +428,58 @@ static = ["NEO", "GREEK", "GREEK", "GREEK", "GREEK", "MOUSE"] | |||
| 426 | 428 | ||
| 427 | # 0 | 429 | # 0 |
| 428 | qwerty = [ | 430 | qwerty = [ |
| 429 | ["Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "["], | 431 | "Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", |
| 430 | ["LCtrl", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'"], | 432 | "LCtrl", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", |
| 431 | ["LShift(", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift)"], | 433 | "LShift(", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift)", |
| 432 | ["MO2", "LGui", "LAlt", "TT2", "LT6_SPC", "TT4", "Enter", "Space", "TT2", "RAlt", "RGui", "RCtrl"], | 434 | "MO2", "LGui", "LAlt", "TT2", "LT6_SPC", "TT4", "Enter", "Space", "TT2", "RAlt", "RGui", "RCtrl", |
| 433 | ] | 435 | ] |
| 434 | 436 | ||
| 435 | # 1 | 437 | # 1 |
| 436 | colemak = [ | 438 | colemak = [ |
| 437 | ["Tab", "q", "w", "f", "p", "g", "j", "l", "u", "y", ";", "["], | 439 | "Tab", "q", "w", "f", "p", "g", "j", "l", "u", "y", ";", "[", |
| 438 | ["LCtrl", "a", "r", "s", "t", "d", "h", "n", "e", "i", "o", "'"], | 440 | "LCtrl", "a", "r", "s", "t", "d", "h", "n", "e", "i", "o", "'", |
| 439 | ["LShift(", "z", "x", "c", "v", "b", "k", "m", ",", ".", "/", "RShift)"], | 441 | "LShift(", "z", "x", "c", "v", "b", "k", "m", ",", ".", "/", "RShift)", |
| 440 | ["MO2", "LGui", "LAlt", "TT2", "LT6_SPC", "TT4", "Enter", "Space", "TT2", "RAlt", "RGui", "RCtrl"], | 442 | "MO2", "LGui", "LAlt", "TT2", "LT6_SPC", "TT4", "Enter", "Space", "TT2", "RAlt", "RGui", "RCtrl", |
| 441 | ] | 443 | ] |
| 442 | 444 | ||
| 443 | # 2 | 445 | # 2 |
| 444 | numpad = [ | 446 | numpad = [ |
| 445 | ["`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "]"], | 447 | "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "]", |
| 446 | ["", "DF0", "DF1", "XXX", "XXX", "MO3", "4", "4", "5", "6", "-", "="], | 448 | "", "DF0", "DF1", "XXX", "XXX", "MO3", "4", "4", "5", "6", "-", "=", |
| 447 | ["", "XXX", "XXX", "XXX", "XXX", "MO5", "1", "1", "2", "3", "\\", ""], | 449 | "", "XXX", "XXX", "XXX", "XXX", "MO5", "1", "1", "2", "3", "\\", "", |
| 448 | ["TG2", "", "", "", "Del", "", "", "BSpace", "0", "", "", ""], | 450 | "TG2", "", "", "", "Del", "", "", "BSpace", "0", "", "", "", |
| 449 | ] | 451 | ] |
| 450 | 452 | ||
| 451 | # 3 | 453 | # 3 |
| 452 | fpad = [ | 454 | fpad = [ |
| 453 | ["", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "XXX"], | 455 | "", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "XXX", |
| 454 | ["", "XXX", "XXX", "XXX", "XXX", "MO3", "F4", "F4", "F5", "F6", "XXX", "XXX"], | 456 | "", "XXX", "XXX", "XXX", "XXX", "MO3", "F4", "F4", "F5", "F6", "XXX", "XXX", |
| 455 | ["", "XXX", "XXX", "XXX", "XXX", "XXX", "F1", "F1", "F2", "F3", "XXX", ""], | 457 | "", "XXX", "XXX", "XXX", "XXX", "XXX", "F1", "F1", "F2", "F3", "XXX", "", |
| 456 | ["TG3", "", "", "", "", "", "F10", "F11", "F12", "", "", ""], | 458 | "TG3", "", "", "", "", "", "F10", "F11", "F12", "", "", "", |
| 457 | ] | 459 | ] |
| 458 | 460 | ||
| 459 | # 4 | 461 | # 4 |
| 460 | movement = [ | 462 | movement = [ |
| 461 | ["Esc", "Esc", "Tab x", "Tab n", "CPg Dn", "CPg Dn", "Pg Down", "Home", "^ Arrow", "Insert", "SInsert", "Esc"], | 463 | "Esc", "Esc", "Tab x", "Tab n", "CPg Dn", "CPg Dn", "Pg Down", "Home", "^ Arrow", "Insert", "SInsert", "Esc", |
| 462 | ["", "Caps", "< Gui", "Gui Tab", "> Gui", "> Gui", "< Arrow", "< Arrow", "v Arrow", "> Arrow", "End", "Pr Scr"], | 464 | "", "Caps", "< Gui", "Gui Tab", "> Gui", "> Gui", "< Arrow", "< Arrow", "v Arrow", "> Arrow", "End", "Pr Scr", |
| 463 | ["", "XXX", "XXX", "XXX", "CPg Up", "CPg Up", "Pg Up", "XXX", "v Arrow", "XXX", "App", ""], | 465 | "", "XXX", "XXX", "XXX", "CPg Up", "CPg Up", "Pg Up", "XXX", "v Arrow", "XXX", "App", "", |
| 464 | ["TG4", "", "", "", "Del", "", "", "BSpace", "", "", "", ""], | 466 | "TG4", "", "", "", "Del", "", "", "BSpace", "", "", "", "", |
| 465 | ] | 467 | ] |
| 466 | 468 | ||
| 467 | # 5 | 469 | # 5 |
| 468 | media = [ | 470 | media = [ |
| 469 | ["", "XXX", "play/ps", "Vol +", "Vol +", "XXX", "XXX", "XXX", "XXX", "XXX", "_reset", "Power"], | 471 | "", "XXX", "play/ps", "Vol +", "Vol +", "XXX", "XXX", "XXX", "XXX", "XXX", "_reset", "Power", |
| 470 | ["", "XXX", "|<<", "Vol 0", ">>|", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "Sleep"], | 472 | "", "XXX", "|<<", "Vol 0", ">>|", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "Sleep", |
| 471 | ["", "XXX", "XXX", "Vol -", "Vol -", "MO5", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX"], | 473 | "", "XXX", "XXX", "Vol -", "Vol -", "MO5", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", |
| 472 | ["TG5", "", "", "", "", "", "", "", "", "", "", ""], | 474 | "TG5", "", "", "", "", "", "", "", "", "", "", "", |
| 473 | ] | 475 | ] |
| 474 | 476 | ||
| 475 | # 6 | 477 | # 6 |
| 476 | mouse = [ | 478 | mouse = [ |
| 477 | ["", "acc1", "XXX", "XXX", "XXX", "XXX", "^ Wheel", "< Wheel", "^ Mouse", "> Wheel", "XXX", "XXX"], | 479 | "", "acc1", "XXX", "XXX", "XXX", "XXX", "^ Wheel", "< Wheel", "^ Mouse", "> Wheel", "XXX", "XXX", |
| 478 | ["", "acc2", "Mouse 3", "Mouse 2", "Mouse 1", "Mouse 1", "< Mouse", "< Mouse", "v Mouse", "> Mouse", "XXX", "XXX"], | 480 | "", "acc2", "Mouse 3", "Mouse 2", "Mouse 1", "Mouse 1", "< Mouse", "< Mouse", "v Mouse", "> Mouse", "XXX", "XXX", |
| 479 | ["", "acc0", "XXX", "XXX", "XXX", "XXX", "v Wheel", "XXX", "v Mouse", "XXX", "XXX", ""], | 481 | "", "acc0", "XXX", "XXX", "XXX", "XXX", "v Wheel", "XXX", "v Mouse", "XXX", "XXX", "", |
| 480 | ["TG6", "", "", "", "", "", "", "", "", "", "", ""], | 482 | "TG6", "", "", "", "", "", "", "", "", "", "", "", |
| 481 | ] | 483 | ] |
| 482 | 484 | ||
| 483 | layers = [ | 485 | layers = [ |
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/readme.md b/keyboards/signum/3_0/elitec/keymaps/default/readme.md index 54db18cd3..be8cc30e8 100644 --- a/keyboards/signum/3_0/elitec/keymaps/default/readme.md +++ b/keyboards/signum/3_0/elitec/keymaps/default/readme.md | |||
| @@ -20,4 +20,5 @@ starting point to create your own layouts for the Signum 3.0 with | |||
| 20 | - Attention 2: additional C functions need to be put into | 20 | - Attention 2: additional C functions need to be put into |
| 21 | `km_template.txt` | 21 | `km_template.txt` |
| 22 | 22 | ||
| 23 | Run `./generate_km.py` to regenerate `keymap.c`. | 23 | Run `./generate_km.py` to regenerate `keymap.c` and the JSON keymap |
| 24 | definition that should be copied to `qmk_configurator/public/keymaps`. | ||
