diff options
| author | Stan Gurenkov <klausflex@gmail.com> | 2021-09-24 13:05:29 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-24 10:05:29 -0700 |
| commit | 4493a05b74d8852222faa776d140233745114c53 (patch) | |
| tree | a7f272534946d9f7098e57d5e022c7f74fe34ef4 /keyboards/signum/3_0/keymaps | |
| parent | 60b13d04cdf4b27f387be90d830dd196c38b1362 (diff) | |
| download | qmk_firmware-4493a05b74d8852222faa776d140233745114c53.tar.gz qmk_firmware-4493a05b74d8852222faa776d140233745114c53.zip | |
[Keyboard] refactor signum30 (#14527)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Stan Gurenkov <stan.gurenkov@docusign.com>
Diffstat (limited to 'keyboards/signum/3_0/keymaps')
| -rwxr-xr-x | keyboards/signum/3_0/keymaps/default/generate_km.py | 194 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/default/keymap.c | 761 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/default/km_template.txt | 20 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/default/layout.py | 495 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/default/readme.md | 24 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/default/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/sgurenkov/config.h | 45 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/sgurenkov/keymap.c | 128 | ||||
| -rw-r--r-- | keyboards/signum/3_0/keymaps/sgurenkov/rules.mk | 2 |
9 files changed, 1670 insertions, 0 deletions
diff --git a/keyboards/signum/3_0/keymaps/default/generate_km.py b/keyboards/signum/3_0/keymaps/default/generate_km.py new file mode 100755 index 000000000..cfa8edf57 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/default/generate_km.py | |||
| @@ -0,0 +1,194 @@ | |||
| 1 | #!/usr/bin/env python3 | ||
| 2 | # -*- coding: utf-8 -*- | ||
| 3 | |||
| 4 | import json | ||
| 5 | import layout | ||
| 6 | import os | ||
| 7 | import re | ||
| 8 | |||
| 9 | |||
| 10 | def gen_uc_iter(): | ||
| 11 | length = len(layout.uc_dict) | ||
| 12 | for key, value in sorted(layout.uc_dict.items()): | ||
| 13 | length -= 1 | ||
| 14 | if length: | ||
| 15 | yield (key, value, False) | ||
| 16 | else: | ||
| 17 | yield (key, value, True) | ||
| 18 | |||
| 19 | |||
| 20 | def _translate(s): | ||
| 21 | if re.match("^[0-9]$", s): | ||
| 22 | return ("KC_{0}".format(s), " {0} ".format(s)) | ||
| 23 | elif re.match("^[a-z]$", s): | ||
| 24 | return ("KC_{0}".format(s.upper()), " {0} ".format(s)) | ||
| 25 | elif re.match("^[A-Z]$", s): | ||
| 26 | return ("S(KC_{0})".format(s), " {0} ".format(s)) | ||
| 27 | elif re.match("^F[0-9]{1,2}$", s): # Fn, works from F0 to F99 | ||
| 28 | return ("KC_{0}".format(s), "{0:^7}".format(s)) | ||
| 29 | elif re.match("^DF[0-9]{1,2}$", s): # DFn, works from DF0 to DF99 | ||
| 30 | return ("DF({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 31 | elif re.match("^MO[0-9]{1,2}$", s): # MOn, works from MO0 to MO99 | ||
| 32 | return ("MO({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 33 | elif re.match("^OSL[0-9]{1,2}$", s): # OSLn, works from OSL0 to OSL99 | ||
| 34 | return ("OSL({0})".format(s[3:]), "{0:^7}".format(s)) | ||
| 35 | elif re.match("^TG[0-9]{1,2}$", s): # TGn, works from TG0 to TG99 | ||
| 36 | return ("TG({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 37 | elif re.match("^TO[0-9]{1,2}$", s): # Tn, works from TO0 to TO99 | ||
| 38 | return ("TO({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 39 | elif re.match("^TT[0-9]{1,2}$", s): # Tn, works from TT0 to TT99 | ||
| 40 | return ("TT({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 41 | elif s in layout.uc_dict: | ||
| 42 | return ("X("+s+")", " {0} ".format(chr(int(layout.uc_dict[s], 0)))) | ||
| 43 | elif s in layout.qmk_dict: | ||
| 44 | return (layout.qmk_dict[s], "{0:^7}".format(s)) | ||
| 45 | elif s == s.upper() and s.startswith("KC_"): | ||
| 46 | return (s, "{0:^7}".format(s[2:])) | ||
| 47 | else: | ||
| 48 | return ("XXXXXXX", " {0} ".format(chr(128165))) | ||
| 49 | |||
| 50 | |||
| 51 | def toKC(s): | ||
| 52 | return _translate(s)[0] | ||
| 53 | |||
| 54 | |||
| 55 | def toLgd(s): | ||
| 56 | return _translate(s)[1] | ||
| 57 | |||
| 58 | |||
| 59 | def quoteC(text): | ||
| 60 | yield "/*" | ||
| 61 | for line in text: | ||
| 62 | yield " * " + line | ||
| 63 | yield " */\n" | ||
| 64 | |||
| 65 | |||
| 66 | def getKeymapText(id, layer, columns, rows): | ||
| 67 | keymap = [] | ||
| 68 | keymap.append("Layer %d" % id) | ||
| 69 | keymap.append("------------------------------------------------- -------------------------------------------------") | ||
| 70 | keymap.append("|{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|".format(*map(toLgd, layer[:12]))) | ||
| 71 | keymap.append("------------------------------------------------- -------------------------------------------------") | ||
| 72 | keymap.append("|{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|".format(*map(toLgd, layer[12:24]))) | ||
| 73 | keymap.append("------------------------------------------------- -------------------------------------------------") | ||
| 74 | keymap.append("|{0}|{1}|{2}|{3}|{4}|{5}| |{6}|{7}|{8}|{9}|{10}|{11}|".format(*map(toLgd, layer[24:36]))) | ||
| 75 | keymap.append("-----------------------------------------------------------------------------------------------------------------") | ||
| 76 | keymap.append(" {0} {1} {2} |{3}|{4}|{5}|{6}|{7}|{8}| {9} {10} {11}".format(*map(toLgd, layer[36:48])).rstrip()) | ||
| 77 | keymap.append(" -------------------------------------------------") | ||
| 78 | return keymap | ||
| 79 | |||
| 80 | |||
| 81 | def writeKeymap(f_template, f_keymap, layers, columns, rows): | ||
| 82 | doCopy = False | ||
| 83 | |||
| 84 | for line in f_template: | ||
| 85 | doCopy = True | ||
| 86 | if line.startswith("//<enum/>"): | ||
| 87 | doCopy = False | ||
| 88 | # f_keymap.write(str(layout.uc_dict)) | ||
| 89 | for k, v, isLast in gen_uc_iter(): | ||
| 90 | if isLast: | ||
| 91 | f_keymap.write(k + "\n") | ||
| 92 | else: | ||
| 93 | f_keymap.write(k + ",\n") | ||
| 94 | elif line.startswith("//<uc_map/>"): | ||
| 95 | doCopy = False | ||
| 96 | for k, v, isLast in gen_uc_iter(): | ||
| 97 | if isLast: | ||
| 98 | f_keymap.write(u"\t[{0}] = {1} // {2}\n".format(k, v, chr(int(v, 0)))) | ||
| 99 | else: | ||
| 100 | f_keymap.write(u"\t[{0}] = {1}, // {2}\n".format(k, v, chr(int(v, 0)))) | ||
| 101 | elif line.startswith("//<keymaps/>"): | ||
| 102 | doCopy = False | ||
| 103 | for layer, L in enumerate(layers): | ||
| 104 | r_counter = rows | ||
| 105 | f_keymap.write('\n'.join(quoteC(getKeymapText(layer, L, columns, rows)))) | ||
| 106 | |||
| 107 | l_code = '\tLAYOUT_ortho_4x12(\n' | ||
| 108 | for r in range(r_counter): | ||
| 109 | r_counter -= 1 | ||
| 110 | c_counter = columns | ||
| 111 | l_code += '\t\t' | ||
| 112 | for c in range(c_counter): | ||
| 113 | c_counter -= 1 | ||
| 114 | if c != 0: | ||
| 115 | l_code += " " | ||
| 116 | l_code += "%s" % toKC(L[r*columns + columns-c_counter-1]) | ||
| 117 | if r_counter or c_counter: | ||
| 118 | l_code += "," | ||
| 119 | l_code += '\n' | ||
| 120 | if layer + 1 != len(layout.layers): | ||
| 121 | l_code += "\t),\n\n" | ||
| 122 | else: | ||
| 123 | l_code += "\t)\n" | ||
| 124 | f_keymap.write(l_code) | ||
| 125 | if doCopy: | ||
| 126 | f_keymap.write(line) | ||
| 127 | |||
| 128 | |||
| 129 | def getKeymapJSON(keyboard, keymap, layout, layers): | ||
| 130 | return json.dumps({ | ||
| 131 | 'keyboard': keyboard, | ||
| 132 | 'keymap': keymap, | ||
| 133 | 'layout': layout, | ||
| 134 | 'layers': layers | ||
| 135 | }, sort_keys=True, indent=4) | ||
| 136 | |||
| 137 | |||
| 138 | def getKeymapAsciidoc(title, layers, columns, rows): | ||
| 139 | yield '= ' + title | ||
| 140 | yield '' | ||
| 141 | for id, layer in enumerate(layers): | ||
| 142 | keymap = getKeymapText(id, layer, columns, rows) | ||
| 143 | if len(keymap): | ||
| 144 | yield '.' + keymap[0] | ||
| 145 | yield '--------------------------' | ||
| 146 | for line in keymap[1:]: | ||
| 147 | yield ' ' + line | ||
| 148 | yield '--------------------------' | ||
| 149 | yield '' | ||
| 150 | |||
| 151 | |||
| 152 | def layersToKC(layers): | ||
| 153 | return [list(map(toKC, layer)) for layer in layers] | ||
| 154 | |||
| 155 | |||
| 156 | def pathToKeymap(path): | ||
| 157 | head, keymap = os.path.split(path) | ||
| 158 | _, keymapsdir = os.path.split(head) | ||
| 159 | if keymapsdir == 'keymaps': | ||
| 160 | return keymap | ||
| 161 | |||
| 162 | |||
| 163 | def pathToKeyboard(path): | ||
| 164 | head, keymap = os.path.split(path) | ||
| 165 | head, keymapsdir = os.path.split(head) | ||
| 166 | if keymapsdir == 'keymaps': | ||
| 167 | head, dir = os.path.split(head) | ||
| 168 | while dir not in ('/', 'keyboards'): | ||
| 169 | yield dir | ||
| 170 | head, dir = os.path.split(head) | ||
| 171 | |||
| 172 | |||
| 173 | if __name__ == "__main__": | ||
| 174 | with open("km_template.txt", mode="r") as f_template: | ||
| 175 | with open("keymap.c", mode="w", encoding='utf-8') as f_keymap: | ||
| 176 | writeKeymap(f_template, f_keymap, layout.layers, columns=12, rows=4) | ||
| 177 | |||
| 178 | abspath = os.path.dirname(os.path.abspath(__file__)) | ||
| 179 | keyboard = list(reversed(list(pathToKeyboard(abspath)))) | ||
| 180 | keymap = pathToKeymap(abspath) | ||
| 181 | keyboard_layout = 'LAYOUT_ortho_4x12' | ||
| 182 | with open("%s_%s.json" % ('_'.join(keyboard), keymap), mode="w") as f_keymapjson: | ||
| 183 | f_keymapjson.write( | ||
| 184 | getKeymapJSON( | ||
| 185 | '/'.join(keyboard), | ||
| 186 | keymap, | ||
| 187 | keyboard_layout, | ||
| 188 | layersToKC(layout.layers)) | ||
| 189 | ) | ||
| 190 | |||
| 191 | with open("keymap.adoc", mode="w") as f_keymapasciidoc: | ||
| 192 | f_keymapasciidoc.write('\n'.join(getKeymapAsciidoc('Signum 3.0 %s_%s' % ('_'.join(keyboard), keymap), layout.layers, columns=12, rows=4))) | ||
| 193 | print("Run the following command to generate a PDF from the keymap") | ||
| 194 | print("a2x -f pdf --xsltproc-opts '--stringparam page.orientation landscape --stringparam body.font.master 12' --fop -v keymap.adoc") | ||
diff --git a/keyboards/signum/3_0/keymaps/default/keymap.c b/keyboards/signum/3_0/keymaps/default/keymap.c new file mode 100644 index 000000000..15cf21530 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/default/keymap.c | |||
| @@ -0,0 +1,761 @@ | |||
| 1 | /* keymap.c is auto-generated, don't edit it directly. | ||
| 2 | * Further instructions are provided in readme.md */ | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | enum unicode_name { | ||
| 7 | AB_ARC, | ||
| 8 | AB_LINE, | ||
| 9 | AB_VEC, | ||
| 10 | ACUTE, | ||
| 11 | AE, | ||
| 12 | ALEPH, | ||
| 13 | ALLA_BR, | ||
| 14 | ALPHA, | ||
| 15 | AND, | ||
| 16 | AND_, | ||
| 17 | ANGLE, | ||
| 18 | AST_MID, | ||
| 19 | A_SET, | ||
| 20 | BARLINE, | ||
| 21 | BARLINE_D, | ||
| 22 | BARLINE_FIN, | ||
| 23 | BETA, | ||
| 24 | BETH, | ||
| 25 | BICOND, | ||
| 26 | BIG_O, | ||
| 27 | BISHOP_B, | ||
| 28 | BISHOP_W, | ||
| 29 | BITCOIN, | ||
| 30 | BOTTOM, | ||
| 31 | BOWTIE, | ||
| 32 | BRA, | ||
| 33 | BULLET, | ||
| 34 | B_SET, | ||
| 35 | CENT, | ||
| 36 | CHI, | ||
| 37 | CIRCLE, | ||
| 38 | CIRC_MID, | ||
| 39 | CLUBS_B, | ||
| 40 | CLUBS_W, | ||
| 41 | CODA, | ||
| 42 | COMMON_T, | ||
| 43 | COPYR, | ||
| 44 | CORRESP, | ||
| 45 | CROSS, | ||
| 46 | CURRENCY, | ||
| 47 | C_CLEF, | ||
| 48 | C_SET, | ||
| 49 | DACAPO, | ||
| 50 | DALSEGNO, | ||
| 51 | DEFINE, | ||
| 52 | DEGREE, | ||
| 53 | DELTA, | ||
| 54 | DIAMS_B, | ||
| 55 | DIAMS_W, | ||
| 56 | DIGAMMA, | ||
| 57 | DIVISION, | ||
| 58 | DOTS, | ||
| 59 | DOT_OP, | ||
| 60 | DQT1, | ||
| 61 | DQT2, | ||
| 62 | DQT3, | ||
| 63 | DQT4, | ||
| 64 | DQT5, | ||
| 65 | EIGHTH_N, | ||
| 66 | EIGHTH_P, | ||
| 67 | EJECT, | ||
| 68 | EMBED, | ||
| 69 | EMDASH, | ||
| 70 | EMPTYSET, | ||
| 71 | EPSILON, | ||
| 72 | EQUIV, | ||
| 73 | ETA, | ||
| 74 | EURO, | ||
| 75 | EXISTS, | ||
| 76 | FEMALE, | ||
| 77 | FLAG_B, | ||
| 78 | FLAG_W, | ||
| 79 | FLAT, | ||
| 80 | FORALL, | ||
| 81 | FORWARD, | ||
| 82 | FOURIER, | ||
| 83 | FULL_OUTER, | ||
| 84 | F_CLEF, | ||
| 85 | F_SET, | ||
| 86 | GAMMA, | ||
| 87 | GREAT_GREAT, | ||
| 88 | GR_EQ, | ||
| 89 | G_CLEF, | ||
| 90 | HALF_N, | ||
| 91 | HALF_P, | ||
| 92 | HAMILTON, | ||
| 93 | HEARTS_B, | ||
| 94 | HEARTS_W, | ||
| 95 | HETA, | ||
| 96 | H_SET, | ||
| 97 | IMAG_P, | ||
| 98 | IMPL, | ||
| 99 | IMPL_REV, | ||
| 100 | IN, | ||
| 101 | INDICATOR, | ||
| 102 | INEQUAL, | ||
| 103 | INFO, | ||
| 104 | INFTY, | ||
| 105 | INTEGRAL, | ||
| 106 | INTERS, | ||
| 107 | INTERS_, | ||
| 108 | INV_EXCL, | ||
| 109 | INV_QST, | ||
| 110 | IOTA, | ||
| 111 | ISOMORPH, | ||
| 112 | KAPPA, | ||
| 113 | KET, | ||
| 114 | KEY, | ||
| 115 | KING_B, | ||
| 116 | KING_W, | ||
| 117 | KNIGHT_B, | ||
| 118 | KNIGHT_W, | ||
| 119 | KOPPA, | ||
| 120 | K_SET, | ||
| 121 | LAMBDA, | ||
| 122 | LAPLACE, | ||
| 123 | LEFT_CEIL, | ||
| 124 | LEFT_FLOOR, | ||
| 125 | LEFT_OUTER, | ||
| 126 | LENGTH, | ||
| 127 | LESS_LESS, | ||
| 128 | LETTER, | ||
| 129 | LOCK, | ||
| 130 | LOCK_OPEN, | ||
| 131 | LS_EQ, | ||
| 132 | LTIMES, | ||
| 133 | MALE, | ||
| 134 | MAPSTO, | ||
| 135 | MDOT, | ||
| 136 | MICRO, | ||
| 137 | MINUS_OP, | ||
| 138 | MINUS_PLUS, | ||
| 139 | MINUTE, | ||
| 140 | MODELS, | ||
| 141 | MY, | ||
| 142 | M_ANGLE, | ||
| 143 | NABLA, | ||
| 144 | NATURAL, | ||
| 145 | NO, | ||
| 146 | NOT, | ||
| 147 | NOTIN, | ||
| 148 | NOTSUBS, | ||
| 149 | NOT_DIV, | ||
| 150 | NOT_PARA, | ||
| 151 | NY, | ||
| 152 | N_SET, | ||
| 153 | N_TILDE, | ||
| 154 | OE, | ||
| 155 | OHM, | ||
| 156 | OMEGA, | ||
| 157 | OMIKRON, | ||
| 158 | OR, | ||
| 159 | OR_, | ||
| 160 | PARALLEL, | ||
| 161 | PARTIAL, | ||
| 162 | PAWN_B, | ||
| 163 | PAWN_W, | ||
| 164 | PEDAL, | ||
| 165 | PEDAL_UP, | ||
| 166 | PERMIL, | ||
| 167 | PHI, | ||
| 168 | PHONE, | ||
| 169 | PI, | ||
| 170 | PLAY, | ||
| 171 | PLUS_MINUS, | ||
| 172 | PLUS_OP, | ||
| 173 | POUND, | ||
| 174 | POWERSET, | ||
| 175 | PRED, | ||
| 176 | PROD_, | ||
| 177 | PROP_TO, | ||
| 178 | PR_SUBSET, | ||
| 179 | PSI, | ||
| 180 | QED, | ||
| 181 | QUART_N, | ||
| 182 | QUART_P, | ||
| 183 | QUEEN_B, | ||
| 184 | QUEEN_W, | ||
| 185 | Q_SET, | ||
| 186 | REAL_P, | ||
| 187 | REGTM, | ||
| 188 | REPEAT_E, | ||
| 189 | REPEAT_S, | ||
| 190 | REWIND, | ||
| 191 | RHO, | ||
| 192 | RIGHT_CEIL, | ||
| 193 | RIGHT_FLOOR, | ||
| 194 | RIGHT_OUTER, | ||
| 195 | RIGHT_TACK, | ||
| 196 | ROOK_B, | ||
| 197 | ROOK_W, | ||
| 198 | ROOT, | ||
| 199 | ROUGHLY, | ||
| 200 | RTIMES, | ||
| 201 | R_SET, | ||
| 202 | SAMPI, | ||
| 203 | SAN, | ||
| 204 | SCHO, | ||
| 205 | SECOND, | ||
| 206 | SECTION, | ||
| 207 | SEGNO, | ||
| 208 | SETMINUS, | ||
| 209 | SHARP, | ||
| 210 | SHOGI_B, | ||
| 211 | SHOGI_BD, | ||
| 212 | SHOGI_W, | ||
| 213 | SHOGI_WD, | ||
| 214 | SIGMA, | ||
| 215 | SIXT_N, | ||
| 216 | SIXT_P, | ||
| 217 | SNEK, | ||
| 218 | SPADES_B, | ||
| 219 | SPADES_W, | ||
| 220 | SPEAKER_DN, | ||
| 221 | SPEAKER_TG, | ||
| 222 | SPEAKER_UP, | ||
| 223 | SQT1, | ||
| 224 | SQT2, | ||
| 225 | SQT3, | ||
| 226 | SQT4, | ||
| 227 | SQT5, | ||
| 228 | SQUARE, | ||
| 229 | SQ_LS, | ||
| 230 | SQ_LS_EQ, | ||
| 231 | STAFF, | ||
| 232 | STIGMA, | ||
| 233 | STOP, | ||
| 234 | SUBSET, | ||
| 235 | SUBSET_REV, | ||
| 236 | SUCC, | ||
| 237 | SUM_, | ||
| 238 | SUP1, | ||
| 239 | SUP2, | ||
| 240 | SUP3, | ||
| 241 | SUP_A, | ||
| 242 | SUP_MIN, | ||
| 243 | SUP_O, | ||
| 244 | SZ, | ||
| 245 | TAU, | ||
| 246 | THETA, | ||
| 247 | TIMES, | ||
| 248 | TIMES_OP, | ||
| 249 | TMARK, | ||
| 250 | TO, | ||
| 251 | TOP, | ||
| 252 | TRIANGLE, | ||
| 253 | UE, | ||
| 254 | UNION, | ||
| 255 | UNION_, | ||
| 256 | U_SET, | ||
| 257 | WHOLE_N, | ||
| 258 | WHOLE_P, | ||
| 259 | XI, | ||
| 260 | YEN, | ||
| 261 | YES, | ||
| 262 | YPSI2, | ||
| 263 | YPSILON, | ||
| 264 | ZETA, | ||
| 265 | Z_SET, | ||
| 266 | ae, | ||
| 267 | alpha, | ||
| 268 | beta, | ||
| 269 | beta2, | ||
| 270 | chi, | ||
| 271 | delta, | ||
| 272 | digamma, | ||
| 273 | e_FUN, | ||
| 274 | epsi2, | ||
| 275 | epsilon, | ||
| 276 | eta, | ||
| 277 | gamma, | ||
| 278 | heta, | ||
| 279 | i_UNIT, | ||
| 280 | iota, | ||
| 281 | kappa, | ||
| 282 | kappa2, | ||
| 283 | koppa, | ||
| 284 | lambda, | ||
| 285 | my, | ||
| 286 | n_tilde, | ||
| 287 | ny, | ||
| 288 | oe, | ||
| 289 | omega, | ||
| 290 | omikron, | ||
| 291 | phi, | ||
| 292 | phi2, | ||
| 293 | pi, | ||
| 294 | pi2, | ||
| 295 | psi, | ||
| 296 | rho, | ||
| 297 | rho2, | ||
| 298 | sampi, | ||
| 299 | san, | ||
| 300 | scho, | ||
| 301 | sigma, | ||
| 302 | sigma2, | ||
| 303 | sigma3, | ||
| 304 | stigma, | ||
| 305 | sz, | ||
| 306 | tau, | ||
| 307 | theta, | ||
| 308 | theta2, | ||
| 309 | ue, | ||
| 310 | xi, | ||
| 311 | ypsilon, | ||
| 312 | zeta | ||
| 313 | }; | ||
| 314 | |||
| 315 | const uint32_t PROGMEM unicode_map[] = { | ||
| 316 | [AB_ARC] = 0x0361, // ͡ | ||
| 317 | [AB_LINE] = 0x0305, // ̅ | ||
| 318 | [AB_VEC] = 0x20d7, // ⃗ | ||
| 319 | [ACUTE] = 0x00b4, // ´ | ||
| 320 | [AE] = 0x00c4, // Ä | ||
| 321 | [ALEPH] = 0x2135, // ℵ | ||
| 322 | [ALLA_BR] = 0x1d135, // 𝄵 | ||
| 323 | [ALPHA] = 0x0391, // Α | ||
| 324 | [AND] = 0x2227, // ∧ | ||
| 325 | [AND_] = 0x22c0, // ⋀ | ||
| 326 | [ANGLE] = 0x2220, // ∠ | ||
| 327 | [AST_MID] = 0x2217, // ∗ | ||
| 328 | [A_SET] = 0x1d538, // 𝔸 | ||
| 329 | [BARLINE] = 0x1d100, // 𝄀 | ||
| 330 | [BARLINE_D] = 0x1d101, // 𝄁 | ||
| 331 | [BARLINE_FIN] = 0x1d102, // 𝄂 | ||
| 332 | [BETA] = 0x0392, // Β | ||
| 333 | [BETH] = 0x2136, // ℶ | ||
| 334 | [BICOND] = 0x21d4, // ⇔ | ||
| 335 | [BIG_O] = 0x1d4aa, // 𝒪 | ||
| 336 | [BISHOP_B] = 0x265d, // ♝ | ||
| 337 | [BISHOP_W] = 0x2657, // ♗ | ||
| 338 | [BITCOIN] = 0x20bf, // ₿ | ||
| 339 | [BOTTOM] = 0x22a5, // ⊥ | ||
| 340 | [BOWTIE] = 0x22c8, // ⋈ | ||
| 341 | [BRA] = 0x27e8, // ⟨ | ||
| 342 | [BULLET] = 0x2022, // • | ||
| 343 | [B_SET] = 0x1d539, // 𝔹 | ||
| 344 | [CENT] = 0x00a2, // ¢ | ||
| 345 | [CHI] = 0x03a7, // Χ | ||
| 346 | [CIRCLE] = 0x25cb, // ○ | ||
| 347 | [CIRC_MID] = 0x2218, // ∘ | ||
| 348 | [CLUBS_B] = 0x2663, // ♣ | ||
| 349 | [CLUBS_W] = 0x2667, // ♧ | ||
| 350 | [CODA] = 0x1d10c, // 𝄌 | ||
| 351 | [COMMON_T] = 0x1d134, // 𝄴 | ||
| 352 | [COPYR] = 0x00a9, // © | ||
| 353 | [CORRESP] = 0x2259, // ≙ | ||
| 354 | [CROSS] = 0x2020, // † | ||
| 355 | [CURRENCY] = 0x00a4, // ¤ | ||
| 356 | [C_CLEF] = 0x1d121, // 𝄡 | ||
| 357 | [C_SET] = 0x2102, // ℂ | ||
| 358 | [DACAPO] = 0x1d10a, // 𝄊 | ||
| 359 | [DALSEGNO] = 0x1d109, // 𝄉 | ||
| 360 | [DEFINE] = 0x2254, // ≔ | ||
| 361 | [DEGREE] = 0x00b0, // ° | ||
| 362 | [DELTA] = 0x0394, // Δ | ||
| 363 | [DIAMS_B] = 0x2666, // ♦ | ||
| 364 | [DIAMS_W] = 0x2662, // ♢ | ||
| 365 | [DIGAMMA] = 0x03dc, // Ϝ | ||
| 366 | [DIVISION] = 0x00f7, // ÷ | ||
| 367 | [DOTS] = 0x2026, // … | ||
| 368 | [DOT_OP] = 0x2299, // ⊙ | ||
| 369 | [DQT1] = 0x00bb, // » | ||
| 370 | [DQT2] = 0x201e, // „ | ||
| 371 | [DQT3] = 0x201c, // “ | ||
| 372 | [DQT4] = 0x201d, // ” | ||
| 373 | [DQT5] = 0x00ab, // « | ||
| 374 | [EIGHTH_N] = 0x1d160, // 𝅘𝅥𝅮 | ||
| 375 | [EIGHTH_P] = 0x1d13e, // 𝄾 | ||
| 376 | [EJECT] = 0x23cf, // ⏏ | ||
| 377 | [EMBED] = 0x21aa, // ↪ | ||
| 378 | [EMDASH] = 0x2014, // — | ||
| 379 | [EMPTYSET] = 0x2205, // ∅ | ||
| 380 | [EPSILON] = 0x0395, // Ε | ||
| 381 | [EQUIV] = 0x2261, // ≡ | ||
| 382 | [ETA] = 0x0397, // Η | ||
| 383 | [EURO] = 0x20ac, // € | ||
| 384 | [EXISTS] = 0x2203, // ∃ | ||
| 385 | [FEMALE] = 0x2640, // ♀ | ||
| 386 | [FLAG_B] = 0x2691, // ⚑ | ||
| 387 | [FLAG_W] = 0x2690, // ⚐ | ||
| 388 | [FLAT] = 0x266d, // ♭ | ||
| 389 | [FORALL] = 0x2200, // ∀ | ||
| 390 | [FORWARD] = 0x23ed, // ⏭ | ||
| 391 | [FOURIER] = 0x2131, // ℱ | ||
| 392 | [FULL_OUTER] = 0x27d7, // ⟗ | ||
| 393 | [F_CLEF] = 0x1d122, // 𝄢 | ||
| 394 | [F_SET] = 0x1d53d, // 𝔽 | ||
| 395 | [GAMMA] = 0x0393, // Γ | ||
| 396 | [GREAT_GREAT] = 0x226b, // ≫ | ||
| 397 | [GR_EQ] = 0x2265, // ≥ | ||
| 398 | [G_CLEF] = 0x1d11e, // 𝄞 | ||
| 399 | [HALF_N] = 0x1d15e, // 𝅗𝅥 | ||
| 400 | [HALF_P] = 0x1d13c, // 𝄼 | ||
| 401 | [HAMILTON] = 0x210b, // ℋ | ||
| 402 | [HEARTS_B] = 0x2665, // ♥ | ||
| 403 | [HEARTS_W] = 0x2661, // ♡ | ||
| 404 | [HETA] = 0x0370, // Ͱ | ||
| 405 | [H_SET] = 0x210d, // ℍ | ||
| 406 | [IMAG_P] = 0x2111, // ℑ | ||
| 407 | [IMPL] = 0x21d2, // ⇒ | ||
| 408 | [IMPL_REV] = 0x21d0, // ⇐ | ||
| 409 | [IN] = 0x2208, // ∈ | ||
| 410 | [INDICATOR] = 0x1d7cf, // 𝟏 | ||
| 411 | [INEQUAL] = 0x2260, // ≠ | ||
| 412 | [INFO] = 0x1f6c8, // 🛈 | ||
| 413 | [INFTY] = 0x221e, // ∞ | ||
| 414 | [INTEGRAL] = 0x222b, // ∫ | ||
| 415 | [INTERS] = 0x2229, // ∩ | ||
| 416 | [INTERS_] = 0x22c2, // ⋂ | ||
| 417 | [INV_EXCL] = 0x00a1, // ¡ | ||
| 418 | [INV_QST] = 0x00bf, // ¿ | ||
| 419 | [IOTA] = 0x0399, // Ι | ||
| 420 | [ISOMORPH] = 0x2245, // ≅ | ||
| 421 | [KAPPA] = 0x039a, // Κ | ||
| 422 | [KET] = 0x27e9, // ⟩ | ||
| 423 | [KEY] = 0x1f511, // 🔑 | ||
| 424 | [KING_B] = 0x265a, // ♚ | ||
| 425 | [KING_W] = 0x2654, // ♔ | ||
| 426 | [KNIGHT_B] = 0x265e, // ♞ | ||
| 427 | [KNIGHT_W] = 0x2658, // ♘ | ||
| 428 | [KOPPA] = 0x03d8, // Ϙ | ||
| 429 | [K_SET] = 0x1d542, // 𝕂 | ||
| 430 | [LAMBDA] = 0x039b, // Λ | ||
| 431 | [LAPLACE] = 0x2112, // ℒ | ||
| 432 | [LEFT_CEIL] = 0x2308, // ⌈ | ||
| 433 | [LEFT_FLOOR] = 0x230a, // ⌊ | ||
| 434 | [LEFT_OUTER] = 0x27d5, // ⟕ | ||
| 435 | [LENGTH] = 0x2113, // ℓ | ||
| 436 | [LESS_LESS] = 0x226a, // ≪ | ||
| 437 | [LETTER] = 0x2709, // ✉ | ||
| 438 | [LOCK] = 0x1f512, // 🔒 | ||
| 439 | [LOCK_OPEN] = 0x1f513, // 🔓 | ||
| 440 | [LS_EQ] = 0x2264, // ≤ | ||
| 441 | [LTIMES] = 0x22c9, // ⋉ | ||
| 442 | [MALE] = 0x2642, // ♂ | ||
| 443 | [MAPSTO] = 0x27fc, // ⟼ | ||
| 444 | [MDOT] = 0x22c5, // ⋅ | ||
| 445 | [MICRO] = 0x00b5, // µ | ||
| 446 | [MINUS_OP] = 0x2296, // ⊖ | ||
| 447 | [MINUS_PLUS] = 0x2213, // ∓ | ||
| 448 | [MINUTE] = 0x02b9, // ʹ | ||
| 449 | [MODELS] = 0x22a7, // ⊧ | ||
| 450 | [MY] = 0x039c, // Μ | ||
| 451 | [M_ANGLE] = 0x2221, // ∡ | ||
| 452 | [NABLA] = 0x2207, // ∇ | ||
| 453 | [NATURAL] = 0x266e, // ♮ | ||
| 454 | [NO] = 0x2717, // ✗ | ||
| 455 | [NOT] = 0x00ac, // ¬ | ||
| 456 | [NOTIN] = 0x2209, // ∉ | ||
| 457 | [NOTSUBS] = 0x2288, // ⊈ | ||
| 458 | [NOT_DIV] = 0x2224, // ∤ | ||
| 459 | [NOT_PARA] = 0x2226, // ∦ | ||
| 460 | [NY] = 0x039d, // Ν | ||
| 461 | [N_SET] = 0x2115, // ℕ | ||
| 462 | [N_TILDE] = 0x00d1, // Ñ | ||
| 463 | [OE] = 0x00d6, // Ö | ||
| 464 | [OHM] = 0x2126, // Ω | ||
| 465 | [OMEGA] = 0x03a9, // Ω | ||
| 466 | [OMIKRON] = 0x039f, // Ο | ||
| 467 | [OR] = 0x2228, // ∨ | ||
| 468 | [OR_] = 0x22c1, // ⋁ | ||
| 469 | [PARALLEL] = 0x2225, // ∥ | ||
| 470 | [PARTIAL] = 0x2202, // ∂ | ||
| 471 | [PAWN_B] = 0x265f, // ♟ | ||
| 472 | [PAWN_W] = 0x2659, // ♙ | ||
| 473 | [PEDAL] = 0x1d1ae, // 𝆮 | ||
| 474 | [PEDAL_UP] = 0x1d1af, // 𝆯 | ||
| 475 | [PERMIL] = 0x2030, // ‰ | ||
| 476 | [PHI] = 0x03a6, // Φ | ||
| 477 | [PHONE] = 0x2706, // ✆ | ||
| 478 | [PI] = 0x03a0, // Π | ||
| 479 | [PLAY] = 0x23ef, // ⏯ | ||
| 480 | [PLUS_MINUS] = 0x00b1, // ± | ||
| 481 | [PLUS_OP] = 0x2295, // ⊕ | ||
| 482 | [POUND] = 0x00a3, // £ | ||
| 483 | [POWERSET] = 0x1d4ab, // 𝒫 | ||
| 484 | [PRED] = 0x227a, // ≺ | ||
| 485 | [PROD_] = 0x220f, // ∏ | ||
| 486 | [PROP_TO] = 0x221d, // ∝ | ||
| 487 | [PR_SUBSET] = 0x2282, // ⊂ | ||
| 488 | [PSI] = 0x03a8, // Ψ | ||
| 489 | [QED] = 0x220e, // ∎ | ||
| 490 | [QUART_N] = 0x1d15f, // 𝅘𝅥 | ||
| 491 | [QUART_P] = 0x1d13d, // 𝄽 | ||
| 492 | [QUEEN_B] = 0x265b, // ♛ | ||
| 493 | [QUEEN_W] = 0x2655, // ♕ | ||
| 494 | [Q_SET] = 0x211a, // ℚ | ||
| 495 | [REAL_P] = 0x211c, // ℜ | ||
| 496 | [REGTM] = 0x00ae, // ® | ||
| 497 | [REPEAT_E] = 0x1d107, // 𝄇 | ||
| 498 | [REPEAT_S] = 0x1d106, // 𝄆 | ||
| 499 | [REWIND] = 0x23ee, // ⏮ | ||
| 500 | [RHO] = 0x03a1, // Ρ | ||
| 501 | [RIGHT_CEIL] = 0x2309, // ⌉ | ||
| 502 | [RIGHT_FLOOR] = 0x230b, // ⌋ | ||
| 503 | [RIGHT_OUTER] = 0x27d6, // ⟖ | ||
| 504 | [RIGHT_TACK] = 0x22a2, // ⊢ | ||
| 505 | [ROOK_B] = 0x265c, // ♜ | ||
| 506 | [ROOK_W] = 0x2656, // ♖ | ||
| 507 | [ROOT] = 0x221a, // √ | ||
| 508 | [ROUGHLY] = 0x2248, // ≈ | ||
| 509 | [RTIMES] = 0x22ca, // ⋊ | ||
| 510 | [R_SET] = 0x211d, // ℝ | ||
| 511 | [SAMPI] = 0x0372, // Ͳ | ||
| 512 | [SAN] = 0x03fa, // Ϻ | ||
| 513 | [SCHO] = 0x03f7, // Ϸ | ||
| 514 | [SECOND] = 0x02ba, // ʺ | ||
| 515 | [SECTION] = 0x00a7, // § | ||
| 516 | [SEGNO] = 0x1d10b, // 𝄋 | ||
| 517 | [SETMINUS] = 0x2216, // ∖ | ||
| 518 | [SHARP] = 0x266f, // ♯ | ||
| 519 | [SHOGI_B] = 0x2617, // ☗ | ||
| 520 | [SHOGI_BD] = 0x26ca, // ⛊ | ||
| 521 | [SHOGI_W] = 0x2616, // ☖ | ||
| 522 | [SHOGI_WD] = 0x26c9, // ⛉ | ||
| 523 | [SIGMA] = 0x03a3, // Σ | ||
| 524 | [SIXT_N] = 0x1d161, // 𝅘𝅥𝅯 | ||
| 525 | [SIXT_P] = 0x1d13f, // 𝄿 | ||
| 526 | [SNEK] = 0x1f40d, // 🐍 | ||
| 527 | [SPADES_B] = 0x2660, // ♠ | ||
| 528 | [SPADES_W] = 0x2664, // ♤ | ||
| 529 | [SPEAKER_DN] = 0x1f509, // 🔉 | ||
| 530 | [SPEAKER_TG] = 0x1f507, // 🔇 | ||
| 531 | [SPEAKER_UP] = 0x1f50a, // 🔊 | ||
| 532 | [SQT1] = 0x203a, // › | ||
| 533 | [SQT2] = 0x201a, // ‚ | ||
| 534 | [SQT3] = 0x2018, // ‘ | ||
| 535 | [SQT4] = 0x2019, // ’ | ||
| 536 | [SQT5] = 0x2039, // ‹ | ||
| 537 | [SQUARE] = 0x25a1, // □ | ||
| 538 | [SQ_LS] = 0x228f, // ⊏ | ||
| 539 | [SQ_LS_EQ] = 0x2291, // ⊑ | ||
| 540 | [STAFF] = 0x1d11a, // 𝄚 | ||
| 541 | [STIGMA] = 0x03da, // Ϛ | ||
| 542 | [STOP] = 0x25fc, // ◼ | ||
| 543 | [SUBSET] = 0x2286, // ⊆ | ||
| 544 | [SUBSET_REV] = 0x2287, // ⊇ | ||
| 545 | [SUCC] = 0x227b, // ≻ | ||
| 546 | [SUM_] = 0x2211, // ∑ | ||
| 547 | [SUP1] = 0x00b9, // ¹ | ||
| 548 | [SUP2] = 0x00b2, // ² | ||
| 549 | [SUP3] = 0x00b3, // ³ | ||
| 550 | [SUP_A] = 0x00aa, // ª | ||
| 551 | [SUP_MIN] = 0x207b, // ⁻ | ||
| 552 | [SUP_O] = 0x00ba, // º | ||
| 553 | [SZ] = 0x1e9e, // ẞ | ||
| 554 | [TAU] = 0x03a4, // Τ | ||
| 555 | [THETA] = 0x0398, // Θ | ||
| 556 | [TIMES] = 0x00d7, // × | ||
| 557 | [TIMES_OP] = 0x2297, // ⊗ | ||
| 558 | [TMARK] = 0x2122, // ™ | ||
| 559 | [TO] = 0x27f6, // ⟶ | ||
| 560 | [TOP] = 0x22a4, // ⊤ | ||
| 561 | [TRIANGLE] = 0x25b3, // △ | ||
| 562 | [UE] = 0x00dc, // Ü | ||
| 563 | [UNION] = 0x222a, // ∪ | ||
| 564 | [UNION_] = 0x22c3, // ⋃ | ||
| 565 | [U_SET] = 0x1d54c, // 𝕌 | ||
| 566 | [WHOLE_N] = 0x1d15d, // 𝅝 | ||
| 567 | [WHOLE_P] = 0x1d13b, // 𝄻 | ||
| 568 | [XI] = 0x039e, // Ξ | ||
| 569 | [YEN] = 0x00a5, // ¥ | ||
| 570 | [YES] = 0x2713, // ✓ | ||
| 571 | [YPSI2] = 0x03d2, // ϒ | ||
| 572 | [YPSILON] = 0x03a5, // Υ | ||
| 573 | [ZETA] = 0x0396, // Ζ | ||
| 574 | [Z_SET] = 0x2124, // ℤ | ||
| 575 | [ae] = 0x00e4, // ä | ||
| 576 | [alpha] = 0x03b1, // α | ||
| 577 | [beta] = 0x03b2, // β | ||
| 578 | [beta2] = 0x03d0, // ϐ | ||
| 579 | [chi] = 0x03c7, // χ | ||
| 580 | [delta] = 0x03b4, // δ | ||
| 581 | [digamma] = 0x03dd, // ϝ | ||
| 582 | [e_FUN] = 0x0065, // e | ||
| 583 | [epsi2] = 0x03f5, // ϵ | ||
| 584 | [epsilon] = 0x03b5, // ε | ||
| 585 | [eta] = 0x03b7, // η | ||
| 586 | [gamma] = 0x03b3, // γ | ||
| 587 | [heta] = 0x0371, // ͱ | ||
| 588 | [i_UNIT] = 0x0069, // i | ||
| 589 | [iota] = 0x03b9, // ι | ||
| 590 | [kappa] = 0x03ba, // κ | ||
| 591 | [kappa2] = 0x03f0, // ϰ | ||
| 592 | [koppa] = 0x03d9, // ϙ | ||
| 593 | [lambda] = 0x03bb, // λ | ||
| 594 | [my] = 0x03bc, // μ | ||
| 595 | [n_tilde] = 0x00f1, // ñ | ||
| 596 | [ny] = 0x03bd, // ν | ||
| 597 | [oe] = 0x00f6, // ö | ||
| 598 | [omega] = 0x03c9, // ω | ||
| 599 | [omikron] = 0x03bf, // ο | ||
| 600 | [phi] = 0x03c6, // φ | ||
| 601 | [phi2] = 0x03d5, // ϕ | ||
| 602 | [pi] = 0x03c0, // π | ||
| 603 | [pi2] = 0x03d6, // ϖ | ||
| 604 | [psi] = 0x03c8, // ψ | ||
| 605 | [rho] = 0x03c1, // ρ | ||
| 606 | [rho2] = 0x03f1, // ϱ | ||
| 607 | [sampi] = 0x0373, // ͳ | ||
| 608 | [san] = 0x03fb, // ϻ | ||
| 609 | [scho] = 0x03f8, // ϸ | ||
| 610 | [sigma] = 0x03c3, // σ | ||
| 611 | [sigma2] = 0x03c2, // ς | ||
| 612 | [sigma3] = 0x03f2, // ϲ | ||
| 613 | [stigma] = 0x03db, // ϛ | ||
| 614 | [sz] = 0x00df, // ß | ||
| 615 | [tau] = 0x03c4, // τ | ||
| 616 | [theta] = 0x03b8, // θ | ||
| 617 | [theta2] = 0x03d1, // ϑ | ||
| 618 | [ue] = 0x00fc, // ü | ||
| 619 | [xi] = 0x03be, // ξ | ||
| 620 | [ypsilon] = 0x03c5, // υ | ||
| 621 | [zeta] = 0x03b6 // ζ | ||
| 622 | }; | ||
| 623 | |||
| 624 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 625 | |||
| 626 | /* | ||
| 627 | * Layer 0 | ||
| 628 | * ------------------------------------------------- ------------------------------------------------- | ||
| 629 | * | Tab | q | w | e | r | t | | y | u | i | o | p | [ | | ||
| 630 | * ------------------------------------------------- ------------------------------------------------- | ||
| 631 | * |LCtTEsc| a | s | d | f | g | | h | j | k | l | ; | ' | | ||
| 632 | * ------------------------------------------------- ------------------------------------------------- | ||
| 633 | * |LShift(| z | x | c | v | b | | n | m | , | . | / |RShift)| | ||
| 634 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 635 | * LCtrl[ LAlt LGui | TT2 |LT6_SPC|LT4_DEL|LT4_ENT| Space |LT2_BSP| RGui RLAlt RCtrl] | ||
| 636 | * ------------------------------------------------- | ||
| 637 | */ | ||
| 638 | LAYOUT_ortho_4x12( | ||
| 639 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
| 640 | LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
| 641 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, | ||
| 642 | LCTL_T(KC_LBRC), KC_LALT, KC_LGUI, TT(2), LT(6,KC_SPC), LT(4,KC_DEL), LT(4,KC_ENT), KC_SPC, LT(2,KC_BSPC), KC_RGUI, LALT_T(KC_RALT), RCTL_T(KC_RBRC) | ||
| 643 | ), | ||
| 644 | |||
| 645 | /* | ||
| 646 | * Layer 1 | ||
| 647 | * ------------------------------------------------- ------------------------------------------------- | ||
| 648 | * | Tab | q | w | f | p | g | | j | l | u | y | ; | [ | | ||
| 649 | * ------------------------------------------------- ------------------------------------------------- | ||
| 650 | * |LCtTEsc| a | r | s | t | d | | h | n | e | i | o | ' | | ||
| 651 | * ------------------------------------------------- ------------------------------------------------- | ||
| 652 | * |LShift(| z | x | c | v | b | | k | m | , | . | / |RShift)| | ||
| 653 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 654 | * LCtrl[ LAlt LGui | TT2 |LT6_SPC|LT4_DEL|LT4_ENT| Space |LT2_BSP| RGui RLAlt RCtrl] | ||
| 655 | * ------------------------------------------------- | ||
| 656 | */ | ||
| 657 | LAYOUT_ortho_4x12( | ||
| 658 | KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, | ||
| 659 | LCTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | ||
| 660 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, | ||
| 661 | LCTL_T(KC_LBRC), KC_LALT, KC_LGUI, TT(2), LT(6,KC_SPC), LT(4,KC_DEL), LT(4,KC_ENT), KC_SPC, LT(2,KC_BSPC), KC_RGUI, LALT_T(KC_RALT), RCTL_T(KC_RBRC) | ||
| 662 | ), | ||
| 663 | |||
| 664 | /* | ||
| 665 | * Layer 2 | ||
| 666 | * ------------------------------------------------- ------------------------------------------------- | ||
| 667 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ] | | ||
| 668 | * ------------------------------------------------- ------------------------------------------------- | ||
| 669 | * | | DF0 | DF1 | XXX | MO3 | MO3 | | 4 | 4 | 5 | 6 | - | = | | ||
| 670 | * ------------------------------------------------- ------------------------------------------------- | ||
| 671 | * | | MO5 | XXX | XXX | XXX | XXX | | 1 | 1 | 2 | 3 | \ | | | ||
| 672 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 673 | * TG2 | | | Del | | 0 |BSpace | | ||
| 674 | * ------------------------------------------------- | ||
| 675 | */ | ||
| 676 | LAYOUT_ortho_4x12( | ||
| 677 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, | ||
| 678 | KC_TRNS, DF(0), DF(1), KC_NO, MO(3), MO(3), KC_4, KC_4, KC_5, KC_6, KC_MINS, KC_EQL, | ||
| 679 | KC_TRNS, MO(5), KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, | ||
| 680 | TG(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_0, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 681 | ), | ||
| 682 | |||
| 683 | /* | ||
| 684 | * Layer 3 | ||
| 685 | * ------------------------------------------------- ------------------------------------------------- | ||
| 686 | * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | XXX | | ||
| 687 | * ------------------------------------------------- ------------------------------------------------- | ||
| 688 | * | | XXX | XXX | XXX | MO3 | MO3 | | F4 | F4 | F5 | F6 | F11 | XXX | | ||
| 689 | * ------------------------------------------------- ------------------------------------------------- | ||
| 690 | * | | XXX | XXX | XXX | XXX | XXX | | F1 | F1 | F2 | F3 | F12 | | | ||
| 691 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 692 | * TG3 | | | | | | | | ||
| 693 | * ------------------------------------------------- | ||
| 694 | */ | ||
| 695 | LAYOUT_ortho_4x12( | ||
| 696 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, | ||
| 697 | KC_TRNS, KC_NO, KC_NO, KC_NO, MO(3), MO(3), KC_F4, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, | ||
| 698 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F1, KC_F2, KC_F3, KC_F12, KC_TRNS, | ||
| 699 | TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 700 | ), | ||
| 701 | |||
| 702 | /* | ||
| 703 | * Layer 4 | ||
| 704 | * ------------------------------------------------- ------------------------------------------------- | ||
| 705 | * | Esc | Esc | Tab x | Tab n |CPg Dn |CPg Dn | |Pg Down| Home |^ Arrow|Insert |SInsert| Esc | | ||
| 706 | * ------------------------------------------------- ------------------------------------------------- | ||
| 707 | * | | Caps | < Gui |Gui Tab| > Gui | > Gui | |< Arrow|< Arrow|v Arrow|> Arrow| End |Pr Scr | | ||
| 708 | * ------------------------------------------------- ------------------------------------------------- | ||
| 709 | * | | XXX | XXX | XXX |CPg Up |CPg Up | | Pg Up | |v Arrow| XXX | App | | | ||
| 710 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 711 | * TG4 | | | Del | |BSpace | | | ||
| 712 | * ------------------------------------------------- | ||
| 713 | */ | ||
| 714 | LAYOUT_ortho_4x12( | ||
| 715 | KC_ESC, KC_ESC, LCTL(KC_W), LCTL(KC_T), LCTL(KC_PGDN), LCTL(KC_PGDN), KC_PGDN, KC_HOME, KC_UP, KC_INS, LSFT(KC_INS), KC_ESC, | ||
| 716 | KC_TRNS, KC_CAPS, LGUI(KC_LEFT), LGUI(KC_TAB), LGUI(KC_RGHT), LGUI(KC_RGHT), KC_LEFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PSCR, | ||
| 717 | KC_TRNS, KC_NO, KC_NO, KC_NO, LCTL(KC_PGUP), LCTL(KC_PGUP), KC_PGUP, KC_TRNS, KC_DOWN, KC_NO, KC_APP, KC_TRNS, | ||
| 718 | TG(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 719 | ), | ||
| 720 | |||
| 721 | /* | ||
| 722 | * Layer 5 | ||
| 723 | * ------------------------------------------------- ------------------------------------------------- | ||
| 724 | * | | XXX |play/ps| Vol + | Vol + | XXX | | XXX | XXX | XXX | XXX |_reset | Power | | ||
| 725 | * ------------------------------------------------- ------------------------------------------------- | ||
| 726 | * | | XXX | |<< | Vol 0 | >>| | XXX | | XXX | XXX | XXX | XXX | XXX | Sleep | | ||
| 727 | * ------------------------------------------------- ------------------------------------------------- | ||
| 728 | * | | MO5 | XXX | Vol - | Vol - | XXX | | XXX | XXX | XXX | XXX | XXX | XXX | | ||
| 729 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 730 | * TG5 | | | | | | | | ||
| 731 | * ------------------------------------------------- | ||
| 732 | */ | ||
| 733 | LAYOUT_ortho_4x12( | ||
| 734 | KC_TRNS, KC_NO, KC_MPLY, KC_VOLU, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_PWR, | ||
| 735 | KC_TRNS, KC_NO, KC_MPRV, KC_MUTE, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, | ||
| 736 | KC_TRNS, MO(5), KC_NO, KC_VOLD, KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 737 | TG(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 738 | ), | ||
| 739 | |||
| 740 | /* | ||
| 741 | * Layer 6 | ||
| 742 | * ------------------------------------------------- ------------------------------------------------- | ||
| 743 | * | | acc1 | XXX | XXX | XXX | XXX | |^ Wheel|< Wheel|^ Mouse|> Wheel| XXX | XXX | | ||
| 744 | * ------------------------------------------------- ------------------------------------------------- | ||
| 745 | * | | acc2 |Mouse 2|Mouse 3|Mouse 1|Mouse 1| |< Mouse|< Mouse|v Mouse|> Mouse| XXX | XXX | | ||
| 746 | * ------------------------------------------------- ------------------------------------------------- | ||
| 747 | * | | acc0 | XXX | XXX | XXX | XXX | |v Wheel| XXX |v Mouse| XXX | XXX | | | ||
| 748 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 749 | * TG6 | | | | | | | | ||
| 750 | * ------------------------------------------------- | ||
| 751 | */ | ||
| 752 | LAYOUT_ortho_4x12( | ||
| 753 | 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, | ||
| 754 | KC_TRNS, KC_ACL2, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_MS_L, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, | ||
| 755 | 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, | ||
| 756 | TG(6), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 757 | ) | ||
| 758 | }; | ||
| 759 | |||
| 760 | /* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et | ||
| 761 | */ | ||
diff --git a/keyboards/signum/3_0/keymaps/default/km_template.txt b/keyboards/signum/3_0/keymaps/default/km_template.txt new file mode 100644 index 000000000..47b35ee51 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/default/km_template.txt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* keymap.c is auto-generated, don't edit it directly. | ||
| 2 | * Further instructions are provided in readme.md */ | ||
| 3 | |||
| 4 | #include QMK_KEYBOARD_H | ||
| 5 | |||
| 6 | enum unicode_name { | ||
| 7 | //<enum/> | ||
| 8 | }; | ||
| 9 | |||
| 10 | const uint32_t PROGMEM unicode_map[] = { | ||
| 11 | //<uc_map/> | ||
| 12 | }; | ||
| 13 | |||
| 14 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 15 | |||
| 16 | //<keymaps/> | ||
| 17 | }; | ||
| 18 | |||
| 19 | /* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et | ||
| 20 | */ | ||
diff --git a/keyboards/signum/3_0/keymaps/default/layout.py b/keyboards/signum/3_0/keymaps/default/layout.py new file mode 100644 index 000000000..1e43e25c5 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/default/layout.py | |||
| @@ -0,0 +1,495 @@ | |||
| 1 | # -*- coding: utf-8 -*- | ||
| 2 | |||
| 3 | # Add all used Unicode symbols to this list. | ||
| 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. | ||
| 5 | # The key is also used in this file to define the layout, so use recognizeable names. | ||
| 6 | # The value (e.g. "0x1f40d") is used in keymap.c for "unicode_map" and to automatically generate the "ASCII"-art comments. | ||
| 7 | # When adding new Unicode names, use "0x1f40d" until you looked up the correct Unicode code point. | ||
| 8 | uc_dict = { | ||
| 9 | "SNEK": "0x1f40d", ## Error | ||
| 10 | ## qwertz | ||
| 11 | "ACUTE": "0x00b4", | ||
| 12 | ## QWERTZ | ||
| 13 | "INV_EXCL": "0x00a1", | ||
| 14 | "INV_QST": "0x00bf", | ||
| 15 | ## numpad | ||
| 16 | "SUP1": "0x00b9", | ||
| 17 | "SUP2": "0x00b2", | ||
| 18 | "SUP3": "0x00b3", | ||
| 19 | "SUP_MIN": "0x207b", | ||
| 20 | "ROOT": "0x221a", | ||
| 21 | "DEGREE": "0x00b0", | ||
| 22 | "MINUTE": "0x02b9", | ||
| 23 | "SECOND": "0x02ba", | ||
| 24 | "CURRENCY": "0x00a4", | ||
| 25 | "CENT": "0x00a2", | ||
| 26 | "YEN": "0x00a5", | ||
| 27 | "POUND": "0x00a3", | ||
| 28 | "EURO": "0x20ac", | ||
| 29 | "DIVISION": "0x00f7", | ||
| 30 | "MICRO": "0x00b5", | ||
| 31 | "OHM": "0x2126", | ||
| 32 | "BITCOIN": "0x20bf", | ||
| 33 | "SECTION": "0x00a7", | ||
| 34 | ## NAV_TYPO | ||
| 35 | "SQT1": "0x203a", | ||
| 36 | "SQT2": "0x201a", | ||
| 37 | "SQT3": "0x2018", | ||
| 38 | "SQT4": "0x2019", | ||
| 39 | "SQT5": "0x2039", | ||
| 40 | "SUP_A": "0x00aa", | ||
| 41 | "SUP_O": "0x00ba", | ||
| 42 | "TMARK": "0x2122", | ||
| 43 | "COPYR": "0x00a9", | ||
| 44 | "REGTM": "0x00ae", | ||
| 45 | "DOTS": "0x2026", | ||
| 46 | "CROSS": "0x2020", | ||
| 47 | "BULLET": "0x2022", | ||
| 48 | "EMDASH": "0x2014", | ||
| 49 | "PERMIL": "0x2030", | ||
| 50 | "DQT1": "0x00bb", | ||
| 51 | "DQT2": "0x201e", | ||
| 52 | "DQT3": "0x201c", | ||
| 53 | "DQT4": "0x201d", | ||
| 54 | "DQT5": "0x00ab", | ||
| 55 | ## lang | ||
| 56 | "ae": "0x00e4", | ||
| 57 | "oe": "0x00f6", | ||
| 58 | "ue": "0x00fc", | ||
| 59 | "sz": "0x00df", | ||
| 60 | "n_tilde": "0x00f1", | ||
| 61 | ## LANG | ||
| 62 | "AE": "0x00c4", | ||
| 63 | "OE": "0x00d6", | ||
| 64 | "UE": "0x00dc", | ||
| 65 | "SZ": "0x1e9e", | ||
| 66 | "N_TILDE": "0x00d1", | ||
| 67 | ## greek | ||
| 68 | "alpha": "0x03b1", | ||
| 69 | "beta": "0x03b2", | ||
| 70 | "gamma": "0x03b3", | ||
| 71 | "delta": "0x03b4", | ||
| 72 | "epsilon": "0x03b5", | ||
| 73 | "zeta": "0x03b6", | ||
| 74 | "eta": "0x03b7", | ||
| 75 | "theta": "0x03b8", | ||
| 76 | "iota": "0x03b9", | ||
| 77 | "kappa": "0x03ba", | ||
| 78 | "lambda": "0x03bb", | ||
| 79 | "my": "0x03bc", | ||
| 80 | "ny": "0x03bd", | ||
| 81 | "xi": "0x03be", | ||
| 82 | "omikron": "0x03bf", | ||
| 83 | "pi": "0x03c0", | ||
| 84 | "rho": "0x03c1", | ||
| 85 | "sigma": "0x03c3", | ||
| 86 | "tau": "0x03c4", | ||
| 87 | "ypsilon": "0x03c5", | ||
| 88 | "phi": "0x03c6", | ||
| 89 | "chi": "0x03c7", | ||
| 90 | "psi": "0x03c8", | ||
| 91 | "omega": "0x03c9", | ||
| 92 | # variants | ||
| 93 | "beta2": "0x03d0", | ||
| 94 | "epsi2": "0x03f5", | ||
| 95 | "theta2": "0x03d1", | ||
| 96 | "kappa2": "0x03f0", | ||
| 97 | "pi2": "0x03d6", | ||
| 98 | "rho2": "0x03f1", | ||
| 99 | "sigma2": "0x03c2", | ||
| 100 | "sigma3": "0x03f2", | ||
| 101 | "phi2": "0x03d5", | ||
| 102 | # non-standard | ||
| 103 | "digamma": "0x03dd", | ||
| 104 | "stigma": "0x03db", | ||
| 105 | "heta": "0x0371", | ||
| 106 | "san": "0x03fb", | ||
| 107 | "koppa": "0x03d9", | ||
| 108 | "sampi": "0x0373", | ||
| 109 | "scho": "0x03f8", | ||
| 110 | ## GREEK | ||
| 111 | "ALPHA": "0x0391", | ||
| 112 | "BETA": "0x0392", | ||
| 113 | "GAMMA": "0x0393", | ||
| 114 | "DELTA": "0x0394", | ||
| 115 | "EPSILON": "0x0395", | ||
| 116 | "ZETA": "0x0396", | ||
| 117 | "ETA": "0x0397", | ||
| 118 | "THETA": "0x0398", | ||
| 119 | "IOTA": "0x0399", | ||
| 120 | "KAPPA": "0x039a", | ||
| 121 | "LAMBDA": "0x039b", | ||
| 122 | "MY": "0x039c", | ||
| 123 | "NY": "0x039d", | ||
| 124 | "XI": "0x039e", | ||
| 125 | "OMIKRON": "0x039f", | ||
| 126 | "PI": "0x03a0", | ||
| 127 | "RHO": "0x03a1", | ||
| 128 | "SIGMA": "0x03a3", | ||
| 129 | "TAU": "0x03a4", | ||
| 130 | "YPSILON": "0x03a5", | ||
| 131 | "PHI": "0x03a6", | ||
| 132 | "CHI": "0x03a7", | ||
| 133 | "PSI": "0x03a8", | ||
| 134 | "OMEGA": "0x03a9", | ||
| 135 | # variants | ||
| 136 | "YPSI2": "0x03d2", | ||
| 137 | # non-standard | ||
| 138 | "DIGAMMA": "0x03dc", | ||
| 139 | "STIGMA": "0x03da", | ||
| 140 | "HETA": "0x0370", | ||
| 141 | "SAN": "0x03fa", | ||
| 142 | "KOPPA": "0x03d8", | ||
| 143 | "SAMPI": "0x0372", | ||
| 144 | "SCHO": "0x03f7", | ||
| 145 | ## symbol | ||
| 146 | "SHOGI_WD": "0x26c9", | ||
| 147 | "FLAG_W": "0x2690", | ||
| 148 | "LETTER": "0x2709", | ||
| 149 | "PHONE": "0x2706", | ||
| 150 | "INFO": "0x1f6c8", | ||
| 151 | "REWIND": "0x23ee", | ||
| 152 | "PLAY": "0x23ef", | ||
| 153 | "FORWARD": "0x23ed", | ||
| 154 | "STOP": "0x25fc", | ||
| 155 | "EJECT": "0x23cf", | ||
| 156 | "SHOGI_W": "0x2616", | ||
| 157 | "FEMALE": "0x2640", | ||
| 158 | "MALE": "0x2642", | ||
| 159 | "NO": "0x2717", | ||
| 160 | "YES": "0x2713", | ||
| 161 | "FLAT": "0x266d", | ||
| 162 | "NATURAL": "0x266e", | ||
| 163 | "SHARP": "0x266f", | ||
| 164 | "COMMON_T": "0x1d134", | ||
| 165 | "ALLA_BR": "0x1d135", | ||
| 166 | "PAWN_W": "0x2659", | ||
| 167 | "DIAMS_W": "0x2662", | ||
| 168 | "HEARTS_W": "0x2661", | ||
| 169 | "SPADES_W": "0x2664", | ||
| 170 | "CLUBS_W": "0x2667", | ||
| 171 | "WHOLE_N": "0x1d15d", | ||
| 172 | "HALF_N": "0x1d15e", | ||
| 173 | "QUART_N": "0x1d15f", | ||
| 174 | "EIGHTH_N": "0x1d160", | ||
| 175 | "SIXT_N": "0x1d161", | ||
| 176 | "ROOK_W": "0x2656", | ||
| 177 | "KNIGHT_W": "0x2658", | ||
| 178 | "BISHOP_W": "0x2657", | ||
| 179 | "QUEEN_W": "0x2655", | ||
| 180 | "KING_W": "0x2654", | ||
| 181 | "C_CLEF": "0x1d121", | ||
| 182 | "G_CLEF": "0x1d11e", | ||
| 183 | "F_CLEF": "0x1d122", | ||
| 184 | "PEDAL": "0x1d1ae", | ||
| 185 | "PEDAL_UP": "0x1d1af", | ||
| 186 | ## SYMBOL | ||
| 187 | "SHOGI_BD": "0x26ca", | ||
| 188 | "FLAG_B": "0x2691", | ||
| 189 | "SPEAKER_UP": "0x1f50a", | ||
| 190 | "SPEAKER_TG": "0x1f507", | ||
| 191 | "SPEAKER_DN": "0x1f509", | ||
| 192 | "SHOGI_B": "0x2617", | ||
| 193 | "KEY": "0x1f511", | ||
| 194 | "LOCK": "0x1f512", | ||
| 195 | "LOCK_OPEN": "0x1f513", | ||
| 196 | "STAFF": "0x1d11a", | ||
| 197 | "BARLINE": "0x1d100", | ||
| 198 | "BARLINE_D": "0x1d101", | ||
| 199 | "BARLINE_FIN": "0x1d102", | ||
| 200 | "CODA": "0x1d10c", | ||
| 201 | "PAWN_B": "0x265f", | ||
| 202 | "DIAMS_B": "0x2666", | ||
| 203 | "HEARTS_B": "0x2665", | ||
| 204 | "SPADES_B": "0x2660", | ||
| 205 | "CLUBS_B": "0x2663", | ||
| 206 | "WHOLE_P": "0x1d13b", | ||
| 207 | "HALF_P": "0x1d13c", | ||
| 208 | "QUART_P": "0x1d13d", | ||
| 209 | "EIGHTH_P": "0x1d13e", | ||
| 210 | "SIXT_P": "0x1d13f", | ||
| 211 | "ROOK_B": "0x265c", | ||
| 212 | "KNIGHT_B": "0x265e", | ||
| 213 | "BISHOP_B": "0x265d", | ||
| 214 | "QUEEN_B": "0x265b", | ||
| 215 | "KING_B": "0x265a", | ||
| 216 | "REPEAT_S": "0x1d106", | ||
| 217 | "REPEAT_E": "0x1d107", | ||
| 218 | "SEGNO": "0x1d10b", | ||
| 219 | "DALSEGNO": "0x1d109", | ||
| 220 | "DACAPO": "0x1d10a", | ||
| 221 | ## math | ||
| 222 | "EXISTS": "0x2203", | ||
| 223 | "FORALL": "0x2200", | ||
| 224 | "EQUIV": "0x2261", | ||
| 225 | "CORRESP": "0x2259", | ||
| 226 | "INEQUAL": "0x2260", | ||
| 227 | "DEFINE": "0x2254", | ||
| 228 | "TO": "0x27f6", | ||
| 229 | "MAPSTO": "0x27fc", | ||
| 230 | "SETMINUS": "0x2216", | ||
| 231 | "QED": "0x220e", | ||
| 232 | "OR_": "0x22c1", | ||
| 233 | "AND_": "0x22c0", | ||
| 234 | "OR": "0x2228", | ||
| 235 | "AND": "0x2227", | ||
| 236 | "NOT": "0x00ac", | ||
| 237 | "BICOND": "0x21d4", | ||
| 238 | "IMPL_REV": "0x21d0", | ||
| 239 | "IMPL": "0x21d2", | ||
| 240 | "TOP": "0x22a4", | ||
| 241 | "BOTTOM": "0x22a5", | ||
| 242 | "SUM_": "0x2211", | ||
| 243 | "PROD_": "0x220f", | ||
| 244 | "MDOT": "0x22c5", | ||
| 245 | "NOTIN": "0x2209", | ||
| 246 | "IN": "0x2208", | ||
| 247 | "LS_EQ": "0x2264", | ||
| 248 | "GR_EQ": "0x2265", | ||
| 249 | "INFTY": "0x221e", | ||
| 250 | "UNION_": "0x22c3", | ||
| 251 | "INTERS_": "0x22c2", | ||
| 252 | "UNION": "0x222a", | ||
| 253 | "INTERS": "0x2229", | ||
| 254 | "NOTSUBS": "0x2288", | ||
| 255 | "PR_SUBSET": "0x2282", | ||
| 256 | "SUBSET": "0x2286", | ||
| 257 | "SUBSET_REV": "0x2287", | ||
| 258 | "EMPTYSET": "0x2205", | ||
| 259 | ## MATHSCRIPT | ||
| 260 | "LEFT_CEIL": "0x2308", | ||
| 261 | "REAL_P": "0x211c", | ||
| 262 | "NABLA": "0x2207", | ||
| 263 | "RIGHT_CEIL": "0x2309", | ||
| 264 | "LEFT_FLOOR": "0x230a", | ||
| 265 | "BRA": "0x27e8", | ||
| 266 | "IMAG_P": "0x2111", | ||
| 267 | "KET": "0x27e9", | ||
| 268 | "RIGHT_FLOOR": "0x230b", | ||
| 269 | "Q_SET": "0x211a", | ||
| 270 | "e_FUN": "0x0065", | ||
| 271 | "R_SET": "0x211d", | ||
| 272 | "Z_SET": "0x2124", | ||
| 273 | "U_SET": "0x1d54c", | ||
| 274 | "i_UNIT": "0x0069", | ||
| 275 | "BIG_O": "0x1d4aa", | ||
| 276 | "POWERSET": "0x1d4ab", | ||
| 277 | "A_SET": "0x1d538", | ||
| 278 | "INTEGRAL": "0x222b", | ||
| 279 | "PARTIAL": "0x2202", | ||
| 280 | "F_SET": "0x1d53d", | ||
| 281 | "H_SET": "0x210d", | ||
| 282 | "K_SET": "0x1d542", | ||
| 283 | "LENGTH": "0x2113", | ||
| 284 | "ALEPH": "0x2135", | ||
| 285 | "BETH": "0x2136", | ||
| 286 | "C_SET": "0x2102", | ||
| 287 | "B_SET": "0x1d539", | ||
| 288 | "N_SET": "0x2115", | ||
| 289 | "INDICATOR": "0x1d7cf", | ||
| 290 | "FOURIER": "0x2131", | ||
| 291 | "HAMILTON": "0x210b", | ||
| 292 | "LAPLACE": "0x2112", | ||
| 293 | ## MATHEXT | ||
| 294 | "RIGHT_TACK": "0x22a2", | ||
| 295 | "MODELS": "0x22a7", | ||
| 296 | "AB_VEC": "0x20d7", | ||
| 297 | "AB_LINE": "0x0305", | ||
| 298 | "AB_ARC": "0x0361", | ||
| 299 | "LESS_LESS": "0x226a", | ||
| 300 | "PRED": "0x227a", | ||
| 301 | "EMBED": "0x21aa", | ||
| 302 | "SUCC": "0x227b", | ||
| 303 | "GREAT_GREAT": "0x226b", | ||
| 304 | "TRIANGLE": "0x25b3", | ||
| 305 | "SQUARE": "0x25a1", | ||
| 306 | "CIRCLE": "0x25cb", | ||
| 307 | "DOT_OP": "0x2299", | ||
| 308 | "PLUS_OP": "0x2295", | ||
| 309 | "MINUS_OP": "0x2296", | ||
| 310 | "ROUGHLY": "0x2248", | ||
| 311 | "ISOMORPH": "0x2245", | ||
| 312 | "LTIMES": "0x22c9", | ||
| 313 | "RTIMES": "0x22ca", | ||
| 314 | "BOWTIE": "0x22c8", | ||
| 315 | "M_ANGLE": "0x2221", | ||
| 316 | "ANGLE": "0x2220", | ||
| 317 | "CIRC_MID": "0x2218", | ||
| 318 | "AST_MID": "0x2217", | ||
| 319 | "TIMES": "0x00d7", | ||
| 320 | "PLUS_MINUS": "0x00b1", | ||
| 321 | "MINUS_PLUS": "0x2213", | ||
| 322 | "LEFT_OUTER": "0x27d5", | ||
| 323 | "RIGHT_OUTER": "0x27d6", | ||
| 324 | "FULL_OUTER": "0x27d7", | ||
| 325 | "SQ_LS": "0x228f", | ||
| 326 | "SQ_LS_EQ": "0x2291", | ||
| 327 | "PROP_TO": "0x221d", | ||
| 328 | "PARALLEL": "0x2225", | ||
| 329 | "NOT_PARA": "0x2226", | ||
| 330 | "TIMES_OP": "0x2297", | ||
| 331 | "NOT_DIV": "0x2224" | ||
| 332 | } | ||
| 333 | |||
| 334 | # Add all used Keycodes to this list. | ||
| 335 | # The key (e.g. "a") is used in keymap.c to automatically generate the comments. The first 7 chars will show as a keycap legend. | ||
| 336 | qmk_dict = { | ||
| 337 | # test cases (These are handled in generate_km.py within toKC() and toLgd(), so these definitions will be ignored. | ||
| 338 | # If you find "BAD" in your keymaps, then something went wrong.) | ||
| 339 | "a": "BAD", "A": "BAD", "0": "BAD", | ||
| 340 | # Basic Keycodes | ||
| 341 | "XXX": "KC_NO", "": "KC_TRNS", | ||
| 342 | "!": "S(KC_1)", "@": "S(KC_2)", "#": "S(KC_3)", "$": "S(KC_4)", "%": "S(KC_5)", | ||
| 343 | "^": "S(KC_6)", "&": "S(KC_7)", "*": "S(KC_8)", "(": "S(KC_9)", ")": "S(KC_0)", | ||
| 344 | "Enter": "KC_ENT", "Esc": "KC_ESC", "BSpace": "KC_BSPC", "Tab": "KC_TAB", | ||
| 345 | "Space": "KC_SPC", "-": "KC_MINS", "_": "S(KC_MINS)", "=": "KC_EQL", | ||
| 346 | "+": "S(KC_EQL)", "[": "KC_LBRC", "{": "S(KC_LBRC)", "]": "KC_RBRC", | ||
| 347 | "}": "S(KC_RBRC)", "\\": "KC_BSLS", "|": "S(KC_BSLS)", ";": "KC_SCLN", | ||
| 348 | ":": "S(KC_SCLN)", "'": "KC_QUOT", "\"": "S(KC_QUOT)", "`": "KC_GRV", | ||
| 349 | "~": "S(KC_GRV)", ",": "KC_COMM", "<": "S(KC_COMM)", ".": "KC_DOT", | ||
| 350 | ">": "S(KC_DOT)", "/": "KC_SLSH", "?": "S(KC_SLSH)", "Caps": "KC_CAPS", | ||
| 351 | "Pr Scr": "KC_PSCR", "Scr Lck": "KC_SLCK", "Pause": "KC_BRK", "Insert": "KC_INS", "SInsert": "LSFT(KC_INS)", | ||
| 352 | "Home": "KC_HOME", "Pg Up": "KC_PGUP", "Del": "KC_DEL", "End": "KC_END", | ||
| 353 | "Pg Down": "KC_PGDN", "> Arrow": "KC_RGHT", "< Arrow": "KC_LEFT", | ||
| 354 | "v Arrow": "KC_DOWN", "^ Arrow": "KC_UP", | ||
| 355 | # Keypad keycodes missing | ||
| 356 | "App": "KC_APP", "Menu": "KC_MENU", | ||
| 357 | # Command keycodes missing (Execute, Help, ..., Find) | ||
| 358 | # Basic Keycodes missing from Print Screen onwards, included as fallback | ||
| 359 | # random Keycodes | ||
| 360 | "RGui": "KC_RGUI", "LGui": "KC_LGUI", "LAlt": "KC_LALT", "RLAlt": "LALT_T(KC_RALT)", "RAlt": "KC_RALT", "LShift": "KC_LSFT", "LCtrl": "KC_LCTL", "LCtTBsp": "LCTL_T(KC_BSPC)", "LCtTEsc": "LCTL_T(KC_ESC)", "RCtrl": "KC_RCTL", | ||
| 361 | "LShift(": "KC_LSPO", "RShift)": "KC_RSPC", | ||
| 362 | # "LShift(": "LSFT_T(KC_9)", "RShift)": "RSFT_T(RSFT(KC_0))", | ||
| 363 | "LCtrl[": "LCTL_T(KC_LBRC)", "RCtrl]": "RCTL_T(KC_RBRC)", | ||
| 364 | "L1_ENT": "LT(1, KC_ENT)", "LT2_BSP": "LT(2,KC_BSPC)", "LT4_DEL": "LT(4,KC_DEL)", "LT4_ENT": "LT(4,KC_ENT)", "LT6_SPC": "LT(6,KC_SPC)", | ||
| 365 | "CPg Dn": "LCTL(KC_PGDN)", "CPg Up": "LCTL(KC_PGUP)", | ||
| 366 | "S_Enter": "S(KC_ENT)", "S_Tab": "S(KC_TAB)", "Compose": "KC_ALGR", | ||
| 367 | "RShift": "KC_RSFT", | ||
| 368 | "Vol 0": "KC_MUTE", "Vol +": "KC_VOLU", "Vol -": "KC_VOLD", | ||
| 369 | ">>|": "KC_MNXT", "|<<": "KC_MPRV", "play/ps": "KC_MPLY", | ||
| 370 | "Bri +": "KC_BRIU", "Bri -": "KC_BRID", | ||
| 371 | # Quantum Keycodes | ||
| 372 | "_reset": "RESET", "_debug": "DEBUG", "_eep_re": "EEP_RST", | ||
| 373 | # Audio Keys missing | ||
| 374 | # Backlighting | ||
| 375 | "Led 0": "BL_TOGG", "Led +": "BL_INC", "Led -": "BL_DEC", "Led ~": "BL_BRTG", | ||
| 376 | # Bootmagic missing | ||
| 377 | # Bluetooth | ||
| 378 | "OUT_AUTO": "OUT_AUTO", "OUT_USB": "OUT_USB", "OUT_BT": "OUT_BT", | ||
| 379 | # Layer Switching missing, Lx -> MO(x), Tx -> TG(x) | ||
| 380 | "qwertz": "DF(0)", "neo": "DF(2)", | ||
| 381 | # Mouse Keys | ||
| 382 | "^ Mouse": "KC_MS_U", "v Mouse": "KC_MS_D", "< Mouse": "KC_MS_L", | ||
| 383 | "> Mouse": "KC_MS_R", "Mouse 1": "KC_BTN1", "Mouse 2": "KC_BTN2", | ||
| 384 | "Mouse 3": "KC_BTN3", "Mouse 4": "KC_BTN4", "Mouse 5": "KC_BTN5", | ||
| 385 | "^ Wheel": "KC_WH_U", "v Wheel": "KC_WH_D", "< Wheel": "KC_WH_L", | ||
| 386 | "> Wheel": "KC_WH_R", "acc0": "KC_ACL0", "acc1": "KC_ACL1", | ||
| 387 | "acc2": "KC_ACL2", | ||
| 388 | # Modifiers missinng, add entry for each specific application | ||
| 389 | # Mod-Tap Keys missing, add entry for each specific application | ||
| 390 | "_Sh_swp": "LSFT_T(SH_TG)", | ||
| 391 | # RGB Lighting missing | ||
| 392 | # RGB Matrix Lighting missing | ||
| 393 | # Thermal Printer missing | ||
| 394 | # US ANSI Shifted Symbols done via S(), don't add KC_entries | ||
| 395 | # One Shot Keys missing | ||
| 396 | # Swap Hands | ||
| 397 | "_sp_swp": "SHT(KC_SPC)", | ||
| 398 | # Unicode support (via X()) included implicitly | ||
| 399 | # Switching Unicode Input Modes | ||
| 400 | "UC_win": "UC_M_WC", "UC_lnx": "UC_M_LN", "UC_mac": "UC_M_MA", | ||
| 401 | |||
| 402 | # custom keys | ||
| 403 | "altF4": "LALT(KC_F4)", | ||
| 404 | "Undo": "LCTL(KC_Z)", "Cut": "LCTL(KC_X)", "Copy": "LCTL(KC_C)", "Paste": "LCTL(KC_V)", | ||
| 405 | "< Tab": "LCTL(S(KC_TAB))", "> Tab": "LCTL(KC_TAB)", | ||
| 406 | "Tab x": "LCTL(KC_W)", "Tab n": "LCTL(KC_T)", | ||
| 407 | "Gui Tab": "LGUI(KC_TAB)", "< Gui": "LGUI(KC_LEFT)", "> Gui": "LGUI(KC_RGHT)", | ||
| 408 | "C+A+Del": "LCTL(LALT(KC_DEL))", "Mic 0": "LCTL(KC_M)", | ||
| 409 | "Power": "KC_PWR", "Sleep": "KC_SLEP", | ||
| 410 | |||
| 411 | # macros | ||
| 412 | "Macro 1": "KC_1", "Macro 2": "KC_2", "Macro 3": "KC_3", "Macro 4": "KC_4", "Macro 5": "KC_5", | ||
| 413 | |||
| 414 | # custom layers | ||
| 415 | "GREEK": "GREEK", | ||
| 416 | "SYMBOL": "SYMBOL", | ||
| 417 | "MATH": "MATH", | ||
| 418 | "GAME": "GAME", | ||
| 419 | "MOUSE": "MOUSE", | ||
| 420 | "NEO": "TG(2)" | ||
| 421 | } | ||
| 422 | |||
| 423 | # These keys are repeated in all layers. | ||
| 424 | # Generate a keymap.c with the python script and refer to the "ASCII"-art comments, to see which positions this concerns. | ||
| 425 | # If you want to put different keycodes in these positions for different layers, you need to modify the python script by yourself. | ||
| 426 | static = ["NEO", "GREEK", "GREEK", "GREEK", "GREEK", "MOUSE"] | ||
| 427 | |||
| 428 | # mutex_layers = {"GREEK": 8, "GAME": 10, "MOUSE": 11} | ||
| 429 | # layer_graph = ... | ||
| 430 | |||
| 431 | # 0 | ||
| 432 | qwerty = [ | ||
| 433 | "Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", | ||
| 434 | "LCtTEsc", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", | ||
| 435 | "LShift(", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift)", | ||
| 436 | "LCtrl[", "LAlt", "LGui", "TT2", "LT6_SPC", "LT4_DEL", "LT4_ENT", "Space", "LT2_BSP", "RGui", "RLAlt", "RCtrl]", | ||
| 437 | ] | ||
| 438 | |||
| 439 | # 1 | ||
| 440 | colemak = [ | ||
| 441 | "Tab", "q", "w", "f", "p", "g", "j", "l", "u", "y", ";", "[", | ||
| 442 | "LCtTEsc", "a", "r", "s", "t", "d", "h", "n", "e", "i", "o", "'", | ||
| 443 | "LShift(", "z", "x", "c", "v", "b", "k", "m", ",", ".", "/", "RShift)", | ||
| 444 | "LCtrl[", "LAlt", "LGui", "TT2", "LT6_SPC", "LT4_DEL", "LT4_ENT", "Space", "LT2_BSP", "RGui", "RLAlt", "RCtrl]", | ||
| 445 | ] | ||
| 446 | |||
| 447 | # 2 | ||
| 448 | numpad = [ | ||
| 449 | "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "]", | ||
| 450 | "", "DF0", "DF1", "XXX", "MO3", "MO3", "4", "4", "5", "6", "-", "=", | ||
| 451 | "", "MO5", "XXX", "XXX", "XXX", "XXX", "1", "1", "2", "3", "\\", "", | ||
| 452 | "TG2", "", "", "", "", "Del", "", "0", "BSpace", "", "", "", | ||
| 453 | ] | ||
| 454 | |||
| 455 | # 3 | ||
| 456 | fpad = [ | ||
| 457 | "", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "XXX", | ||
| 458 | "", "XXX", "XXX", "XXX", "MO3", "MO3", "F4", "F4", "F5", "F6", "F11", "XXX", | ||
| 459 | "", "XXX", "XXX", "XXX", "XXX", "XXX", "F1", "F1", "F2", "F3", "F12", "", | ||
| 460 | "TG3", "", "", "", "", "", "", "", "", "", "", "", | ||
| 461 | ] | ||
| 462 | |||
| 463 | # 4 | ||
| 464 | movement = [ | ||
| 465 | "Esc", "Esc", "Tab x", "Tab n", "CPg Dn", "CPg Dn", "Pg Down", "Home", "^ Arrow", "Insert", "SInsert", "Esc", | ||
| 466 | "", "Caps", "< Gui", "Gui Tab", "> Gui", "> Gui", "< Arrow", "< Arrow", "v Arrow", "> Arrow", "End", "Pr Scr", | ||
| 467 | "", "XXX", "XXX", "XXX", "CPg Up", "CPg Up", "Pg Up", "", "v Arrow", "XXX", "App", "", | ||
| 468 | "TG4", "", "", "", "", "Del", "", "BSpace", "", "", "", "", | ||
| 469 | ] | ||
| 470 | |||
| 471 | # 5 | ||
| 472 | media = [ | ||
| 473 | "", "XXX", "play/ps", "Vol +", "Vol +", "XXX", "XXX", "XXX", "XXX", "XXX", "_reset", "Power", | ||
| 474 | "", "XXX", "|<<", "Vol 0", ">>|", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "Sleep", | ||
| 475 | "", "MO5", "XXX", "Vol -", "Vol -", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", | ||
| 476 | "TG5", "", "", "", "", "", "", "", "", "", "", "", | ||
| 477 | ] | ||
| 478 | |||
| 479 | # 6 | ||
| 480 | mouse = [ | ||
| 481 | "", "acc1", "XXX", "XXX", "XXX", "XXX", "^ Wheel", "< Wheel", "^ Mouse", "> Wheel", "XXX", "XXX", | ||
| 482 | "", "acc2", "Mouse 2", "Mouse 3", "Mouse 1", "Mouse 1", "< Mouse", "< Mouse", "v Mouse", "> Mouse", "XXX", "XXX", | ||
| 483 | "", "acc0", "XXX", "XXX", "XXX", "XXX", "v Wheel", "XXX", "v Mouse", "XXX", "XXX", "", | ||
| 484 | "TG6", "", "", "", "", "", "", "", "", "", "", "", | ||
| 485 | ] | ||
| 486 | |||
| 487 | layers = [ | ||
| 488 | qwerty, | ||
| 489 | colemak, | ||
| 490 | numpad, | ||
| 491 | fpad, | ||
| 492 | movement, | ||
| 493 | media, | ||
| 494 | mouse | ||
| 495 | ] | ||
diff --git a/keyboards/signum/3_0/keymaps/default/readme.md b/keyboards/signum/3_0/keymaps/default/readme.md new file mode 100644 index 000000000..be8cc30e8 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/default/readme.md | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | # Default layout | ||
| 2 | |||
| 3 | Layout created by: [Jan Christoph Ebersbach](https://github.com/jceb) | ||
| 4 | |||
| 5 | The `generate_km.py` file automatically generates `keymap.c` with | ||
| 6 | additional comments that visually represent the layout. | ||
| 7 | |||
| 8 | This layout is maintained as I am using it. You can also use it as a | ||
| 9 | starting point to create your own layouts for the Signum 3.0 with | ||
| 10 | `km_template.txt` and `generate_km.py`. | ||
| 11 | |||
| 12 | # Customization | ||
| 13 | |||
| 14 | - Customize `layout.py` to your liking. | ||
| 15 | - Attention 1: keycodes are either translated into symbols and | ||
| 16 | function calls via the `translate()` function in `generate_km.py` | ||
| 17 | or via user-defined mappings in the dictionary `qmk_dict` in | ||
| 18 | `layout.py`. Especially the latter might require adjustment for | ||
| 19 | uncommon qmk features | ||
| 20 | - Attention 2: additional C functions need to be put into | ||
| 21 | `km_template.txt` | ||
| 22 | |||
| 23 | Run `./generate_km.py` to regenerate `keymap.c` and the JSON keymap | ||
| 24 | definition that should be copied to `qmk_configurator/public/keymaps`. | ||
diff --git a/keyboards/signum/3_0/keymaps/default/rules.mk b/keyboards/signum/3_0/keymaps/default/rules.mk new file mode 100644 index 000000000..502b2def7 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/default/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| UNICODEMAP_ENABLE = yes | |||
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/config.h b/keyboards/signum/3_0/keymaps/sgurenkov/config.h new file mode 100644 index 000000000..5f8d0d02b --- /dev/null +++ b/keyboards/signum/3_0/keymaps/sgurenkov/config.h | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | /* Copyright 2021 Stan Gurenkov <rococo04_fox@icloud.com> | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | |||
| 18 | #define ONESHOT_TAP_TOGGLE 2 | ||
| 19 | #define ONESHOT_TIMEOUT 5000 | ||
| 20 | #define LEADER_TIMEOUT 600 | ||
| 21 | #define LEADER_PER_KEY_TIMING 300 | ||
| 22 | |||
| 23 | // default but used in macros | ||
| 24 | #define TAPPING_TERM 300 | ||
| 25 | |||
| 26 | // Prevent normal rollover on alphas from accidentally triggering mods. | ||
| 27 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 28 | |||
| 29 | // Auto Shift and Retro Shift (Auto Shift for Tap Hold). | ||
| 30 | #define AUTO_SHIFT_TIMEOUT TAPPING_TERM | ||
| 31 | |||
| 32 | // Recommended for heavy chording. | ||
| 33 | #define QMK_KEYS_PER_SCAN 4 | ||
| 34 | |||
| 35 | // Mouse key speed and acceleration. | ||
| 36 | #undef MOUSEKEY_DELAY | ||
| 37 | #define MOUSEKEY_DELAY 0 | ||
| 38 | #undef MOUSEKEY_INTERVAL | ||
| 39 | #define MOUSEKEY_INTERVAL 16 | ||
| 40 | #undef MOUSEKEY_WHEEL_DELAY | ||
| 41 | #define MOUSEKEY_WHEEL_DELAY 0 | ||
| 42 | #undef MOUSEKEY_MAX_SPEED | ||
| 43 | #define MOUSEKEY_MAX_SPEED 6 | ||
| 44 | #undef MOUSEKEY_TIME_TO_MAX | ||
| 45 | #define MOUSEKEY_TIME_TO_MAX 64 | ||
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/keymap.c b/keyboards/signum/3_0/keymaps/sgurenkov/keymap.c new file mode 100644 index 000000000..f6cdcfd24 --- /dev/null +++ b/keyboards/signum/3_0/keymaps/sgurenkov/keymap.c | |||
| @@ -0,0 +1,128 @@ | |||
| 1 | /* Copyright 2021 Stan Gurenkov <rococo04_fox@icloud.com> | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | #define M0(kc) MT(MOD_HYPR, kc) | ||
| 19 | #define M1(kc) MT(MOD_LGUI, kc) | ||
| 20 | #define M2(kc) MT(MOD_LCTL, kc) | ||
| 21 | #define M3(kc) MT(MOD_LALT, kc) | ||
| 22 | #define M4(kc) MT(MOD_LSFT, kc) | ||
| 23 | #define LTH1 LT(L_LEFT, KC_SPC) | ||
| 24 | #define LTH2 LT(L_NUM, KC_BSPC) | ||
| 25 | #define RTH1 LT(L_RIGHT, KC_SPC) | ||
| 26 | #define RTH2 LT(L_NUM, KC_ENT) | ||
| 27 | #define COPY LCMD(KC_C) | ||
| 28 | #define PASTE LCMD(KC_V) | ||
| 29 | // Layers | ||
| 30 | #define L_BASE 0 | ||
| 31 | #define L_LEFT 1 | ||
| 32 | #define L_RIGHT 2 | ||
| 33 | #define L_NUM 3 | ||
| 34 | |||
| 35 | bool is_cmd_tab_active = false; | ||
| 36 | |||
| 37 | enum custom_keycodes { | ||
| 38 | CMD_TAB = SAFE_RANGE, | ||
| 39 | }; | ||
| 40 | // clang-format off | ||
| 41 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 42 | // L_BASE | ||
| 43 | LAYOUT( | ||
| 44 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, | ||
| 45 | KC_TAB, M4(KC_A), M3(KC_S), M2(KC_D), M1(KC_F), M0(KC_G), M0(KC_H), M1(KC_J), M2(KC_K), M3(KC_L), M4(KC_COLN), KC_QUOT, | ||
| 46 | KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, | ||
| 47 | OSM(MOD_LSFT), KC_LEAD, KC_LGUI, LTH1, XXXXXXX, LTH2, RTH2, XXXXXXX, RTH1, KC_RGUI, KC_LEAD, OSM(MOD_HYPR)), | ||
| 48 | |||
| 49 | // L_LEFT | ||
| 50 | LAYOUT( | ||
| 51 | _______, XXXXXXX, XXXXXXX, KC_EQL, KC_PERC, KC_AT, COPY, KC_UNDS, KC_HASH, RALT(KC_SPC), KC_PLUS, _______, | ||
| 52 | _______, KC_LSHIFT, KC_LALT, KC_LCTL, KC_LGUI, KC_HYPR, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_LBRC, KC_RBRC, | ||
| 53 | _______, XXXXXXX, KC_EXLM, KC_CIRC, XXXXXXX, KC_HOME, KC_END, KC_MINS, KC_LPRN, KC_RPRN, PASTE, XXXXXXX, | ||
| 54 | _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______), | ||
| 55 | |||
| 56 | // L_RIGHT | ||
| 57 | LAYOUT( | ||
| 58 | _______, XXXXXXX, XXXXXXX, KC_EQL, KC_PERC, KC_AT, COPY, KC_UNDS, KC_HASH, RALT(KC_SPC), KC_PLUS, _______, | ||
| 59 | _______, KC_AMPR, KC_ASTR, KC_DLR, LGUI(KC_GRV), XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RSFT, KC_RBRC, | ||
| 60 | _______, XXXXXXX, KC_EXLM, KC_CIRC, XXXXXXX, KC_HOME, KC_END, KC_MINS, KC_LPRN, KC_RPRN, PASTE, XXXXXXX, | ||
| 61 | _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______), | ||
| 62 | |||
| 63 | // L_NUM | ||
| 64 | LAYOUT( | ||
| 65 | _______, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12, KC_MINS, KC_7, KC_8, KC_9, KC_COMM, _______, | ||
| 66 | _______, M4(KC_LSFT), M3(KC_F4), M2(KC_F5), M1(KC_F6), M0(KC_F11), M0(KC_DOT), M1(KC_4), M2(KC_5), M3(KC_6), M4(KC_0), _______, | ||
| 67 | _______, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, KC_PLUS, KC_1, KC_2, KC_3, KC_DOT, _______, | ||
| 68 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK , KC_MEDIA_NEXT_TRACK, KC_MEDIA_PLAY_PAUSE), | ||
| 69 | |||
| 70 | LAYOUT( | ||
| 71 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 72 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 73 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 74 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 75 | }; | ||
| 76 | // clang-format on | ||
| 77 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 78 | switch (keycode) { | ||
| 79 | case CMD_TAB: | ||
| 80 | if (record->event.pressed) { | ||
| 81 | register_code(KC_LCMD); | ||
| 82 | tap_code(KC_TAB); | ||
| 83 | layer_on(2); | ||
| 84 | } else { | ||
| 85 | unregister_code(KC_LCMD); | ||
| 86 | layer_off(2); | ||
| 87 | } | ||
| 88 | break; | ||
| 89 | case KC_ESC: | ||
| 90 | layer_clear(); | ||
| 91 | } | ||
| 92 | return true; | ||
| 93 | } | ||
| 94 | |||
| 95 | LEADER_EXTERNS(); | ||
| 96 | |||
| 97 | void matrix_scan_user(void) { | ||
| 98 | LEADER_DICTIONARY() { | ||
| 99 | leading = false; | ||
| 100 | leader_end(); | ||
| 101 | |||
| 102 | // Cancel task CTRL+C | ||
| 103 | SEQ_ONE_KEY(KC_C) { tap_code16(C(KC_C)); } | ||
| 104 | // copy | ||
| 105 | SEQ_ONE_KEY(KC_Y) { tap_code16(G(KC_C)); } | ||
| 106 | // cut | ||
| 107 | SEQ_ONE_KEY(KC_X) { tap_code16(G(KC_X)); } | ||
| 108 | // paste | ||
| 109 | SEQ_ONE_KEY(KC_P) { tap_code16(G(KC_V)); } | ||
| 110 | // undo | ||
| 111 | SEQ_ONE_KEY(KC_U) { tap_code16(G(KC_Z)); } | ||
| 112 | // redo | ||
| 113 | SEQ_ONE_KEY(KC_R) { tap_code16(S(G(KC_Z))); } | ||
| 114 | // delete line | ||
| 115 | SEQ_TWO_KEYS(KC_D, KC_D) { | ||
| 116 | register_code(KC_LGUI); | ||
| 117 | |||
| 118 | tap_code(KC_RIGHT); | ||
| 119 | |||
| 120 | tap_code(KC_BSPACE); | ||
| 121 | |||
| 122 | unregister_code(KC_LGUI); | ||
| 123 | } | ||
| 124 | // go to the beginning of the string | ||
| 125 | SEQ_ONE_KEY(KC_H) { tap_code16(G(KC_LEFT)); } | ||
| 126 | // go to the end of the string | ||
| 127 | SEQ_ONE_KEY(KC_L) { tap_code16(G(KC_RIGHT)); } | ||
| 128 | } | ||
diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/rules.mk b/keyboards/signum/3_0/keymaps/sgurenkov/rules.mk new file mode 100644 index 000000000..5c9a4b49b --- /dev/null +++ b/keyboards/signum/3_0/keymaps/sgurenkov/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | LEADER_ENABLE = yes | ||
| 2 | AUTO_SHIFT_ENABLE = no | ||
