diff options
| author | Jan Christoph Ebersbach <jceb@e-jc.de> | 2019-04-08 04:20:09 +0200 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-04-07 19:20:09 -0700 |
| commit | eef00e4da110746b9dce4a710c7eeb8dab888a14 (patch) | |
| tree | b414e5733be244477c3ff0ac994e75bd58056ca8 /keyboards | |
| parent | 908966bdf36605301d27cdcae82c3201c156a43f (diff) | |
| download | qmk_firmware-eef00e4da110746b9dce4a710c7eeb8dab888a14.tar.gz qmk_firmware-eef00e4da110746b9dce4a710c7eeb8dab888a14.zip | |
[Keyboard] Add Signum 3.0 for the elite-c (#5478)
* Add keyboard Signum 3.0 for the elite-c
* Update readme.md
* Remove unused macros
* Use bootmagic lite instead of full
* Add warning to keymap.c that it's auto-generate
* Add description for customizing keyboard layouts
* Make generate_km.py executable
* Make right shift available in numpad layer
* Update keyboards/signum/3_0/elitec/readme.md
Co-Authored-By: jceb <jceb@e-jc.de>
* Update keyboards/signum/3_0/elitec/readme.md
Co-Authored-By: jceb <jceb@e-jc.de>
* Fix typo in symbol name
Diffstat (limited to 'keyboards')
| -rw-r--r-- | keyboards/signum/3_0/elitec/config.h | 26 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/elitec.c | 1 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/elitec.h | 15 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/info.json | 76 | ||||
| -rwxr-xr-x | keyboards/signum/3_0/elitec/keymaps/default/generate_km.py | 130 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/keymaps/default/keymap.c | 754 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/keymaps/default/km_template.txt | 20 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/keymaps/default/layout.py | 493 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/keymaps/default/readme.md | 27 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/readme.md | 14 | ||||
| -rw-r--r-- | keyboards/signum/3_0/elitec/rules.mk | 62 |
11 files changed, 1618 insertions, 0 deletions
diff --git a/keyboards/signum/3_0/elitec/config.h b/keyboards/signum/3_0/elitec/config.h new file mode 100644 index 000000000..3df07d17f --- /dev/null +++ b/keyboards/signum/3_0/elitec/config.h | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "config_common.h" | ||
| 4 | |||
| 5 | /* USB Device descriptor parameter */ | ||
| 6 | #define VENDOR_ID 0xF1E7 | ||
| 7 | #define PRODUCT_ID 0x5163 | ||
| 8 | #define DEVICE_VER 0x0000 | ||
| 9 | #define MANUFACTURER troyfletcher | ||
| 10 | #define PRODUCT Signum | ||
| 11 | #define DESCRIPTION q.m.k. keyboard firmware for Signum 3.0 | ||
| 12 | |||
| 13 | /* key matrix size */ | ||
| 14 | #define MATRIX_ROWS 4 | ||
| 15 | #define MATRIX_COLS 12 | ||
| 16 | |||
| 17 | /* key matrix pins */ | ||
| 18 | #define MATRIX_ROW_PINS { D2, D1, F5, B5 } | ||
| 19 | #define MATRIX_COL_PINS { B4, D7, D0, E6, D4, F6, F4, F7, B1, B3, C6, B2 } | ||
| 20 | #define UNUSED_PINS | ||
| 21 | |||
| 22 | /* Set 0 if debouncing isn't needed */ | ||
| 23 | #define DEBOUNCING_DELAY 5 | ||
| 24 | |||
| 25 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 26 | #define LOCKING_SUPPORT_ENABLE | ||
diff --git a/keyboards/signum/3_0/elitec/elitec.c b/keyboards/signum/3_0/elitec/elitec.c new file mode 100644 index 000000000..78195260b --- /dev/null +++ b/keyboards/signum/3_0/elitec/elitec.c | |||
| @@ -0,0 +1 @@ | |||
| #include "elitec.h" | |||
diff --git a/keyboards/signum/3_0/elitec/elitec.h b/keyboards/signum/3_0/elitec/elitec.h new file mode 100644 index 000000000..1749969de --- /dev/null +++ b/keyboards/signum/3_0/elitec/elitec.h | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "quantum.h" | ||
| 4 | |||
| 5 | #define LAYOUT( \ | ||
| 6 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ | ||
| 7 | K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ | ||
| 8 | K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ | ||
| 9 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \ | ||
| 10 | ) { \ | ||
| 11 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \ | ||
| 12 | { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \ | ||
| 13 | { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211 }, \ | ||
| 14 | { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 } \ | ||
| 15 | } | ||
diff --git a/keyboards/signum/3_0/elitec/info.json b/keyboards/signum/3_0/elitec/info.json new file mode 100644 index 000000000..e93dceb13 --- /dev/null +++ b/keyboards/signum/3_0/elitec/info.json | |||
| @@ -0,0 +1,76 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Signum 3.0", | ||
| 3 | "url": "http://troyfletcher.net/", | ||
| 4 | "maintainer": "jceb", | ||
| 5 | "width": 17, | ||
| 6 | "height": 8, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT": { | ||
| 9 | "layout": [ | ||
| 10 | |||
| 11 | { "x": 1.25, "y": 0.75, "r": 15 }, | ||
| 12 | { "x": 1.25, "y": 1.75, "r": 15 }, | ||
| 13 | { "x": 1.25, "y": 2.75, "r": 15 }, | ||
| 14 | { "x": 1.25, "y": 4.25, "r": 15 }, | ||
| 15 | |||
| 16 | { "x": 2.25, "y": 0.5, "r": 15 }, | ||
| 17 | { "x": 2.25, "y": 1.5, "r": 15 }, | ||
| 18 | { "x": 2.25, "y": 2.5, "r": 15 }, | ||
| 19 | { "x": 2.25, "y": 3.5, "r": 15 }, | ||
| 20 | |||
| 21 | { "x": 3.25, "y": 0, "r": 15 }, | ||
| 22 | { "x": 3.25, "y": 1, "r": 15 }, | ||
| 23 | { "x": 3.25, "y": 2, "r": 15 }, | ||
| 24 | { "x": 3.25, "y": 3, "r": 15 }, | ||
| 25 | |||
| 26 | { "x": 4.25, "y": 0.25, "r": 15 }, | ||
| 27 | { "x": 4.25, "y": 1.25, "r": 15 }, | ||
| 28 | { "x": 4.25, "y": 2.25, "r": 15 }, | ||
| 29 | |||
| 30 | { "x": 5.25, "y": 0.5, "r": 15 }, | ||
| 31 | { "x": 5.25, "y": 1.5, "r": 15 }, | ||
| 32 | { "x": 5.25, "y": 2.5, "r": 15 }, | ||
| 33 | { "x": 5.25, "y": 4.5, "r": 15, "h": 1.5 }, | ||
| 34 | |||
| 35 | { "x": 6.25, "y": 0.75, "r": 15 }, | ||
| 36 | { "x": 6.25, "y": 1.75, "r": 15 }, | ||
| 37 | { "x": 6.25, "y": 2.75, "r": 15 }, | ||
| 38 | { "x": 6.25, "y": 4.25, "r": 15, "h": 2 }, | ||
| 39 | |||
| 40 | { "x": 7.25, "y": 4.5, "r": 15, "h": 1.5 }, | ||
| 41 | |||
| 42 | { "x": 8.25, "y": 4.5, "r": -15, "h": 1.5 }, | ||
| 43 | |||
| 44 | { "x": 9.25, "y": 0.75, "r": -15 }, | ||
| 45 | { "x": 9.25, "y": 1.75, "r": -15 }, | ||
| 46 | { "x": 9.25, "y": 2.75, "r": -15 }, | ||
| 47 | { "x": 9.25, "y": 4.25, "r": -15, "h": 2 }, | ||
| 48 | |||
| 49 | { "x": 10.25, "y": 0.5, "r": -15 }, | ||
| 50 | { "x": 10.25, "y": 1.5, "r": -15 }, | ||
| 51 | { "x": 10.25, "y": 2.5, "r": -15 }, | ||
| 52 | { "x": 10.25, "y": 4.5, "r": -15, "h": 1.5 }, | ||
| 53 | |||
| 54 | { "x": 11.25, "y": 0.25, "r": -15 }, | ||
| 55 | { "x": 11.25, "y": 1.25, "r": -15 }, | ||
| 56 | { "x": 11.25, "y": 2.25, "r": -15 }, | ||
| 57 | |||
| 58 | { "x": 12.25, "y": 0, "r": -15 }, | ||
| 59 | { "x": 12.25, "y": 1, "r": -15 }, | ||
| 60 | { "x": 12.25, "y": 2, "r": -15 }, | ||
| 61 | { "x": 12.25, "y": 3, "r": -15 }, | ||
| 62 | |||
| 63 | { "x": 13.25, "y": 0.5, "r": -15 }, | ||
| 64 | { "x": 13.25, "y": 1.5, "r": -15 }, | ||
| 65 | { "x": 13.25, "y": 2.5, "r": -15 }, | ||
| 66 | { "x": 13.25, "y": 3.5, "r": -15 }, | ||
| 67 | |||
| 68 | { "x": 14.25, "y": 0.75, "r": -15 }, | ||
| 69 | { "x": 14.25, "y": 1.75, "r": -15 }, | ||
| 70 | { "x": 14.25, "y": 2.75, "r": -15 }, | ||
| 71 | { "x": 14.25, "y": 4.25, "r": -15 } | ||
| 72 | |||
| 73 | ] | ||
| 74 | } | ||
| 75 | } | ||
| 76 | } | ||
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py b/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py new file mode 100755 index 000000000..5147121b3 --- /dev/null +++ b/keyboards/signum/3_0/elitec/keymaps/default/generate_km.py | |||
| @@ -0,0 +1,130 @@ | |||
| 1 | #!/usr/bin/env python3 | ||
| 2 | # -*- coding: utf-8 -*- | ||
| 3 | |||
| 4 | from sortedcontainers import SortedDict | ||
| 5 | import layout | ||
| 6 | import re | ||
| 7 | |||
| 8 | # TODO: auto-generate mutex layers | ||
| 9 | # TODO: auto-generate update_tri_layer (_state) | ||
| 10 | |||
| 11 | |||
| 12 | def gen_uc_iter(): | ||
| 13 | length = len(layout.uc_dict) | ||
| 14 | for key, value in layout.uc_dict.items(): | ||
| 15 | length -= 1 | ||
| 16 | if length: | ||
| 17 | yield (key, value, False) | ||
| 18 | else: | ||
| 19 | yield (key, value, True) | ||
| 20 | |||
| 21 | |||
| 22 | def translate(s): | ||
| 23 | if re.match("^[0-9]$", s): | ||
| 24 | return ("KC_{0}".format(s), " {0} ".format(s)) | ||
| 25 | elif re.match("^[a-z]$", s): | ||
| 26 | return ("KC_{0}".format(s.upper()), " {0} ".format(s)) | ||
| 27 | elif re.match("^[A-Z]$", s): | ||
| 28 | return ("S(KC_{0})".format(s), " {0} ".format(s)) | ||
| 29 | elif re.match("^F[0-9]{1,2}$", s): # Fn, works from F0 to F99 | ||
| 30 | return ("KC_{0}".format(s), "{0:^7}".format(s)) | ||
| 31 | elif re.match("^DF[0-9]{1,2}$", s): # DFn, works from DF0 to DF99 | ||
| 32 | return ("DF({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 33 | elif re.match("^MO[0-9]{1,2}$", s): # MOn, works from MO0 to MO99 | ||
| 34 | return ("MO({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 35 | elif re.match("^OSL[0-9]{1,2}$", s): # OSLn, works from OSL0 to OSL99 | ||
| 36 | return ("OSL({0})".format(s[3:]), "{0:^7}".format(s)) | ||
| 37 | elif re.match("^TG[0-9]{1,2}$", s): # TGn, works from TG0 to TG99 | ||
| 38 | return ("TG({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 39 | elif re.match("^TO[0-9]{1,2}$", s): # Tn, works from TO0 to TO99 | ||
| 40 | return ("TO({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 41 | elif re.match("^TT[0-9]{1,2}$", s): # Tn, works from TT0 to TT99 | ||
| 42 | return ("TT({0})".format(s[2:]), "{0:^7}".format(s)) | ||
| 43 | elif s in layout.uc_dict: | ||
| 44 | return ("X("+s+")", " {0} ".format(chr(int(layout.uc_dict[s], 0)))) | ||
| 45 | elif s in layout.qmk_dict: | ||
| 46 | return (layout.qmk_dict[s], "{0:^7}".format(s)) | ||
| 47 | elif s == s.upper() and s.startswith("KC_"): | ||
| 48 | return (s, "{0:^7}".format(s[2:])) | ||
| 49 | else: | ||
| 50 | return ("XXXXXXX", " {0} ".format(chr(128165))) | ||
| 51 | |||
| 52 | |||
| 53 | def toKC(s): | ||
| 54 | (kc, lgd) = translate(s) | ||
| 55 | return kc | ||
| 56 | |||
| 57 | |||
| 58 | def toLgd(s): | ||
| 59 | (kc, lgd) = translate(s) | ||
| 60 | return lgd | ||
| 61 | |||
| 62 | |||
| 63 | if __name__ == "__main__": | ||
| 64 | |||
| 65 | template = open("km_template.txt", mode="r") | ||
| 66 | output = open("keymap.c", mode="w", encoding='utf-8') | ||
| 67 | |||
| 68 | doCopy = False | ||
| 69 | |||
| 70 | for line in template: | ||
| 71 | doCopy = True | ||
| 72 | if line.startswith("//<enum/>"): | ||
| 73 | doCopy = False | ||
| 74 | # output.write(str(layout.uc_dict)) | ||
| 75 | for k, v, isLast in gen_uc_iter(): | ||
| 76 | if isLast: | ||
| 77 | output.write(k + "\n") | ||
| 78 | else: | ||
| 79 | output.write(k + ",\n") | ||
| 80 | if line.startswith("//<uc_map/>"): | ||
| 81 | doCopy = False | ||
| 82 | for k, v, isLast in gen_uc_iter(): | ||
| 83 | if isLast: | ||
| 84 | output.write(u"\t[{0}] = {1} // {2}\n".format(k, v, chr(int(v, 0)))) | ||
| 85 | else: | ||
| 86 | output.write(u"\t[{0}] = {1}, // {2}\n".format(k, v, chr(int(v, 0)))) | ||
| 87 | if line.startswith("//<keymaps/>"): | ||
| 88 | doCopy = False | ||
| 89 | counter = len(layout.layers) | ||
| 90 | layer = 0 | ||
| 91 | S = layout.static | ||
| 92 | for L in layout.layers: | ||
| 93 | counter -= 1 | ||
| 94 | r_counter = 4 | ||
| 95 | output.write("/* Layer %d\n" % layer) | ||
| 96 | output.write(" * ------------------------------------------------- -------------------------------------------------\n") | ||
| 97 | 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]))) | ||
| 98 | output.write(" * ------------------------------------------------- -------------------------------------------------\n") | ||
| 99 | 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]))) | ||
| 100 | output.write(" * ------------------------------------------------- -------------------------------------------------\n") | ||
| 101 | 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]))) | ||
| 102 | output.write(" * -----------------------------------------------------------------------------------------------------------------\n") | ||
| 103 | 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") | ||
| 104 | output.write(" * -------------------------------------------------\n") | ||
| 105 | output.write(" */\n") | ||
| 106 | |||
| 107 | l_code = '\tLAYOUT(\n' | ||
| 108 | for r in range(r_counter): | ||
| 109 | r_counter -= 1 | ||
| 110 | c_counter = 12 | ||
| 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][c]) | ||
| 117 | if r_counter or c_counter: | ||
| 118 | l_code += "," | ||
| 119 | l_code += '\n' | ||
| 120 | if counter: | ||
| 121 | l_code += "\t),\n\n" | ||
| 122 | else: | ||
| 123 | l_code += "\t)\n" | ||
| 124 | output.write(l_code) | ||
| 125 | layer += 1 | ||
| 126 | if doCopy: | ||
| 127 | output.write(line) | ||
| 128 | |||
| 129 | template.close() | ||
| 130 | output.close() | ||
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/keymap.c b/keyboards/signum/3_0/elitec/keymaps/default/keymap.c new file mode 100644 index 000000000..d7feba349 --- /dev/null +++ b/keyboards/signum/3_0/elitec/keymaps/default/keymap.c | |||
| @@ -0,0 +1,754 @@ | |||
| 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 | /* Layer 0 | ||
| 627 | * ------------------------------------------------- ------------------------------------------------- | ||
| 628 | * | Tab | q | w | e | r | t | | y | u | i | o | p | [ | | ||
| 629 | * ------------------------------------------------- ------------------------------------------------- | ||
| 630 | * | LCtrl | a | s | d | f | g | | h | j | k | l | ; | ' | | ||
| 631 | * ------------------------------------------------- ------------------------------------------------- | ||
| 632 | * |LShift(| z | x | c | v | b | | n | m | , | . | / |RShift)| | ||
| 633 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 634 | * MO2 LGui LAlt | TT2 |LT6_SPC| TT4 | Enter | Space | TT2 | RAlt RGui RCtrl | ||
| 635 | * ------------------------------------------------- | ||
| 636 | */ | ||
| 637 | LAYOUT( | ||
| 638 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
| 639 | KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
| 640 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, | ||
| 641 | MO(2), KC_LGUI, KC_LALT, TT(2), LT(6, KC_SPC), TT(4), KC_ENT, KC_SPC, TT(2), KC_RALT, KC_RGUI, KC_RCTRL | ||
| 642 | ), | ||
| 643 | |||
| 644 | /* Layer 1 | ||
| 645 | * ------------------------------------------------- ------------------------------------------------- | ||
| 646 | * | Tab | q | w | f | p | g | | j | l | u | y | ; | [ | | ||
| 647 | * ------------------------------------------------- ------------------------------------------------- | ||
| 648 | * | LCtrl | a | r | s | t | d | | h | n | e | i | o | ' | | ||
| 649 | * ------------------------------------------------- ------------------------------------------------- | ||
| 650 | * |LShift(| z | x | c | v | b | | k | m | , | . | / |RShift)| | ||
| 651 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 652 | * MO2 LGui LAlt | TT2 |LT6_SPC| TT4 | Enter | Space | TT2 | RAlt RGui RCtrl | ||
| 653 | * ------------------------------------------------- | ||
| 654 | */ | ||
| 655 | LAYOUT( | ||
| 656 | KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, | ||
| 657 | KC_LCTRL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | ||
| 658 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, | ||
| 659 | MO(2), KC_LGUI, KC_LALT, TT(2), LT(6, KC_SPC), TT(4), KC_ENT, KC_SPC, TT(2), KC_RALT, KC_RGUI, KC_RCTRL | ||
| 660 | ), | ||
| 661 | |||
| 662 | /* Layer 2 | ||
| 663 | * ------------------------------------------------- ------------------------------------------------- | ||
| 664 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ] | | ||
| 665 | * ------------------------------------------------- ------------------------------------------------- | ||
| 666 | * | | DF0 | DF1 | XXX | XXX | MO3 | | 4 | 4 | 5 | 6 | - | = | | ||
| 667 | * ------------------------------------------------- ------------------------------------------------- | ||
| 668 | * | | MO5 | XXX | XXX | XXX | XXX | | 1 | 1 | 2 | 3 | \ | | | ||
| 669 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 670 | * TG2 | | | | | | 0 | | ||
| 671 | * ------------------------------------------------- | ||
| 672 | */ | ||
| 673 | LAYOUT( | ||
| 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, | ||
| 676 | KC_TRNS, MO(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, | ||
| 677 | TG(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 678 | ), | ||
| 679 | |||
| 680 | /* Layer 3 | ||
| 681 | * ------------------------------------------------- ------------------------------------------------- | ||
| 682 | * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | XXX | | ||
| 683 | * ------------------------------------------------- ------------------------------------------------- | ||
| 684 | * | | XXX | XXX | XXX | XXX | MO3 | | F4 | F4 | F5 | F6 | XXX | XXX | | ||
| 685 | * ------------------------------------------------- ------------------------------------------------- | ||
| 686 | * | | XXX | XXX | XXX | XXX | XXX | | F1 | F1 | F2 | F3 | XXX | | | ||
| 687 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 688 | * TG3 | | | | F10 | F11 | F12 | | ||
| 689 | * ------------------------------------------------- | ||
| 690 | */ | ||
| 691 | LAYOUT( | ||
| 692 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, | ||
| 693 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(3), KC_F4, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, | ||
| 694 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F1, KC_F2, KC_F3, XXXXXXX, 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 | ), | ||
| 697 | |||
| 698 | /* Layer 4 | ||
| 699 | * ------------------------------------------------- ------------------------------------------------- | ||
| 700 | * | | Esc | Tab x | Tab n |CPg Dn |CPg Dn | |Pg Down| Home |^ Arrow|Insert |SInsert| Esc | | ||
| 701 | * ------------------------------------------------- ------------------------------------------------- | ||
| 702 | * | | Caps | < Gui |Gui Tab| 💥 | 💥 | |< Arrow|< Arrow|v Arrow|> Arrow| End |Pr Scr | | ||
| 703 | * ------------------------------------------------- ------------------------------------------------- | ||
| 704 | * | | XXX | XXX | XXX |CPg Up |CPg Up | | Pg Up | XXX |v Arrow| XXX | App | | | ||
| 705 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 706 | * TG4 | | | | | | | | ||
| 707 | * ------------------------------------------------- | ||
| 708 | */ | ||
| 709 | LAYOUT( | ||
| 710 | KC_TRNS, KC_ESC, LCTL(KC_W), LCTL(KC_T), CTL_T(KC_PGDN), CTL_T(KC_PGDN), KC_PGDN, KC_HOME, KC_UP, KC_INS, SFT_T(KC_INS), KC_ESC, | ||
| 711 | KC_TRNS, KC_CAPS, LGUI_T(KC_RIGHT), LGUI_T(KC_TAB), XXXXXXX, XXXXXXX, 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, | ||
| 713 | TG(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
| 714 | ), | ||
| 715 | |||
| 716 | /* Layer 5 | ||
| 717 | * ------------------------------------------------- ------------------------------------------------- | ||
| 718 | * | | XXX |play/ps| Vol + | Vol + | XXX | | XXX | XXX | XXX | XXX |_reset | Power | | ||
| 719 | * ------------------------------------------------- ------------------------------------------------- | ||
| 720 | * | | XXX | |<< | Vol 0 | >>| | XXX | | XXX | XXX | XXX | XXX | XXX | Sleep | | ||
| 721 | * ------------------------------------------------- ------------------------------------------------- | ||
| 722 | * | | XXX | XXX | Vol - | Vol - | XXX | | XXX | XXX | XXX | XXX | XXX | XXX | | ||
| 723 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 724 | * TG5 | | | | | | | | ||
| 725 | * ------------------------------------------------- | ||
| 726 | */ | ||
| 727 | LAYOUT( | ||
| 728 | KC_TRNS, XXXXXXX, KC_MPLY, KC_VOLU, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_PWR, | ||
| 729 | KC_TRNS, XXXXXXX, KC_MPRV, KC_MUTE, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, | ||
| 730 | KC_TRNS, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 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 | ), | ||
| 733 | |||
| 734 | /* Layer 6 | ||
| 735 | * ------------------------------------------------- ------------------------------------------------- | ||
| 736 | * | | acc1 | XXX | XXX | XXX | XXX | |^ Wheel|< Wheel|^ Mouse|> Wheel| XXX | XXX | | ||
| 737 | * ------------------------------------------------- ------------------------------------------------- | ||
| 738 | * | | acc2 |Mouse 3|Mouse 2|Mouse 1|Mouse 1| |< Mouse|< Mouse|v Mouse|> Mouse| XXX | XXX | | ||
| 739 | * ------------------------------------------------- ------------------------------------------------- | ||
| 740 | * | | acc0 | XXX | XXX | XXX | XXX | |v Wheel| XXX |v Mouse| XXX | XXX | | | ||
| 741 | * ----------------------------------------------------------------------------------------------------------------- | ||
| 742 | * TG6 | | | | | | | | ||
| 743 | * ------------------------------------------------- | ||
| 744 | */ | ||
| 745 | LAYOUT( | ||
| 746 | KC_TRNS, KC_ACL1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_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, XXXXXXX, XXXXXXX, | ||
| 748 | KC_TRNS, KC_ACL0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D, XXXXXXX, KC_MS_D, XXXXXXX, XXXXXXX, 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 | ) | ||
| 751 | }; | ||
| 752 | |||
| 753 | /* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et | ||
| 754 | */ | ||
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/km_template.txt b/keyboards/signum/3_0/elitec/keymaps/default/km_template.txt new file mode 100644 index 000000000..47b35ee51 --- /dev/null +++ b/keyboards/signum/3_0/elitec/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/elitec/keymaps/default/layout.py b/keyboards/signum/3_0/elitec/keymaps/default/layout.py new file mode 100644 index 000000000..937fc172c --- /dev/null +++ b/keyboards/signum/3_0/elitec/keymaps/default/layout.py | |||
| @@ -0,0 +1,493 @@ | |||
| 1 | from sortedcontainers import SortedDict | ||
| 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 = SortedDict({ | ||
| 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": "XXXXXXX", "": "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": "SFT_T(KC_INS)", | ||
| 352 | "Home": "KC_HOME", "Pg Up": "KC_PGUP", "Del": "KC_DEL", "End": "KC_END", | ||
| 353 | "Pg Down": "KC_PGDN", "> Arrow": "KC_RIGHT", "< 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", "RAlt": "KC_RALT", "LShift": "KC_LSFT", "LCtrl": "KC_LCTRL", "RCtrl": "KC_RCTRL", | ||
| 361 | "LShift(": "KC_LSPO", "RShift)": "KC_RSPC", | ||
| 362 | "L1_ENT": "LT(1, KC_ENT)", "LT6_SPC": "LT(6, KC_SPC)", | ||
| 363 | "CPg Dn": "CTL_T(KC_PGDN)", "CPg Up": "CTL_T(KC_PGUP)", | ||
| 364 | "S_Enter": "S(KC_ENT)", "S_Tab": "S(KC_TAB)", "Compose": "KC_ALGR", | ||
| 365 | "RShift": "KC_RSFT", | ||
| 366 | "Vol 0": "KC_MUTE", "Vol +": "KC_VOLU", "Vol -": "KC_VOLD", | ||
| 367 | ">>|": "KC_MNXT", "|<<": "KC_MPRV", "play/ps": "KC_MPLY", | ||
| 368 | "Bri +": "KC_BRIU", "Bri -": "KC_BRID", | ||
| 369 | # Quantum Keycodes | ||
| 370 | "_reset": "RESET", "_debug": "DEBUG", "_eep_re": "EEP_RST", | ||
| 371 | # Audio Keys missing | ||
| 372 | # Backlighting | ||
| 373 | "Led 0": "BL_TOGG", "Led +": "BL_INC", "Led -": "BL_DEC", "Led ~": "BL_BRTG", | ||
| 374 | # Bootmagic missing | ||
| 375 | # Bluetooth | ||
| 376 | "OUT_AUTO": "OUT_AUTO", "OUT_USB": "OUT_USB", "OUT_BT": "OUT_BT", | ||
| 377 | # Layer Switching missing, Lx -> MO(x), Tx -> TG(x) | ||
| 378 | "qwertz": "DF(0)", "neo": "DF(2)", | ||
| 379 | # Mouse Keys | ||
| 380 | "^ Mouse": "KC_MS_U", "v Mouse": "KC_MS_D", "< Mouse": "KC_MS_L", | ||
| 381 | "> Mouse": "KC_MS_R", "Mouse 1": "KC_BTN1", "Mouse 2": "KC_BTN2", | ||
| 382 | "Mouse 3": "KC_BTN3", "Mouse 4": "KC_BTN4", "Mouse 5": "KC_BTN5", | ||
| 383 | "^ Wheel": "KC_WH_U", "v Wheel": "KC_WH_D", "< Wheel": "KC_WH_L", | ||
| 384 | "> Wheel": "KC_WH_R", "acc0": "KC_ACL0", "acc1": "KC_ACL1", | ||
| 385 | "acc2": "KC_ACL2", | ||
| 386 | # Modifiers missinng, add entry for each specific application | ||
| 387 | # Mod-Tap Keys missing, add entry for each specific application | ||
| 388 | "_Sh_swp": "LSFT_T(SH_TG)", | ||
| 389 | # RGB Lighting missing | ||
| 390 | # RGB Matrix Lighting missing | ||
| 391 | # Thermal Printer missing | ||
| 392 | # US ANSI Shifted Symbols done via S(), don't add KC_entries | ||
| 393 | # One Shot Keys missing | ||
| 394 | # Swap Hands | ||
| 395 | "_sp_swp": "SHT(KC_SPC)", | ||
| 396 | # Unicode support (via X()) included implicitly | ||
| 397 | # Switching Unicode Input Modes | ||
| 398 | "UC_win": "UC_M_WC", "UC_lnx": "UC_M_LN", "UC_osx": "UC_M_OS", | ||
| 399 | |||
| 400 | # custom keys | ||
| 401 | "altF4": "LALT(KC_F4)", | ||
| 402 | "Undo": "LCTL(KC_Z)", "Cut": "LCTL(KC_X)", "Copy": "LCTL(KC_C)", "Paste": "LCTL(KC_V)", | ||
| 403 | "< Tab": "LCTL(S(KC_TAB))", "> Tab": "LCTL(KC_TAB)", | ||
| 404 | "Tab x": "LCTL(KC_W)", "Tab n": "LCTL(KC_T)", | ||
| 405 | "Gui Tab": "LGUI_T(KC_TAB)", "< Gui": "LGUI_T(KC_LEFT)", "< Gui": "LGUI_T(KC_RIGHT)", | ||
| 406 | "C+A+Del": "LCTL(LALT(KC_DEL))", "Mic 0": "LCTL(KC_M)", | ||
| 407 | "Power": "KC_PWR", "Sleep": "KC_SLEP", | ||
| 408 | |||
| 409 | # macros | ||
| 410 | "Macro 1": "KC_1", "Macro 2": "KC_2", "Macro 3": "KC_3", "Macro 4": "KC_4", "Macro 5": "KC_5", | ||
| 411 | |||
| 412 | # custom layers | ||
| 413 | "GREEK": "GREEK", | ||
| 414 | "SYMBOL": "SYMBOL", | ||
| 415 | "MATH": "MATH", | ||
| 416 | "GAME": "GAME", | ||
| 417 | "MOUSE": "MOUSE", | ||
| 418 | "NEO": "TG(2)" | ||
| 419 | } | ||
| 420 | |||
| 421 | # These keys are repeated in all layers. | ||
| 422 | # Generate a keymap.c with the python script and refer to the "ASCII"-art comments, to see which positions this concerns. | ||
| 423 | # If you want to put different keycodes in these positions for different layers, you need to modify the python script by yourself. | ||
| 424 | static = ["NEO", "GREEK", "GREEK", "GREEK", "GREEK", "MOUSE"] | ||
| 425 | |||
| 426 | # mutex_layers = {"GREEK": 8, "GAME": 10, "MOUSE": 11} | ||
| 427 | # layer_graph = ... | ||
| 428 | |||
| 429 | # 0 | ||
| 430 | qwerty = [ | ||
| 431 | ["Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "["], | ||
| 432 | ["LCtrl", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'"], | ||
| 433 | ["LShift(", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift)"], | ||
| 434 | ["MO2", "LGui", "LAlt", "TT2", "LT6_SPC", "TT4", "Enter", "Space", "TT2", "RAlt", "RGui", "RCtrl"], | ||
| 435 | ] | ||
| 436 | |||
| 437 | # 1 | ||
| 438 | colemak = [ | ||
| 439 | ["Tab", "q", "w", "f", "p", "g", "j", "l", "u", "y", ";", "["], | ||
| 440 | ["LCtrl", "a", "r", "s", "t", "d", "h", "n", "e", "i", "o", "'"], | ||
| 441 | ["LShift(", "z", "x", "c", "v", "b", "k", "m", ",", ".", "/", "RShift)"], | ||
| 442 | ["MO2", "LGui", "LAlt", "TT2", "LT6_SPC", "TT4", "Enter", "Space", "TT2", "RAlt", "RGui", "RCtrl"], | ||
| 443 | ] | ||
| 444 | |||
| 445 | # 2 | ||
| 446 | numpad = [ | ||
| 447 | ["`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "]"], | ||
| 448 | ["", "DF0", "DF1", "XXX", "XXX", "MO3", "4", "4", "5", "6", "-", "="], | ||
| 449 | ["", "MO5", "XXX", "XXX", "XXX", "XXX", "1", "1", "2", "3", "\\", ""], | ||
| 450 | ["TG2", "", "", "", "", "", "", "", "0", "", "", ""], | ||
| 451 | ] | ||
| 452 | |||
| 453 | # 3 | ||
| 454 | fpad = [ | ||
| 455 | ["", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "XXX"], | ||
| 456 | ["", "XXX", "XXX", "XXX", "XXX", "MO3", "F4", "F4", "F5", "F6", "XXX", "XXX"], | ||
| 457 | ["", "XXX", "XXX", "XXX", "XXX", "XXX", "F1", "F1", "F2", "F3", "XXX", ""], | ||
| 458 | ["TG3", "", "", "", "", "", "F10", "F11", "F12", "", "", ""], | ||
| 459 | ] | ||
| 460 | |||
| 461 | # 4 | ||
| 462 | movement = [ | ||
| 463 | ["", "Esc", "Tab x", "Tab n", "CPg Dn", "CPg Dn", "Pg Down", "Home", "^ Arrow", "Insert", "SInsert", "Esc"], | ||
| 464 | ["", "Caps", "< Gui", "Gui Tab", "> Gui", "> Gui", "< Arrow", "< Arrow", "v Arrow", "> Arrow", "End", "Pr Scr"], | ||
| 465 | ["", "XXX", "XXX", "XXX", "CPg Up", "CPg Up", "Pg Up", "XXX", "v Arrow", "XXX", "App", ""], | ||
| 466 | ["TG4", "", "", "", "", "", "", "", "", "", "", ""], | ||
| 467 | ] | ||
| 468 | |||
| 469 | # 5 | ||
| 470 | media = [ | ||
| 471 | ["", "XXX", "play/ps", "Vol +", "Vol +", "XXX", "XXX", "XXX", "XXX", "XXX", "_reset", "Power"], | ||
| 472 | ["", "XXX", "|<<", "Vol 0", ">>|", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "Sleep"], | ||
| 473 | ["", "XXX", "XXX", "Vol -", "Vol -", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX"], | ||
| 474 | ["TG5", "", "", "", "", "", "", "", "", "", "", ""], | ||
| 475 | ] | ||
| 476 | |||
| 477 | # 6 | ||
| 478 | mouse = [ | ||
| 479 | ["", "acc1", "XXX", "XXX", "XXX", "XXX", "^ Wheel", "< Wheel", "^ Mouse", "> Wheel", "XXX", "XXX"], | ||
| 480 | ["", "acc2", "Mouse 3", "Mouse 2", "Mouse 1", "Mouse 1", "< Mouse", "< Mouse", "v Mouse", "> Mouse", "XXX", "XXX"], | ||
| 481 | ["", "acc0", "XXX", "XXX", "XXX", "XXX", "v Wheel", "XXX", "v Mouse", "XXX", "XXX", ""], | ||
| 482 | ["TG6", "", "", "", "", "", "", "", "", "", "", ""], | ||
| 483 | ] | ||
| 484 | |||
| 485 | layers = [ | ||
| 486 | qwerty, | ||
| 487 | colemak, | ||
| 488 | numpad, | ||
| 489 | fpad, | ||
| 490 | movement, | ||
| 491 | media, | ||
| 492 | mouse | ||
| 493 | ] | ||
diff --git a/keyboards/signum/3_0/elitec/keymaps/default/readme.md b/keyboards/signum/3_0/elitec/keymaps/default/readme.md new file mode 100644 index 000000000..efd43a9bf --- /dev/null +++ b/keyboards/signum/3_0/elitec/keymaps/default/readme.md | |||
| @@ -0,0 +1,27 @@ | |||
| 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 | - Install `python3` and [Sorted Containers | ||
| 15 | Library](http://www.grantjenks.com/docs/sortedcontainers/), `pip | ||
| 16 | install sortedcontainers`. | ||
| 17 | |||
| 18 | - Customize `layout.py` to your liking. | ||
| 19 | - Attention 1: keycodes are either translated into symbols and | ||
| 20 | function calls via the `translate()` function in `generate_km.py` | ||
| 21 | or via user-defined mappings in the dictionary `qmk_dict` in | ||
| 22 | `layout.py`. Especially the latter might require adjustment for | ||
| 23 | uncommon qmk features | ||
| 24 | - Attention 2: additional C functions need to be put into | ||
| 25 | `km_template.txt` | ||
| 26 | |||
| 27 | Run `./generate_km.py` to regenerate `keymap.c`. | ||
diff --git a/keyboards/signum/3_0/elitec/readme.md b/keyboards/signum/3_0/elitec/readme.md new file mode 100644 index 000000000..f60023f6d --- /dev/null +++ b/keyboards/signum/3_0/elitec/readme.md | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | # Signum 3.0 | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | An ergonomic 40% PCB. | ||
| 6 | |||
| 7 | Keyboard Maintainer: [Troy Fletcher](http://troyfletcher.net/) | ||
| 8 | Hardware available here: [Troy Fletcher](http://troyfletcher.net/keyboard_sales.html) | ||
| 9 | |||
| 10 | Make example for this keyboard (after setting up your build environment): | ||
| 11 | |||
| 12 | make signum/3_0/elitec:default | ||
| 13 | |||
| 14 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
diff --git a/keyboards/signum/3_0/elitec/rules.mk b/keyboards/signum/3_0/elitec/rules.mk new file mode 100644 index 000000000..d2f987b20 --- /dev/null +++ b/keyboards/signum/3_0/elitec/rules.mk | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Processor frequency. | ||
| 5 | # This will define a symbol, F_CPU, in all source code files equal to the | ||
| 6 | # processor frequency in Hz. You can then use this symbol in your source code to | ||
| 7 | # calculate timings. Do NOT tack on a 'UL' at the end, this will be done | ||
| 8 | # automatically to create a 32-bit value in your source code. | ||
| 9 | # | ||
| 10 | # This will be an integer division of F_USB below, as it is sourced by | ||
| 11 | # F_USB after it has run through any CPU prescalers. Note that this value | ||
| 12 | # does not *change* the processor frequency - it should merely be updated to | ||
| 13 | # reflect the processor speed set externally so that the code can use accurate | ||
| 14 | # software delays. | ||
| 15 | F_CPU = 16000000 | ||
| 16 | |||
| 17 | # | ||
| 18 | # LUFA specific | ||
| 19 | # | ||
| 20 | # Target architecture (see library "Board Types" documentation). | ||
| 21 | ARCH = AVR8 | ||
| 22 | |||
| 23 | # Input clock frequency. | ||
| 24 | # This will define a symbol, F_USB, in all source code files equal to the | ||
| 25 | # input clock frequency (before any prescaling is performed) in Hz. This value may | ||
| 26 | # differ from F_CPU if prescaling is used on the latter, and is required as the | ||
| 27 | # raw input clock is fed directly to the PLL sections of the AVR for high speed | ||
| 28 | # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | ||
| 29 | # at the end, this will be done automatically to create a 32-bit value in your | ||
| 30 | # source code. | ||
| 31 | # | ||
| 32 | # If no clock division is performed on the input clock inside the AVR (via the | ||
| 33 | # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | ||
| 34 | F_USB = $(F_CPU) | ||
| 35 | |||
| 36 | # Interrupt driven control endpoint task(+60) | ||
| 37 | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||
| 38 | |||
| 39 | # Boot Section Size in *bytes* | ||
| 40 | OPT_DEFS += -DBOOTLOADER_SIZE=4096 | ||
| 41 | |||
| 42 | # Bootloader | ||
| 43 | # This definition is optional, and if your keyboard supports multiple bootloaders of | ||
| 44 | # different sizes, comment this out, and the correct address will be loaded | ||
| 45 | # automatically (+60). See bootloader.mk for all options. | ||
| 46 | BOOTLOADER = atmel-dfu | ||
| 47 | |||
| 48 | # Build Options | ||
| 49 | # comment out to disable the options. | ||
| 50 | # | ||
| 51 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) | ||
| 52 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
| 53 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 54 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 55 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 56 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 57 | NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 58 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 59 | AUDIO_ENABLE = no | ||
| 60 | RGBLIGHT_ENABLE = no | ||
| 61 | |||
| 62 | UNICODEMAP_ENABLE = yes | ||
