aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/gen1.c257
-rw-r--r--keyboards/durgod/k320/k320.h14
-rw-r--r--keyboards/durgod/k320/keymaps/default/keymap.c26
-rw-r--r--keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c78
-rw-r--r--keyboards/durgod/k320/keymaps/kuenhlee/keymap.c52
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/config.h5
-rw-r--r--keyboards/meishi2/keymaps/moc/config.h19
-rw-r--r--keyboards/meishi2/keymaps/moc/keymap.c45
-rw-r--r--keyboards/meishi2/keymaps/moc/readme.md17
-rw-r--r--keyboards/neokeys/g67/hotswap/config.h67
-rw-r--r--keyboards/neokeys/g67/hotswap/hotswap.c17
-rw-r--r--keyboards/neokeys/g67/hotswap/hotswap.h33
-rw-r--r--keyboards/neokeys/g67/hotswap/info.json84
-rw-r--r--keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c34
-rw-r--r--keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c49
-rw-r--r--keyboards/neokeys/g67/hotswap/keymaps/via/rules.mk3
-rw-r--r--keyboards/neokeys/g67/hotswap/readme.md21
-rw-r--r--keyboards/neokeys/g67/hotswap/rules.mk26
-rw-r--r--keyboards/neokeys/g67/soldered/config.h71
-rw-r--r--keyboards/neokeys/g67/soldered/info.json541
-rw-r--r--keyboards/neokeys/g67/soldered/keymaps/default/keymap.c34
-rw-r--r--keyboards/neokeys/g67/soldered/keymaps/via/keymap.c48
-rw-r--r--keyboards/neokeys/g67/soldered/keymaps/via/rules.mk2
-rw-r--r--keyboards/neokeys/g67/soldered/readme.md21
-rw-r--r--keyboards/neokeys/g67/soldered/rules.mk24
-rw-r--r--keyboards/neokeys/g67/soldered/soldered.c17
-rw-r--r--keyboards/neokeys/g67/soldered/soldered.h117
-rw-r--r--keyboards/polycarbdiet/readme.md6
-rw-r--r--keyboards/polycarbdiet/s20/config.h61
-rw-r--r--keyboards/polycarbdiet/s20/info.json88
-rw-r--r--keyboards/polycarbdiet/s20/keymaps/default/keymap.c47
-rw-r--r--keyboards/polycarbdiet/s20/keymaps/default/readme.md1
-rw-r--r--keyboards/polycarbdiet/s20/readme.md27
-rw-r--r--keyboards/polycarbdiet/s20/rules.mk23
-rw-r--r--keyboards/polycarbdiet/s20/s20.c17
-rw-r--r--keyboards/polycarbdiet/s20/s20.h61
-rw-r--r--keyboards/ymdk/ymd40/v2/config.h71
-rw-r--r--keyboards/ymdk/ymd40/v2/info.json64
-rw-r--r--keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c55
-rw-r--r--keyboards/ymdk/ymd40/v2/keymaps/default/readme.md1
-rw-r--r--keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c32
-rw-r--r--keyboards/ymdk/ymd40/v2/keymaps/factory/readme.md3
-rw-r--r--keyboards/ymdk/ymd40/v2/readme.md22
-rw-r--r--keyboards/ymdk/ymd40/v2/rules.mk28
-rw-r--r--keyboards/ymdk/ymd40/v2/v2.c17
-rw-r--r--keyboards/ymdk/ymd40/v2/v2.h31
46 files changed, 2131 insertions, 246 deletions
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c
index 3bcf74faa..4bee38dc4 100644
--- a/keyboards/clueboard/66_hotswap/gen1/gen1.c
+++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c
@@ -20,162 +20,109 @@
20 20
21const is31_led g_is31_leds[LED_DRIVER_LED_COUNT] = { 21const is31_led g_is31_leds[LED_DRIVER_LED_COUNT] = {
22/* Refer to IS31 manual for these locations 22/* Refer to IS31 manual for these locations
23 * driver 23 * driver
24 * | LED address 24 * | LED address
25 * | | */ 25 * | | */
26 {0, C1_1}, // k00 KC_GESC 26 { 0, C1_1 }, // k00 KC_GESC
27 {0, C1_2}, // k01 KC_1 27 { 0, C1_2 }, // k01 KC_1
28 {0, C1_3}, // k02 KC_2 28 { 0, C1_3 }, // k02 KC_2
29 {0, C1_4}, // k03 KC_3 29 { 0, C1_4 }, // k03 KC_3
30 {0, C1_5}, // k04 KC_4 30 { 0, C1_5 }, // k04 KC_4
31 {0, C1_6}, // k05 KC_5 31 { 0, C1_6 }, // k05 KC_5
32 {0, C1_7}, // k06 KC_6 32 { 0, C1_7 }, // k06 KC_6
33 {0, C1_8}, // k07 KC_7 33 { 0, C1_8 }, // k07 KC_7
34 {0, C1_9}, // k50 KC_8 34 { 0, C1_9 }, // k50 KC_8
35 {0, C1_10}, // k51 KC_9 35 { 0, C1_10 }, // k51 KC_9
36 {0, C1_11}, // k52 KC_0 36 { 0, C1_11 }, // k52 KC_0
37 {0, C1_12}, // k53 KC_MINS 37 { 0, C1_12 }, // k53 KC_MINS
38 {0, C1_13}, // k54 KC_EQL 38 { 0, C1_13 }, // k54 KC_EQL
39 {0, C1_14}, // k55 KC_BSPC 39 { 0, C1_14 }, // k55 KC_BSPC
40 {0, C1_15}, // k57 KC_PGUP 40 { 0, C1_15 }, // k57 KC_PGUP
41 {0, C2_1}, // k10 KC_TAB 41 { 0, C2_1 }, // k10 KC_TAB
42 {0, C2_2}, // k11 KC_Q 42 { 0, C2_2 }, // k11 KC_Q
43 {0, C2_3}, // k12 KC_W 43 { 0, C2_3 }, // k12 KC_W
44 {0, C2_4}, // k13 KC_E 44 { 0, C2_4 }, // k13 KC_E
45 {0, C2_5}, // k14 KC_R 45 { 0, C2_5 }, // k14 KC_R
46 {0, C2_6}, // k15 KC_T 46 { 0, C2_6 }, // k15 KC_T
47 {0, C2_7}, // k16 KC_Y 47 { 0, C2_7 }, // k16 KC_Y
48 {0, C2_8}, // k17 KC_U 48 { 0, C2_8 }, // k17 KC_U
49 {0, C2_9}, // k60 KC_I 49 { 0, C2_9 }, // k60 KC_I
50 {0, C2_10}, // k61 KC_O 50 { 0, C2_10 }, // k61 KC_O
51 {0, C2_11}, // k62 KC_P 51 { 0, C2_11 }, // k62 KC_P
52 {0, C2_12}, // k63 KC_LBRC 52 { 0, C2_12 }, // k63 KC_LBRC
53 {0, C2_13}, // k64 KC_RBRC 53 { 0, C2_13 }, // k64 KC_RBRC
54 {0, C2_14}, // k65 KC_BSLS 54 { 0, C2_14 }, // k65 KC_BSLS
55 {0, C2_15}, // k67 KC_PGDN 55 { 0, C2_15 }, // k67 KC_PGDN
56 {0, C3_1}, // k20 KC_CAPS 56 { 0, C3_1 }, // k20 KC_CAPS
57 {0, C3_2}, // k21 KC_A 57 { 0, C3_2 }, // k21 KC_A
58 {0, C3_3}, // k22 KC_S 58 { 0, C3_3 }, // k22 KC_S
59 {0, C3_4}, // k23 KC_D 59 { 0, C3_4 }, // k23 KC_D
60 {0, C3_5}, // k24 KC_F 60 { 0, C3_5 }, // k24 KC_F
61 {0, C3_6}, // k25 KC_G 61 { 0, C3_6 }, // k25 KC_G
62 {0, C3_7}, // k26 KC_H 62 { 0, C3_7 }, // k26 KC_H
63 {0, C3_8}, // k27 KC_J 63 { 0, C3_8 }, // k27 KC_J
64 {0, C3_9}, // k70 KC_K 64 { 0, C3_9 }, // k70 KC_K
65 {0, C3_10}, // k71 KC_L 65 { 0, C3_10 }, // k71 KC_L
66 {0, C3_11}, // k72 KC_SCLN 66 { 0, C3_11 }, // k72 KC_SCLN
67 {0, C3_12}, // k73 KC_QUOT 67 { 0, C3_12 }, // k73 KC_QUOT
68 {0, C3_14}, // k75 KC_ENT 68 { 0, C3_14 }, // k75 KC_ENT
69 {0, C4_1}, // k30 KC_LSFT 69 { 0, C4_1 }, // k30 KC_LSFT
70 {0, C4_3}, // k32 KC_Z 70 { 0, C4_3 }, // k32 KC_Z
71 {0, C4_4}, // k33 KC_X 71 { 0, C4_4 }, // k33 KC_X
72 {0, C4_5}, // k34 KC_C 72 { 0, C4_5 }, // k34 KC_C
73 {0, C4_6}, // k35 KC_V 73 { 0, C4_6 }, // k35 KC_V
74 {0, C4_7}, // k36 KC_B 74 { 0, C4_7 }, // k36 KC_B
75 {0, C4_8}, // k37 KC_N 75 { 0, C4_8 }, // k37 KC_N
76 {0, C4_9}, // k80 KC_M 76 { 0, C4_9 }, // k80 KC_M
77 {0, C4_10}, // k81 KC_COMM 77 { 0, C4_10 }, // k81 KC_COMM
78 {0, C4_11}, // k82 KC_DOT 78 { 0, C4_11 }, // k82 KC_DOT
79 {0, C4_12}, // k83 KC_SLSH 79 { 0, C4_12 }, // k83 KC_SLSH
80 {0, C4_13}, // k85 KC_RSFT 80 { 0, C4_13 }, // k85 KC_RSFT
81 {0, C4_14}, // k86 KC_UP 81 { 0, C4_14 }, // k86 KC_UP
82 {0, C5_1}, // k40 KC_LCTL 82 { 0, C5_1 }, // k40 KC_LCTL
83 {0, C5_2}, // k41 KC_LGUI 83 { 0, C5_2 }, // k41 KC_LGUI
84 {0, C5_3}, // k42 KC_LALT 84 { 0, C5_3 }, // k42 KC_LALT
85 {0, C5_4}, // Unassociated between LALT and SPACE_2.75 85 { 0, C5_4 }, // Unassociated between LALT and SPACE_2.75
86 {0, C5_5}, // k45 KC_SPC SPACE_2.75 86 { 0, C5_5 }, // k45 KC_SPC SPACE_2.75
87 {0, C5_6}, // k45 KC_SPC SPACE_6.75 87 { 0, C5_6 }, // k45 KC_SPC SPACE_6.75
88 {0, C5_7}, // k46 KC_SPC SPACE_2.25 88 { 0, C5_7 }, // k46 KC_SPC SPACE_2.25
89 {0, C5_8}, // Unassociated between SPACE_2.25 and SPACE_1.25 89 { 0, C5_8 }, // Unassociated between SPACE_2.25 and SPACE_1.25
90 {0, C5_9}, // k90 KC_RGUI 90 { 0, C5_9 }, // k90 KC_RGUI
91 {0, C5_10}, // k92 KC_RALT 91 { 0, C5_10 }, // k92 KC_RALT
92 {0, C5_11}, // k93 MO(_FL) 92 { 0, C5_11 }, // k93 MO(_FL)
93 {0, C5_12}, // k94 KC_RCTL 93 { 0, C5_12 }, // k94 KC_RCTL
94 {0, C5_13}, // k95 KC_LEFT 94 { 0, C5_13 }, // k95 KC_LEFT
95 {0, C5_14}, // k96 KC_DOWN 95 { 0, C5_14 }, // k96 KC_DOWN
96 {0, C5_15} // k97 KC_RGHT 96 { 0, C5_15 } // k97 KC_RGHT
97}; 97};
98 98
99const led_matrix g_leds[LED_DRIVER_LED_COUNT] = { 99led_config_t g_led_config = {
100 100 {
101 /*{row | col << 4} 101 // Key Matrix to LED Index
102 | LED_ROW_COL(row, col) 102 { 0, 1, 2, 3, 4, 5, 6, 7 },
103 | | modifier 103 { 15, 16, 17, 18, 19, 20, 21, 22 },
104 | | | */ 104 { 30, 31, 32, 33, 34, 35, 36, 37 },
105 {{0|(1<<4)}, {0, 0}, 1}, // k00 KC_GESC 105 { 43, NO_LED, 44, 45, 46, 47, 48, 49 },
106 {{0|(2<<4)}, {14.45, 0}, 0}, // k01 KC_1 106 { 56, 57, 58, NO_LED, NO_LED, 60, 61, NO_LED },
107 {{0|(3<<4)}, {28.9, 0}, 0}, // k02 KC_2 107 { 8, 9, 10, 11, 12, 13, NO_LED, 14 },
108 {{0|(4<<4)}, {43.35, 0}, 0}, // k03 KC_3 108 { 23, 24, 25, 26, 27, 28, NO_LED, 29 },
109 {{0|(5<<4)}, {57.8, 0}, 0}, // k04 KC_4 109 { 38, 39, 40, 41, NO_LED, 42, NO_LED, NO_LED },
110 {{0|(6<<4)}, {72.25, 0}, 0}, // k05 KC_5 110 { 50, 51, 52, 53, NO_LED, 54, 55, NO_LED },
111 {{0|(7<<4)}, {86.7, 0}, 0}, // k06 KC_6 111 { 64, NO_LED, 65, 66, 67, 68, 69, 70 }
112 {{0|(8<<4)}, {101.2, 0}, 0}, // k07 KC_7 112 }, {
113 {{0|(9<<4)}, {115.6, 0}, 0}, // k50 KC_8 113 // LED Index to Physical Position
114 {{0|(10<<4)}, {130, 0}, 0}, // k51 KC_9 114 { 0, 0 }, { 15, 0 }, { 29, 0 }, { 43, 0 }, { 58, 0 }, { 72, 0 }, { 87, 0 }, { 101, 0 }, { 116, 0 }, { 130, 0 }, { 145, 0 }, { 159, 0 }, { 173, 0 }, { 195, 0 }, { 224, 0 },
115 {{0|(11<<4)}, {144.5, 0}, 0}, // k52 KC_0 115 { 4, 16 }, { 22, 16 }, { 36, 16 }, { 51, 16 }, { 65, 16 }, { 80, 16 }, { 94, 16 }, { 108, 16 }, { 123, 16 }, { 137, 16 }, { 152, 16 }, { 166, 16 }, { 181, 16 }, { 199, 16 }, { 224, 16 },
116 {{0|(12<<4)}, {159, 0}, 0}, // k53 KC_MINS 116 { 5, 32 }, { 25, 32 }, { 40, 32 }, { 54, 32 }, { 69, 32 }, { 83, 32 }, { 98, 32 }, { 112, 32 }, { 126, 32 }, { 141, 32 }, { 155, 32 }, { 170, 32 }, { 184, 32 },
117 {{0|(13<<4)}, {173.4, 0}, 0}, // k54 KC_EQL 117 { 16, 48 }, { 33, 48 }, { 47, 48 }, { 61, 48 }, { 76, 48 }, { 90, 48 }, { 105, 48 }, { 119, 48 }, { 134, 48 }, { 148, 48 }, { 163, 48 }, { 188, 48 }, { 210, 48 },
118 {{0|(14<<4)}, {195.1, 0}, 1}, // k55 KC_BSPC 118 { 9, 64 }, { 27, 64 }, { 45, 64 }, { 60, 64 }, { 74, 64 }, { 88, 64 }, { 103, 64 }, { 117, 64 }, { 136, 64 }, { 154, 64 }, { 168, 64 }, { 186, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
119 {{0|(15<<4)}, {224, 0}, 1}, // k57 KC_PGUP 119 }, {
120 120 // LED Index to Flag
121 {{1|(0<<4)}, {3.6125, 16}, 1}, // k10 KC_TAB 121 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
122 {{1|(1<<4)}, {21.675, 16}, 0}, // k11 KC_Q 122 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
123 {{1|(2<<4)}, {36.125, 16}, 0}, // k12 KC_W 123 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
124 {{1|(3<<4)}, {50.575, 16}, 0}, // k13 KC_E 124 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
125 {{1|(4<<4)}, {65.025, 16}, 0}, // k14 KC_R 125 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
126 {{1|(5<<4)}, {79.475, 16}, 0}, // k15 KC_T 126 }
127 {{1|(6<<4)}, {93.925, 16}, 0}, // k16 KC_Y
128 {{1|(7<<4)}, {108.375, 16}, 0}, // k17 KC_U
129 {{1|(8<<4)}, {122.825, 16}, 0}, // k60 KC_I
130 {{1|(9<<4)}, {137.275, 16}, 0}, // k61 KC_O
131 {{1|(10<<4)}, {151.725, 16}, 0}, // k62 KC_P
132 {{1|(11<<4)}, {166.175, 16}, 0}, // k63 KC_LBRC
133 {{1|(12<<4)}, {180.625, 16}, 0}, // k64 KC_RBRC
134 {{1|(13<<4)}, {198.6875, 16}, 1}, // k65 KC_BSLS
135 {{1|(14<<4)}, {224, 16}, 1}, // k67 KC_PGDN
136
137 {{2|(0<<4)}, {5.41875, 32}, 1}, // k20 KC_CAPS
138 {{2|(1<<4)}, {25.2875, 32}, 0}, // k21 KC_A
139 {{2|(2<<4)}, {39.7375, 32}, 0}, // k22 KC_S
140 {{2|(3<<4)}, {54.1875, 32}, 0}, // k23 KC_D
141 {{2|(4<<4)}, {68.6375, 32}, 0}, // k24 KC_F
142 {{2|(5<<4)}, {83.0875, 32}, 0}, // k25 KC_G
143 {{2|(6<<4)}, {97.5375, 32}, 0}, // k26 KC_H
144 {{2|(7<<4)}, {111.9875, 32}, 0}, // k27 KC_J
145 {{2|(8<<4)}, {126.4375, 32}, 0}, // k70 KC_K
146 {{2|(9<<4)}, {140.8875, 32}, 0}, // k71 KC_L
147 {{2|(10<<4)}, {155.3375, 32}, 0}, // k72 KC_SCLN
148 {{2|(11<<4)}, {169.7875, 32}, 0}, // k73 KC_QUOT
149 {{2|(12<<4)}, {184.2375, 32}, 1}, // k75 KC_ENT
150
151 {{3|(0<<4)}, {16.25625, 48}, 1}, // k30 KC_LSFT
152 {{3|(1<<4)}, {32.5125, 48}, 0}, // k32 KC_Z
153 {{3|(2<<4)}, {46.9625, 48}, 0}, // k33 KC_X
154 {{3|(3<<4)}, {61.4125, 48}, 0}, // k34 KC_C
155 {{3|(4<<4)}, {75.8625, 48}, 0}, // k35 KC_V
156 {{3|(5<<4)}, {90.3125, 48}, 0}, // k36 KC_B
157 {{3|(6<<4)}, {104.7625, 48}, 0}, // k37 KC_N
158 {{3|(7<<4)}, {119.2125, 48}, 0}, // k80 KC_M
159 {{3|(8<<4)}, {133.6625, 48}, 0}, // k81 KC_COMM
160 {{3|(9<<4)}, {148.1125, 48}, 0}, // k82 KC_DOT
161 {{3|(10<<4)}, {162.5625, 48}, 0}, // k83 KC_SLSH
162 {{3|(11<<4)}, {187.85, 48}, 1}, // k85 KC_RSFT
163 {{3|(12<<4)}, {209.525, 48}, 1}, // k86 KC_UP
164
165 {{4|(0<<4)}, {9.03125, 64}, 1}, // k40 KC_LCTL
166 {{4|(1<<4)}, {27.09375, 64}, 1}, // k41 KC_LGUI
167 {{4|(2<<4)}, {45.15625, 64}, 1}, // k42 KC_LALT
168 {{4|(3<<4)}, {59.45, 64}, 1}, // Unassociated between LALT and SPACE_2.75
169 {{4|(4<<4)}, {73.9, 64}, 1}, // k45 KC_SPC SPACE_2.75
170 {{4|(5<<4)}, {88.35, 64}, 1}, // k45 KC_SPC SPACE_6.25
171 {{4|(6<<4)}, {102.8, 64}, 1}, // k46 KC_SPC SPACE_2.25
172 {{4|(7<<4)}, {117.40625, 64}, 1}, // Unassociated between SPACE_2.25 and SPACE_2.75
173 {{4|(8<<4)}, {135.46875, 64}, 1}, // k90 KC_RGUI
174 {{4|(9<<4)}, {153.53125, 64}, 1}, // k92 KC_RALT
175 {{4|(10<<4)}, {167.98125, 64}, 1}, // k93 MO(_FL)
176 {{4|(11<<4)}, {186.04375, 64}, 1}, // k94 KC_RCTL
177 {{4|(12<<4)}, {195.075, 64}, 1}, // k95 KC_LEFT
178 {{4|(13<<4)}, {209.525, 64}, 1}, // k96 KC_DOWN
179 {{4|(14<<4)}, {224, 64}, 1} // k97 KC_RGHT
180}; 127};
181#endif 128#endif
diff --git a/keyboards/durgod/k320/k320.h b/keyboards/durgod/k320/k320.h
index 956cc0dcd..0e409a72c 100644
--- a/keyboards/durgod/k320/k320.h
+++ b/keyboards/durgod/k320/k320.h
@@ -26,13 +26,12 @@ void on_all_leds(void);
26 26
27// This a shortcut to help you visually see your layout. 27// This a shortcut to help you visually see your layout.
28#define LAYOUT_tkl_ansi( \ 28#define LAYOUT_tkl_ansi( \
29 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ 29 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
30 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ 30 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \
31 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ 31 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \
32 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ 32 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4E, \
33 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ 33 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
34 K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, \ 34 K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \
35 K6F \
36) { \ 35) { \
37 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ 36 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
38 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ 37 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
@@ -43,6 +42,7 @@ void on_all_leds(void);
43 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ 42 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
44} 43}
45 44
45
46// This a shortcut to help you visually see your layout. 46// This a shortcut to help you visually see your layout.
47#define LAYOUT_tkl_iso( \ 47#define LAYOUT_tkl_iso( \
48 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ 48 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
diff --git a/keyboards/durgod/k320/keymaps/default/keymap.c b/keyboards/durgod/k320/keymaps/default/keymap.c
index 64b98acff..49a14ec29 100644
--- a/keyboards/durgod/k320/keymaps/default/keymap.c
+++ b/keyboards/durgod/k320/keymaps/default/keymap.c
@@ -45,13 +45,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 * `-----------------------------------------------------------' `-------------' 45 * `-----------------------------------------------------------' `-------------'
46 */ 46 */
47 [_BASE] = LAYOUT_tkl_ansi( /* Base Layer */ 47 [_BASE] = LAYOUT_tkl_ansi( /* Base Layer */
48 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, 48 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
49 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, 49 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
50 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_HOME, 50 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
51 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_END, KC_PGDN, 51 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
52 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ENT, KC_UP, 52 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
53 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, 53 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
54 KC_RGHT
55 ), 54 ),
56 /* Keymap _FUNC: Function Layer 55 /* Keymap _FUNC: Function Layer
57 * ,-----------------------------------------------------------. ,--------------. 56 * ,-----------------------------------------------------------. ,--------------.
@@ -69,13 +68,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 * `-----------------------------------------------------------' `-------------' 68 * `-----------------------------------------------------------' `-------------'
70 */ 69 */
71 [_FUNC] = LAYOUT_tkl_ansi( /* Function Layer */ 70 [_FUNC] = LAYOUT_tkl_ansi( /* Function Layer */
72 _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, 71 _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
77 _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, 76 _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______
78 _______
79 ) 77 )
80}; 78};
81 79
diff --git a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c b/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
index 7fcf52cfe..834d2ca55 100644
--- a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
+++ b/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
@@ -67,13 +67,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67 * `-----------------------------------------------------------' `-------------' 67 * `-----------------------------------------------------------' `-------------'
68 */ 68 */
69 [_WBL] = LAYOUT_tkl_ansi( /* Windows Base Layer */ 69 [_WBL] = LAYOUT_tkl_ansi( /* Windows Base Layer */
70 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, 70 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
71 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, 71 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
72 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_HOME, 72 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
73 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_END, KC_PGDN, 73 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ENT, KC_UP, 74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
75 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, 75 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
76 KC_RGHT
77 ), 76 ),
78 /* Keymap _WFL: Windows Function Layer 77 /* Keymap _WFL: Windows Function Layer
79 * ,-----------------------------------------------------------. ,--------------. 78 * ,-----------------------------------------------------------. ,--------------.
@@ -91,13 +90,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
91 * `-----------------------------------------------------------' `-------------' 90 * `-----------------------------------------------------------' `-------------'
92 */ 91 */
93 [_WFL] = LAYOUT_tkl_ansi( /* Windows First Layer */ 92 [_WFL] = LAYOUT_tkl_ansi( /* Windows First Layer */
94 _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, 93 _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
99 _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, 98 _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______
100 _______
101 ), 99 ),
102 /* Keymap _WSL: Windows System Layer 100 /* Keymap _WSL: Windows System Layer
103 * ,-----------------------------------------------------------. ,--------------. 101 * ,-----------------------------------------------------------. ,--------------.
@@ -115,13 +113,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
115 * `-----------------------------------------------------------' `-------------' 113 * `-----------------------------------------------------------' `-------------'
116 */ 114 */
117 [_WSL] = LAYOUT_tkl_ansi( /* Windows Second / System Layer */ 115 [_WSL] = LAYOUT_tkl_ansi( /* Windows Second / System Layer */
118 RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX, 116 RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX,
119 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 117 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
120 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 118 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
121 XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 119 XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
122 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 120 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
123 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, 121 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
124 XXXXXXX
125 ), 122 ),
126 123
127 /* Keymap _MBL: Mac Base Layer (Alternate Layout) 124 /* Keymap _MBL: Mac Base Layer (Alternate Layout)
@@ -140,13 +137,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
140 * `-----------------------------------------------------------' `-------------' 137 * `-----------------------------------------------------------' `-------------'
141 */ 138 */
142 [_MBL] = LAYOUT_tkl_ansi( /* Mac Base Layer */ 139 [_MBL] = LAYOUT_tkl_ansi( /* Mac Base Layer */
143 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, 140 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15,
144 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, 141 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
145 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_HOME, 142 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
146 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_END, KC_PGDN, 143 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
147 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ENT, KC_UP, 144 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
148 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, 145 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
149 KC_RGHT
150 ), 146 ),
151 /* Keymap _MFL: Mac Function Layer 147 /* Keymap _MFL: Mac Function Layer
152 * ,-----------------------------------------------------------. ,--------------. 148 * ,-----------------------------------------------------------. ,--------------.
@@ -164,13 +160,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
164 * `-----------------------------------------------------------' `-------------' 160 * `-----------------------------------------------------------' `-------------'
165 */ 161 */
166 [_MFL] = LAYOUT_tkl_ansi( /* Mac First Layer */ 162 [_MFL] = LAYOUT_tkl_ansi( /* Mac First Layer */
167 _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, _______, 163 _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, _______,
168 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 164 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
169 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 165 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
170 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 166 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
171 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 167 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
172 _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, 168 _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______
173 _______
174 ), 169 ),
175 /* Keymap _MSL: Mac System Layer 170 /* Keymap _MSL: Mac System Layer
176 * ,-----------------------------------------------------------. ,--------------. 171 * ,-----------------------------------------------------------. ,--------------.
@@ -188,13 +183,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
188 * `-----------------------------------------------------------' `-------------' 183 * `-----------------------------------------------------------' `-------------'
189 */ 184 */
190 [_MSL] = LAYOUT_tkl_ansi( /* Mac Second / System Layer */ 185 [_MSL] = LAYOUT_tkl_ansi( /* Mac Second / System Layer */
191 RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX, 186 RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX,
192 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 187 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
193 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 188 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
194 XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 189 XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
195 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 190 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
196 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, 191 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
197 XXXXXXX
198 ) 192 )
199}; 193};
200 194
diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
index 6a42210f8..bf79f24db 100644
--- a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
+++ b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
@@ -109,43 +109,39 @@ const uint32_t PROGMEM unicode_map[] = {
109 109
110const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 110const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
111 [_BL] = LAYOUT_tkl_ansi( /* Base Layer */ 111 [_BL] = LAYOUT_tkl_ansi( /* Base Layer */
112 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, 112 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
113 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, 113 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
114 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_HOME, 114 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
115 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_END, KC_PGDN, 115 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
116 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ENT, KC_UP, 116 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
117 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, 117 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
118 KC_RGHT
119 ), 118 ),
120 119
121 [_FL] = LAYOUT_tkl_ansi( /* First Layer */ 120 [_FL] = LAYOUT_tkl_ansi( /* First Layer */
122 KC_TRNS, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, 121 KC_TRNS, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX,
123 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PDTP, 122 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ADTP, KC_STOP, KC_PDTP,
124 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TASK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MSEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_ADTP, KC_STOP, 123 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TASK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MSEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_DDTP, KC_SEND, KC_NDTP,
125 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DDTP, KC_SEND, KC_NDTP, 124 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
126 XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, KC_MENU, XXXXXXX, KC_WINU, 125 XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, KC_MENU, KC_WINU,
127 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_SL), KC_TRNS, MO(_UL), XXXXXXX, KC_WINL, KC_WIND, 126 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_SL), KC_TRNS, MO(_UL), XXXXXXX, KC_WINL, KC_WIND, KC_WINR
128 KC_WINR
129 ), 127 ),
130 128
131 [_SL] = LAYOUT_tkl_ansi( /* Second Layer */ 129 [_SL] = LAYOUT_tkl_ansi( /* Second Layer */
132 XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 130 XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
133 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 131 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
134 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 132 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
135 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 133 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
136 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 134 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
137 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 135 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
138 XXXXXXX
139 ), 136 ),
140 137
141 [_UL] = LAYOUT_tkl_ansi( /* Unicode Layer */ 138 [_UL] = LAYOUT_tkl_ansi( /* Unicode Layer */
142 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 139 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
143 X(APPR), X(NEQU), X(POW2), X(POW3), XXXXXXX, XXXXXXX, X(BSQR), X(WSQR), X(INFI), X(BDOT), X(WDOT), XXXXXXX, X(PONE), XXXXXXX, XXXXXXX, 140 X(APPR), X(NEQU), X(POW2), X(POW3), XXXXXXX, XXXXXXX, X(BSQR), X(WSQR), X(INFI), X(BDOT), X(WDOT), XXXXXXX, X(PONE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
144 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(SUM), XXXXXXX, X(MYU), X(SAME), XXXXXXX, X(OHM), X(DLAR), X(DRAR), XXXXXXX, XXXXXXX, XXXXXXX, 141 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(SUM), XXXXXXX, X(MYU), X(SAME), XXXXXXX, X(OHM), X(DLAR), X(DRAR), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
145 XXXXXXX, XXXXXXX, X(SQRT), X(DELT), XXXXXXX, XXXXXXX, X(THFR), XXXXXXX, XXXXXXX, XXXXXXX, X(THET), X(DEGR), XXXXXXX, XXXXXXX, XXXXXXX, 142 XXXXXXX, XXXXXXX, X(SQRT), X(DELT), XXXXXXX, XXXXXXX, X(THFR), XXXXXXX, XXXXXXX, XXXXXXX, X(THET), X(DEGR), XXXXXXX,
146 XXXXXXX, XXXXXXX, XXXXXXX, X(COPY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LTOE), X(MTOE), X(DIV), XXXXXXX, XXXXXXX, X(UARR), 143 XXXXXXX, XXXXXXX, XXXXXXX, X(COPY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LTOE), X(MTOE), X(DIV), XXXXXXX, X(UARR),
147 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, X(LARR), X(DARR), 144 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, X(LARR), X(DARR), X(RARR)
148 X(RARR)
149 ) 145 )
150}; 146};
151 147
diff --git a/keyboards/keebio/iris/keymaps/csc027/config.h b/keyboards/keebio/iris/keymaps/csc027/config.h
index 31333b06b..2ec00e98b 100644
--- a/keyboards/keebio/iris/keymaps/csc027/config.h
+++ b/keyboards/keebio/iris/keymaps/csc027/config.h
@@ -19,9 +19,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#define EE_HANDS 20#define EE_HANDS
21 21
22#define NO_ACTION_MACRO
23#define NO_ACTION_FUNCTION
24
22#undef RGBLED_NUM 25#undef RGBLED_NUM
23#define RGBLIGHT_ANIMATIONS 26#define RGBLIGHT_ANIMATIONS
24#define RGBLED_NUM 12 27#define RGBLED_NUM 12
25#define RGBLIGHT_HUE_STEP 8 28#define RGBLIGHT_HUE_STEP 8
26#define RGBLIGHT_SAT_STEP 8 29#define RGBLIGHT_SAT_STEP 8
27#define RGBLIGHT_VAL_STEP 8 30#define RGBLIGHT_VAL_STEP 8
31
32#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/meishi2/keymaps/moc/config.h b/keyboards/meishi2/keymaps/moc/config.h
new file mode 100644
index 000000000..9b5675af6
--- /dev/null
+++ b/keyboards/meishi2/keymaps/moc/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Atsushi Nagase
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
17#pragma once
18
19// place overrides here
diff --git a/keyboards/meishi2/keymaps/moc/keymap.c b/keyboards/meishi2/keymaps/moc/keymap.c
new file mode 100644
index 000000000..5e6c2e9c2
--- /dev/null
+++ b/keyboards/meishi2/keymaps/moc/keymap.c
@@ -0,0 +1,45 @@
1/* Copyright 2021 Atsushi Nagase
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
18enum meishi2_moc_layers {
19 _DEFAULT,
20 _RAISE
21};
22
23#define PRO_MICRO_LED_TX D5
24#define RAISE MO(_RAISE)
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_DEFAULT] = LAYOUT( /* Base */
28 RAISE, KC_B, KC_N, KC_SPC
29 ),
30 [_RAISE] = LAYOUT( /* Raise */
31 _______, KC_LEFT, KC_RGHT, LSFT(KC_S)
32 )
33};
34
35void matrix_init_user(void) {
36 setPinOutput(PRO_MICRO_LED_TX);
37 writePinHigh(PRO_MICRO_LED_TX);
38}
39
40bool process_record_user(uint16_t keycode, keyrecord_t *record) {
41 if (keycode == RAISE) {
42 writePin(PRO_MICRO_LED_TX, !record->event.pressed);
43 }
44 return true;
45}
diff --git a/keyboards/meishi2/keymaps/moc/readme.md b/keyboards/meishi2/keymaps/moc/readme.md
new file mode 100644
index 000000000..aac1b25c9
--- /dev/null
+++ b/keyboards/meishi2/keymaps/moc/readme.md
@@ -0,0 +1,17 @@
1# [MOC] keymap for meishi2
2
3```
4,--------- ------ ------ -----,
5| RAISE | ⏮ | ⏭ | ⏯ |
6`--------- ------ ------ -----'
7```
8
9## Raise Layer
10
11```
12,--------- ------ ------ -----,
13| | ⏪ | ⏩ | 🔀 |
14`--------- ------ ------ -----'
15```
16
17[moc]: http://moc.daper.net/
diff --git a/keyboards/neokeys/g67/hotswap/config.h b/keyboards/neokeys/g67/hotswap/config.h
new file mode 100644
index 000000000..d5303fa05
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/config.h
@@ -0,0 +1,67 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4E4B // "NK"
23#define PRODUCT_ID 0x5048
24#define DEVICE_VER 0x0100
25#define MANUFACTURER NEO Keys
26#define PRODUCT Palette G67 Hotswap
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 15
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41 */
42#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
43#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D4, D5, D6, D7, B4 }
44
45#define DIODE_DIRECTION COL2ROW
46
47#if defined(RGBLIGHT_ENABLE)
48 #define RGB_DI_PIN F0
49 #define RGBLED_NUM 77
50 #define RGBLIGHT_HUE_STEP 8
51 #define RGBLIGHT_SAT_STEP 8
52 #define RGBLIGHT_VAL_STEP 8
53 #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */
54 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
55/*== all animations enable ==*/
56 #define RGBLIGHT_ANIMATIONS
57// /*== or choose animations ==*/
58// #define RGBLIGHT_EFFECT_BREATHING
59// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
60// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
61// #define RGBLIGHT_EFFECT_SNAKE
62// #define RGBLIGHT_EFFECT_KNIGHT
63// #define RGBLIGHT_EFFECT_CHRISTMAS
64// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
65// #define RGBLIGHT_EFFECT_RGB_TEST
66// #define RGBLIGHT_EFFECT_ALTERNATING
67#endif
diff --git a/keyboards/neokeys/g67/hotswap/hotswap.c b/keyboards/neokeys/g67/hotswap/hotswap.c
new file mode 100644
index 000000000..dfa980344
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/hotswap.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include "hotswap.h"
diff --git a/keyboards/neokeys/g67/hotswap/hotswap.h b/keyboards/neokeys/g67/hotswap/hotswap.h
new file mode 100644
index 000000000..474300d06
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/hotswap.h
@@ -0,0 +1,33 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_65_ansi_blocker( \
22 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
23 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
24 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
25 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
26 K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
33}
diff --git a/keyboards/neokeys/g67/hotswap/info.json b/keyboards/neokeys/g67/hotswap/info.json
new file mode 100644
index 000000000..98d6654f0
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/info.json
@@ -0,0 +1,84 @@
1{
2 "keyboard_name": "NEO Keys Palette G67 Hotswap",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 16,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_65_ansi_blocker": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0, "w":2},
24 {"x":15, "y":0},
25
26 {"x":0, "y":1, "w":1.5},
27 {"x":1.5, "y":1},
28 {"x":2.5, "y":1},
29 {"x":3.5, "y":1},
30 {"x":4.5, "y":1},
31 {"x":5.5, "y":1},
32 {"x":6.5, "y":1},
33 {"x":7.5, "y":1},
34 {"x":8.5, "y":1},
35 {"x":9.5, "y":1},
36 {"x":10.5, "y":1},
37 {"x":11.5, "y":1},
38 {"x":12.5, "y":1},
39 {"x":13.5, "y":1, "w":1.5},
40 {"x":15, "y":1},
41
42 {"x":0, "y":2, "w":1.75},
43 {"x":1.75, "y":2},
44 {"x":2.75, "y":2},
45 {"x":3.75, "y":2},
46 {"x":4.75, "y":2},
47 {"x":5.75, "y":2},
48 {"x":6.75, "y":2},
49 {"x":7.75, "y":2},
50 {"x":8.75, "y":2},
51 {"x":9.75, "y":2},
52 {"x":10.75, "y":2},
53 {"x":11.75, "y":2},
54 {"x":12.75, "y":2, "w":2.25},
55 {"x":15, "y":2},
56
57 {"x":0, "y":3, "w":2.25},
58 {"x":2.25, "y":3},
59 {"x":3.25, "y":3},
60 {"x":4.25, "y":3},
61 {"x":5.25, "y":3},
62 {"x":6.25, "y":3},
63 {"x":7.25, "y":3},
64 {"x":8.25, "y":3},
65 {"x":9.25, "y":3},
66 {"x":10.25, "y":3},
67 {"x":11.25, "y":3},
68 {"x":12.25, "y":3, "w":1.75},
69 {"x":14, "y":3},
70 {"x":15, "y":3},
71
72 {"x":0, "y":4, "w":1.25},
73 {"x":1.25, "y":4, "w":1.25},
74 {"x":2.5, "y":4, "w":1.25},
75 {"x":3.75, "y":4, "w":6.25},
76 {"x":10, "y":4, "w":1.25},
77 {"x":11.25, "y":4, "w":1.25},
78 {"x":13, "y":4},
79 {"x":14, "y":4},
80 {"x":15, "y":4}
81 ]
82 }
83 }
84}
diff --git a/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c b/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c
new file mode 100644
index 000000000..9eac0afaf
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_65_ansi_blocker(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
26 ),
27 [1] = LAYOUT_65_ansi_blocker(
28 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME,
29 _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END,
30 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, KC_PGUP,
31 _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______
33 ),
34};
diff --git a/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c b/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c
new file mode 100644
index 000000000..e7c96d274
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/keymaps/via/keymap.c
@@ -0,0 +1,49 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_65_ansi_blocker(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
26 ),
27 [1] = LAYOUT_65_ansi_blocker(
28 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME,
29 _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END,
30 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, KC_PGUP,
31 _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, KC_PGDN,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______
33 ),
34 [2] = LAYOUT_65_ansi_blocker(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______
40
41 ),
42 [3] = LAYOUT_65_ansi_blocker(
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______
48 ),
49};
diff --git a/keyboards/neokeys/g67/hotswap/keymaps/via/rules.mk b/keyboards/neokeys/g67/hotswap/keymaps/via/rules.mk
new file mode 100644
index 000000000..152460f30
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
3KEY_LOCK_ENABLE = no
diff --git a/keyboards/neokeys/g67/hotswap/readme.md b/keyboards/neokeys/g67/hotswap/readme.md
new file mode 100644
index 000000000..e8b428dae
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/readme.md
@@ -0,0 +1,21 @@
1# Palette G67 Hotswap
2
3![Palette G67 Carbon](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/neokeys/palette_g67/PaletteCarbonG67.jpg)
4
5A blockered 65% with per-key RGB, underglow, and USB Type C.
6
7* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
8* Hardware Supported: Palette G67 Hotswap (ATmega32U4)
9* Hardware Availability: [NEO Keys](https://www.neokeys.net/)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make neokeys/palette_g67/hotswap:default
14
15Flashing example for this keyboard:
16
17 make neokeys/palette_g67/hotswap:default:flash
18
19To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
20
21See 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/neokeys/g67/hotswap/rules.mk b/keyboards/neokeys/g67/hotswap/rules.mk
new file mode 100644
index 000000000..0b304a6aa
--- /dev/null
+++ b/keyboards/neokeys/g67/hotswap/rules.mk
@@ -0,0 +1,26 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24KEY_LOCK_ENABLE = yes # Enable KC_LOCK support
25
26LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/neokeys/g67/soldered/config.h b/keyboards/neokeys/g67/soldered/config.h
new file mode 100644
index 000000000..4672d96f1
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/config.h
@@ -0,0 +1,71 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4E4B // "NK"
23#define PRODUCT_ID 0x5053
24#define DEVICE_VER 0x0100
25#define MANUFACTURER NEO Keys
26#define PRODUCT Palette G67 Soldered
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 16
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41 */
42#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
43#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D4, D5, D6, D7, B5, B4 }
44
45#define DIODE_DIRECTION COL2ROW
46
47#define BACKLIGHT_PIN B6
48#define BACKLIGHT_BREATHING
49#define BACKLIGHT_LEVELS 10
50
51#if defined(RGBLIGHT_ENABLE)
52 #define RGB_DI_PIN F0
53 #define RGBLED_NUM 18
54 #define RGBLIGHT_HUE_STEP 8
55 #define RGBLIGHT_SAT_STEP 8
56 #define RGBLIGHT_VAL_STEP 8
57 #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */
58 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
59/*== all animations enable ==*/
60 #define RGBLIGHT_ANIMATIONS
61// /*== or choose animations ==*/
62// #define RGBLIGHT_EFFECT_BREATHING
63// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
64// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
65// #define RGBLIGHT_EFFECT_SNAKE
66// #define RGBLIGHT_EFFECT_KNIGHT
67// #define RGBLIGHT_EFFECT_CHRISTMAS
68// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
69// #define RGBLIGHT_EFFECT_RGB_TEST
70// #define RGBLIGHT_EFFECT_ALTERNATING
71#endif
diff --git a/keyboards/neokeys/g67/soldered/info.json b/keyboards/neokeys/g67/soldered/info.json
new file mode 100644
index 000000000..b2e9208e4
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/info.json
@@ -0,0 +1,541 @@
1{
2 "keyboard_name": "NEO Keys Palette G67 Soldered",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 16,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25 {"x":15, "y":0},
26
27 {"x":0, "y":1, "w":1.5},
28 {"x":1.5, "y":1},
29 {"x":2.5, "y":1},
30 {"x":3.5, "y":1},
31 {"x":4.5, "y":1},
32 {"x":5.5, "y":1},
33 {"x":6.5, "y":1},
34 {"x":7.5, "y":1},
35 {"x":8.5, "y":1},
36 {"x":9.5, "y":1},
37 {"x":10.5, "y":1},
38 {"x":11.5, "y":1},
39 {"x":12.5, "y":1},
40 {"x":13.5, "y":1, "w":1.5},
41 {"x":15, "y":1},
42
43 {"x":0, "y":2, "w":1.75},
44 {"x":1.75, "y":2},
45 {"x":2.75, "y":2},
46 {"x":3.75, "y":2},
47 {"x":4.75, "y":2},
48 {"x":5.75, "y":2},
49 {"x":6.75, "y":2},
50 {"x":7.75, "y":2},
51 {"x":8.75, "y":2},
52 {"x":9.75, "y":2},
53 {"x":10.75, "y":2},
54 {"x":11.75, "y":2},
55 {"x":12.75, "y":2},
56 {"x":13.75, "y":2, "w":1.25},
57 {"x":15, "y":2},
58
59 {"x":0, "y":3, "w":1.25},
60 {"x":1.25, "y":3},
61 {"x":2.25, "y":3},
62 {"x":3.25, "y":3},
63 {"x":4.25, "y":3},
64 {"x":5.25, "y":3},
65 {"x":6.25, "y":3},
66 {"x":7.25, "y":3},
67 {"x":8.25, "y":3},
68 {"x":9.25, "y":3},
69 {"x":10.25, "y":3},
70 {"x":11.25, "y":3},
71 {"x":12.25, "y":3, "w":1.75},
72 {"x":14, "y":3},
73 {"x":15, "y":3},
74
75 {"x":0, "y":4, "w":1.25},
76 {"x":1.25, "y":4, "w":1.25},
77 {"x":2.5, "y":4, "w":1.25},
78 {"x":3.75, "y":4, "w":6.25},
79 {"x":10, "y":4},
80 {"x":11, "y":4},
81 {"x":12, "y":4},
82 {"x":13, "y":4},
83 {"x":14, "y":4},
84 {"x":15, "y":4}
85 ]
86 },
87 "LAYOUT_65_ansi": {
88 "layout": [
89 {"x":0, "y":0},
90 {"x":1, "y":0},
91 {"x":2, "y":0},
92 {"x":3, "y":0},
93 {"x":4, "y":0},
94 {"x":5, "y":0},
95 {"x":6, "y":0},
96 {"x":7, "y":0},
97 {"x":8, "y":0},
98 {"x":9, "y":0},
99 {"x":10, "y":0},
100 {"x":11, "y":0},
101 {"x":12, "y":0},
102 {"x":13, "y":0, "w":2},
103 {"x":15, "y":0},
104
105 {"x":0, "y":1, "w":1.5},
106 {"x":1.5, "y":1},
107 {"x":2.5, "y":1},
108 {"x":3.5, "y":1},
109 {"x":4.5, "y":1},
110 {"x":5.5, "y":1},
111 {"x":6.5, "y":1},
112 {"x":7.5, "y":1},
113 {"x":8.5, "y":1},
114 {"x":9.5, "y":1},
115 {"x":10.5, "y":1},
116 {"x":11.5, "y":1},
117 {"x":12.5, "y":1},
118 {"x":13.5, "y":1, "w":1.5},
119 {"x":15, "y":1},
120
121 {"x":0, "y":2, "w":1.75},
122 {"x":1.75, "y":2},
123 {"x":2.75, "y":2},
124 {"x":3.75, "y":2},
125 {"x":4.75, "y":2},
126 {"x":5.75, "y":2},
127 {"x":6.75, "y":2},
128 {"x":7.75, "y":2},
129 {"x":8.75, "y":2},
130 {"x":9.75, "y":2},
131 {"x":10.75, "y":2},
132 {"x":11.75, "y":2},
133 {"x":12.75, "y":2, "w":2.25},
134 {"x":15, "y":2},
135
136 {"x":0, "y":3, "w":2.25},
137 {"x":2.25, "y":3},
138 {"x":3.25, "y":3},
139 {"x":4.25, "y":3},
140 {"x":5.25, "y":3},
141 {"x":6.25, "y":3},
142 {"x":7.25, "y":3},
143 {"x":8.25, "y":3},
144 {"x":9.25, "y":3},
145 {"x":10.25, "y":3},
146 {"x":11.25, "y":3},
147 {"x":12.25, "y":3, "w":1.75},
148 {"x":14, "y":3},
149 {"x":15, "y":3},
150
151 {"x":0, "y":4, "w":1.25},
152 {"x":1.25, "y":4, "w":1.25},
153 {"x":2.5, "y":4, "w":1.25},
154 {"x":3.75, "y":4, "w":6.25},
155 {"x":10, "y":4},
156 {"x":11, "y":4},
157 {"x":12, "y":4},
158 {"x":13, "y":4},
159 {"x":14, "y":4},
160 {"x":15, "y":4}
161 ]
162 },
163 "LAYOUT_65_ansi_blocker": {
164 "layout": [
165 {"x":0, "y":0},
166 {"x":1, "y":0},
167 {"x":2, "y":0},
168 {"x":3, "y":0},
169 {"x":4, "y":0},
170 {"x":5, "y":0},
171 {"x":6, "y":0},
172 {"x":7, "y":0},
173 {"x":8, "y":0},
174 {"x":9, "y":0},
175 {"x":10, "y":0},
176 {"x":11, "y":0},
177 {"x":12, "y":0},
178 {"x":13, "y":0, "w":2},
179 {"x":15, "y":0},
180
181 {"x":0, "y":1, "w":1.5},
182 {"x":1.5, "y":1},
183 {"x":2.5, "y":1},
184 {"x":3.5, "y":1},
185 {"x":4.5, "y":1},
186 {"x":5.5, "y":1},
187 {"x":6.5, "y":1},
188 {"x":7.5, "y":1},
189 {"x":8.5, "y":1},
190 {"x":9.5, "y":1},
191 {"x":10.5, "y":1},
192 {"x":11.5, "y":1},
193 {"x":12.5, "y":1},
194 {"x":13.5, "y":1, "w":1.5},
195 {"x":15, "y":1},
196
197 {"x":0, "y":2, "w":1.75},
198 {"x":1.75, "y":2},
199 {"x":2.75, "y":2},
200 {"x":3.75, "y":2},
201 {"x":4.75, "y":2},
202 {"x":5.75, "y":2},
203 {"x":6.75, "y":2},
204 {"x":7.75, "y":2},
205 {"x":8.75, "y":2},
206 {"x":9.75, "y":2},
207 {"x":10.75, "y":2},
208 {"x":11.75, "y":2},
209 {"x":12.75, "y":2, "w":2.25},
210 {"x":15, "y":2},
211
212 {"x":0, "y":3, "w":2.25},
213 {"x":2.25, "y":3},
214 {"x":3.25, "y":3},
215 {"x":4.25, "y":3},
216 {"x":5.25, "y":3},
217 {"x":6.25, "y":3},
218 {"x":7.25, "y":3},
219 {"x":8.25, "y":3},
220 {"x":9.25, "y":3},
221 {"x":10.25, "y":3},
222 {"x":11.25, "y":3},
223 {"x":12.25, "y":3, "w":1.75},
224 {"x":14, "y":3},
225 {"x":15, "y":3},
226
227 {"x":0, "y":4, "w":1.25},
228 {"x":1.25, "y":4, "w":1.25},
229 {"x":2.5, "y":4, "w":1.25},
230 {"x":3.75, "y":4, "w":6.25},
231 {"x":10, "y":4, "w":1.25},
232 {"x":11.25, "y":4, "w":1.25},
233 {"x":13, "y":4},
234 {"x":14, "y":4},
235 {"x":15, "y":4}
236 ]
237 },
238 "LAYOUT_65_ansi_blocker_tsangan": {
239 "layout": [
240 {"x":0, "y":0},
241 {"x":1, "y":0},
242 {"x":2, "y":0},
243 {"x":3, "y":0},
244 {"x":4, "y":0},
245 {"x":5, "y":0},
246 {"x":6, "y":0},
247 {"x":7, "y":0},
248 {"x":8, "y":0},
249 {"x":9, "y":0},
250 {"x":10, "y":0},
251 {"x":11, "y":0},
252 {"x":12, "y":0},
253 {"x":13, "y":0, "w":2},
254 {"x":15, "y":0},
255
256 {"x":0, "y":1, "w":1.5},
257 {"x":1.5, "y":1},
258 {"x":2.5, "y":1},
259 {"x":3.5, "y":1},
260 {"x":4.5, "y":1},
261 {"x":5.5, "y":1},
262 {"x":6.5, "y":1},
263 {"x":7.5, "y":1},
264 {"x":8.5, "y":1},
265 {"x":9.5, "y":1},
266 {"x":10.5, "y":1},
267 {"x":11.5, "y":1},
268 {"x":12.5, "y":1},
269 {"x":13.5, "y":1, "w":1.5},
270 {"x":15, "y":1},
271
272 {"x":0, "y":2, "w":1.75},
273 {"x":1.75, "y":2},
274 {"x":2.75, "y":2},
275 {"x":3.75, "y":2},
276 {"x":4.75, "y":2},
277 {"x":5.75, "y":2},
278 {"x":6.75, "y":2},
279 {"x":7.75, "y":2},
280 {"x":8.75, "y":2},
281 {"x":9.75, "y":2},
282 {"x":10.75, "y":2},
283 {"x":11.75, "y":2},
284 {"x":12.75, "y":2, "w":2.25},
285 {"x":15, "y":2},
286
287 {"x":0, "y":3, "w":2.25},
288 {"x":2.25, "y":3},
289 {"x":3.25, "y":3},
290 {"x":4.25, "y":3},
291 {"x":5.25, "y":3},
292 {"x":6.25, "y":3},
293 {"x":7.25, "y":3},
294 {"x":8.25, "y":3},
295 {"x":9.25, "y":3},
296 {"x":10.25, "y":3},
297 {"x":11.25, "y":3},
298 {"x":12.25, "y":3, "w":1.75},
299 {"x":14, "y":3},
300 {"x":15, "y":3},
301
302 {"x":0, "y":4, "w":1.5},
303 {"x":1.5, "y":4},
304 {"x":2.5, "y":4, "w":1.5},
305 {"x":4, "y":4, "w":7},
306 {"x":11, "y":4, "w":1.5},
307 {"x":13, "y":4},
308 {"x":14, "y":4},
309 {"x":15, "y":4}
310 ]
311 },
312 "LAYOUT_65_iso": {
313 "layout": [
314 {"x":0, "y":0},
315 {"x":1, "y":0},
316 {"x":2, "y":0},
317 {"x":3, "y":0},
318 {"x":4, "y":0},
319 {"x":5, "y":0},
320 {"x":6, "y":0},
321 {"x":7, "y":0},
322 {"x":8, "y":0},
323 {"x":9, "y":0},
324 {"x":10, "y":0},
325 {"x":11, "y":0},
326 {"x":12, "y":0},
327 {"x":13, "y":0, "w":2},
328 {"x":15, "y":0},
329
330 {"x":0, "y":1, "w":1.5},
331 {"x":1.5, "y":1},
332 {"x":2.5, "y":1},
333 {"x":3.5, "y":1},
334 {"x":4.5, "y":1},
335 {"x":5.5, "y":1},
336 {"x":6.5, "y":1},
337 {"x":7.5, "y":1},
338 {"x":8.5, "y":1},
339 {"x":9.5, "y":1},
340 {"x":10.5, "y":1},
341 {"x":11.5, "y":1},
342 {"x":12.5, "y":1},
343 {"x":15, "y":1},
344
345 {"x":0, "y":2, "w":1.75},
346 {"x":1.75, "y":2},
347 {"x":2.75, "y":2},
348 {"x":3.75, "y":2},
349 {"x":4.75, "y":2},
350 {"x":5.75, "y":2},
351 {"x":6.75, "y":2},
352 {"x":7.75, "y":2},
353 {"x":8.75, "y":2},
354 {"x":9.75, "y":2},
355 {"x":10.75, "y":2},
356 {"x":11.75, "y":2},
357 {"x":12.75, "y":2},
358 {"x":13.75, "y":1, "w":1.25, "h":2},
359 {"x":15, "y":2},
360
361 {"x":0, "y":3, "w":1.25},
362 {"x":1.25, "y":3},
363 {"x":2.25, "y":3},
364 {"x":3.25, "y":3},
365 {"x":4.25, "y":3},
366 {"x":5.25, "y":3},
367 {"x":6.25, "y":3},
368 {"x":7.25, "y":3},
369 {"x":8.25, "y":3},
370 {"x":9.25, "y":3},
371 {"x":10.25, "y":3},
372 {"x":11.25, "y":3},
373 {"x":12.25, "y":3, "w":1.75},
374 {"x":14, "y":3},
375 {"x":15, "y":3},
376
377 {"x":0, "y":4, "w":1.25},
378 {"x":1.25, "y":4, "w":1.25},
379 {"x":2.5, "y":4, "w":1.25},
380 {"x":3.75, "y":4, "w":6.25},
381 {"x":10, "y":4},
382 {"x":11, "y":4},
383 {"x":12, "y":4},
384 {"x":13, "y":4},
385 {"x":14, "y":4},
386 {"x":15, "y":4}
387 ]
388 },
389 "LAYOUT_65_iso_blocker": {
390 "layout": [
391 {"x":0, "y":0},
392 {"x":1, "y":0},
393 {"x":2, "y":0},
394 {"x":3, "y":0},
395 {"x":4, "y":0},
396 {"x":5, "y":0},
397 {"x":6, "y":0},
398 {"x":7, "y":0},
399 {"x":8, "y":0},
400 {"x":9, "y":0},
401 {"x":10, "y":0},
402 {"x":11, "y":0},
403 {"x":12, "y":0},
404 {"x":13, "y":0, "w":2},
405 {"x":15, "y":0},
406
407 {"x":0, "y":1, "w":1.5},
408 {"x":1.5, "y":1},
409 {"x":2.5, "y":1},
410 {"x":3.5, "y":1},
411 {"x":4.5, "y":1},
412 {"x":5.5, "y":1},
413 {"x":6.5, "y":1},
414 {"x":7.5, "y":1},
415 {"x":8.5, "y":1},
416 {"x":9.5, "y":1},
417 {"x":10.5, "y":1},
418 {"x":11.5, "y":1},
419 {"x":12.5, "y":1},
420 {"x":15, "y":1},
421
422 {"x":0, "y":2, "w":1.75},
423 {"x":1.75, "y":2},
424 {"x":2.75, "y":2},
425 {"x":3.75, "y":2},
426 {"x":4.75, "y":2},
427 {"x":5.75, "y":2},
428 {"x":6.75, "y":2},
429 {"x":7.75, "y":2},
430 {"x":8.75, "y":2},
431 {"x":9.75, "y":2},
432 {"x":10.75, "y":2},
433 {"x":11.75, "y":2},
434 {"x":12.75, "y":2},
435 {"x":13.75, "y":1, "w":1.25, "h":2},
436 {"x":15, "y":2},
437
438 {"x":0, "y":3, "w":1.25},
439 {"x":1.25, "y":3},
440 {"x":2.25, "y":3},
441 {"x":3.25, "y":3},
442 {"x":4.25, "y":3},
443 {"x":5.25, "y":3},
444 {"x":6.25, "y":3},
445 {"x":7.25, "y":3},
446 {"x":8.25, "y":3},
447 {"x":9.25, "y":3},
448 {"x":10.25, "y":3},
449 {"x":11.25, "y":3},
450 {"x":12.25, "y":3, "w":1.75},
451 {"x":14, "y":3},
452 {"x":15, "y":3},
453
454 {"x":0, "y":4, "w":1.25},
455 {"x":1.25, "y":4, "w":1.25},
456 {"x":2.5, "y":4, "w":1.25},
457 {"x":3.75, "y":4, "w":6.25},
458 {"x":10, "y":4, "w":1.25},
459 {"x":11.25, "y":4, "w":1.25},
460 {"x":13, "y":4},
461 {"x":14, "y":4},
462 {"x":15, "y":4}
463 ]
464 },
465 "LAYOUT_65_iso_blocker_tsangan": {
466 "layout": [
467 {"x":0, "y":0},
468 {"x":1, "y":0},
469 {"x":2, "y":0},
470 {"x":3, "y":0},
471 {"x":4, "y":0},
472 {"x":5, "y":0},
473 {"x":6, "y":0},
474 {"x":7, "y":0},
475 {"x":8, "y":0},
476 {"x":9, "y":0},
477 {"x":10, "y":0},
478 {"x":11, "y":0},
479 {"x":12, "y":0},
480 {"x":13, "y":0, "w":2},
481 {"x":15, "y":0},
482
483 {"x":0, "y":1, "w":1.5},
484 {"x":1.5, "y":1},
485 {"x":2.5, "y":1},
486 {"x":3.5, "y":1},
487 {"x":4.5, "y":1},
488 {"x":5.5, "y":1},
489 {"x":6.5, "y":1},
490 {"x":7.5, "y":1},
491 {"x":8.5, "y":1},
492 {"x":9.5, "y":1},
493 {"x":10.5, "y":1},
494 {"x":11.5, "y":1},
495 {"x":12.5, "y":1},
496 {"x":15, "y":1},
497
498 {"x":0, "y":2, "w":1.75},
499 {"x":1.75, "y":2},
500 {"x":2.75, "y":2},
501 {"x":3.75, "y":2},
502 {"x":4.75, "y":2},
503 {"x":5.75, "y":2},
504 {"x":6.75, "y":2},
505 {"x":7.75, "y":2},
506 {"x":8.75, "y":2},
507 {"x":9.75, "y":2},
508 {"x":10.75, "y":2},
509 {"x":11.75, "y":2},
510 {"x":12.75, "y":2},
511 {"x":13.75, "y":1, "w":1.25, "h":2},
512 {"x":15, "y":2},
513
514 {"x":0, "y":3, "w":1.25},
515 {"x":1.25, "y":3},
516 {"x":2.25, "y":3},
517 {"x":3.25, "y":3},
518 {"x":4.25, "y":3},
519 {"x":5.25, "y":3},
520 {"x":6.25, "y":3},
521 {"x":7.25, "y":3},
522 {"x":8.25, "y":3},
523 {"x":9.25, "y":3},
524 {"x":10.25, "y":3},
525 {"x":11.25, "y":3},
526 {"x":12.25, "y":3, "w":1.75},
527 {"x":14, "y":3},
528 {"x":15, "y":3},
529
530 {"x":0, "y":4, "w":1.5},
531 {"x":1.5, "y":4},
532 {"x":2.5, "y":4, "w":1.5},
533 {"x":4, "y":4, "w":7},
534 {"x":11, "y":4, "w":1.5},
535 {"x":13, "y":4},
536 {"x":14, "y":4},
537 {"x":15, "y":4}
538 ]
539 }
540 }
541}
diff --git a/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c b/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c
new file mode 100644
index 000000000..867fb5ca9
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_GRV,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
26 ),
27 [1] = LAYOUT_all(
28 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
29 _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
30 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
31 _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
33 ),
34};
diff --git a/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c b/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c
new file mode 100644
index 000000000..247c7fadf
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_GRV,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
26 ),
27 [1] = LAYOUT_all(
28 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
29 _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______,
30 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
31 _______, _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
33 ),
34 [2] = LAYOUT_all(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
40 ),
41 [3] = LAYOUT_all(
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
47 ),
48};
diff --git a/keyboards/neokeys/g67/soldered/keymaps/via/rules.mk b/keyboards/neokeys/g67/soldered/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/neokeys/g67/soldered/readme.md b/keyboards/neokeys/g67/soldered/readme.md
new file mode 100644
index 000000000..5ac1196bd
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/readme.md
@@ -0,0 +1,21 @@
1# Palette G67 Soldered
2
3![Palette G67 Carbon](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/neokeys/palette_g67/PaletteCarbonG67.jpg)
4
5A blockered 65% with RGB underglow, USB Type C, and footprints for in-switch backlight.
6
7* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
8* Hardware Supported: Palette G67 Soldered (ATmega32U4)
9* Hardware Availability: [NEO Keys](https://www.neokeys.net/)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make neokeys/palette_g67/soldered:default
14
15Flashing example for this keyboard:
16
17 make neokeys/palette_g67/soldered:default:flash
18
19To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
20
21See 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/neokeys/g67/soldered/rules.mk b/keyboards/neokeys/g67/soldered/rules.mk
new file mode 100644
index 000000000..7ddf623a2
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/rules.mk
@@ -0,0 +1,24 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24LAYOUTS = 65_ansi 65_ansi_blocker 65_ansi_blocker_tsangan 65_iso 65_iso_blocker # 65_iso_blocker_tsangan
diff --git a/keyboards/neokeys/g67/soldered/soldered.c b/keyboards/neokeys/g67/soldered/soldered.c
new file mode 100644
index 000000000..a2c5a258a
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/soldered.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include "soldered.h"
diff --git a/keyboards/neokeys/g67/soldered/soldered.h b/keyboards/neokeys/g67/soldered/soldered.h
new file mode 100644
index 000000000..d68f07d2e
--- /dev/null
+++ b/keyboards/neokeys/g67/soldered/soldered.h
@@ -0,0 +1,117 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_all( \
22 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
23 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
24 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
25 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
26 K40, K41, K42, K47, K48, K49, K4B, K4C, K4D, K4F \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
31 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
32 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, K48, K49, KC_NO, K4B, K4C, K4D, KC_NO, K4F }, \
33}
34
35#define LAYOUT_65_ansi( \
36 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
37 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
38 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
39 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
40 K40, K41, K42, K47, K48, K49, K4B, K4C, K4D, K4F \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
46 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, K48, K49, KC_NO, K4B, K4C, K4D, KC_NO, K4F }, \
47}
48
49#define LAYOUT_65_ansi_blocker( \
50 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
51 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
52 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
54 K40, K41, K42, K47, K48, K49, K4C, K4D, K4F \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
60 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, K48, K49, KC_NO, KC_NO, K4C, K4D, KC_NO, K4F }, \
61}
62
63#define LAYOUT_65_ansi_blocker_tsangan( \
64 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
65 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
66 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
68 K40, K41, K42, K47, K49, K4C, K4D, K4F \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
74 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, KC_NO, KC_NO, K4C, K4D, KC_NO, K4F }, \
75}
76
77#define LAYOUT_65_iso( \
78 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
79 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
80 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
81 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
82 K40, K41, K42, K47, K48, K49, K4B, K4C, K4D, K4F \
83) { \
84 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
85 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \
86 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
87 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
88 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, K48, K49, KC_NO, K4B, K4C, K4D, KC_NO, K4F }, \
89}
90
91#define LAYOUT_65_iso_blocker( \
92 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
93 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
94 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
95 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
96 K40, K41, K42, K47, K48, K49, K4C, K4D, K4F \
97) { \
98 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
99 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \
100 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
101 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
102 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, K48, K49, KC_NO, KC_NO, K4C, K4D, KC_NO, K4F }, \
103}
104
105#define LAYOUT_65_iso_blocker_tsangan( \
106 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
107 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
108 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
109 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
110 K40, K41, K42, K47, K49, K4C, K4D, K4F \
111) { \
112 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
113 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \
114 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
115 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
116 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, KC_NO, KC_NO, K4C, K4D, KC_NO, K4F }, \
117}
diff --git a/keyboards/polycarbdiet/readme.md b/keyboards/polycarbdiet/readme.md
new file mode 100644
index 000000000..c928ebed5
--- /dev/null
+++ b/keyboards/polycarbdiet/readme.md
@@ -0,0 +1,6 @@
1# polycarbdiet
2QMK folder for custom PCB firmware.
3
4Github: polycarbdiet
5Discord: polycarb_diet
6Reddit: u/polycarb_diet
diff --git a/keyboards/polycarbdiet/s20/config.h b/keyboards/polycarbdiet/s20/config.h
new file mode 100644
index 000000000..58f998e76
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/config.h
@@ -0,0 +1,61 @@
1/* Copyright 2020 Muhammad Galib (polycarbdiet) <pd.keyboards@gmail.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x5040 // PD = polycarbdiet
23#define PRODUCT_ID 0x7320 // S20
24#define DEVICE_VER 0x0001
25#define MANUFACTURER polycarbdiet
26#define PRODUCT S20
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 4
31
32// 1 2 3 4 5
33#define MATRIX_ROW_PINS { B7, E6, D0, D1, D5 }
34#define MATRIX_COL_PINS { C6, C7, D4, D6 }
35#define UNUSED_PINS
36
37/* COL2ROW, ROW2COL */
38#define DIODE_DIRECTION ROW2COL
39
40#define BACKLIGHT_PIN B6
41#define BACKLIGHT_LEVELS 3
42#define BACKLIGHT_BREATHING
43
44#define RGB_DI_PIN B3
45#define RGBLED_NUM 4
46#define RGBLIGHT_HUE_STEP 8
47#define RGBLIGHT_SAT_STEP 8
48#define RGBLIGHT_VAL_STEP 8
49#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
50#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
51
52#define RGBLIGHT_ANIMATIONS
53
54#define DEBOUNCE 5
55
56/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
57#define LOCKING_SUPPORT_ENABLE
58/* Locking resynchronize hack */
59#define LOCKING_RESYNC_ENABLE
60
61#define FORCE_NKRO
diff --git a/keyboards/polycarbdiet/s20/info.json b/keyboards/polycarbdiet/s20/info.json
new file mode 100644
index 000000000..32407beea
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/info.json
@@ -0,0 +1,88 @@
1{
2 "keyboard_name": "S20 revA",
3 "url": "",
4 "maintainer": "polycarbdiet",
5 "width": 4,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":1},
16 {"x":1, "y":1},
17 {"x":2, "y":1},
18 {"x":3, "y":1},
19
20 {"x":0, "y":2},
21 {"x":1, "y":2},
22 {"x":2, "y":2},
23 {"x":3, "y":2},
24
25 {"x":0, "y":3},
26 {"x":1, "y":3},
27 {"x":2, "y":3},
28 {"x":3, "y":3},
29
30 {"x":0, "y":4},
31 {"x":1, "y":4},
32 {"x":2, "y":4},
33 {"x":3, "y":4}
34 ]
35 },
36 "LAYOUT_numpad_5x4":{
37 "layout": [
38 {"x":0, "y":0},
39 {"x":1, "y":0},
40 {"x":2, "y":0},
41 {"x":3, "y":0},
42
43 {"x":0, "y":1},
44 {"x":1, "y":1},
45 {"x":2, "y":1},
46
47 {"x":0, "y":2},
48 {"x":1, "y":2},
49 {"x":2, "y":2},
50 {"x":3, "y":1, "h":2},
51 {"x":0, "y":3},
52 {"x":1, "y":3},
53 {"x":2, "y":3},
54
55 {"x":0, "y":4, "w":2},
56 {"x":2, "y":4},
57 {"x":3, "y":3, "h":2}
58 ]
59 },
60 "LAYOUT_enter": {
61 "layout": [
62 {"x":0, "y":0},
63 {"x":1, "y":0},
64 {"x":2, "y":0},
65 {"x":3, "y":0},
66
67 {"x":0, "y":1},
68 {"x":1, "y":1},
69 {"x":2, "y":1},
70 {"x":3, "y":1},
71
72 {"x":0, "y":2},
73 {"x":1, "y":2},
74 {"x":2, "y":2},
75 {"x":3, "y":2},
76
77 {"x":0, "y":3},
78 {"x":1, "y":3},
79 {"x":2, "y":3},
80 {"x":3, "y":3, "h":2},
81
82 {"x":0, "y":4},
83 {"x":1, "y":4},
84 {"x":2, "y":4}
85 ]
86 }
87 }
88}
diff --git a/keyboards/polycarbdiet/s20/keymaps/default/keymap.c b/keyboards/polycarbdiet/s20/keymaps/default/keymap.c
new file mode 100644
index 000000000..b39920206
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
1/* Copyright 2020 Muhammad Galib (polycarbdiet) <pd.keyboards@gmail.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
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_ortho_5x4(
20 KC_ESC, KC_PAST, KC_PSLS, KC_BSPC,
21 KC_P7, KC_P8, KC_P9, KC_PMNS,
22 KC_P4, KC_P5, KC_P6, KC_PPLS,
23 KC_P1, KC_P2, KC_P3, KC_PENT,
24 KC_P0, KC_PDOT, MO(1), RGB_TOG
25 ),
26 [1] = LAYOUT_ortho_5x4(
27 KC_NLCK, KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS,
30 KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS,
31 RESET, MO(2), KC_TRNS, KC_TRNS
32 ),
33 [2] = LAYOUT_ortho_5x4(
34 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
35 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
36 BL_TOGG, BL_ON, BL_INC, BL_STEP,
37 KC_TRNS, BL_OFF, BL_DEC, BL_BRTG,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
39 ),
40 [3] = LAYOUT_ortho_5x4(
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
46 )
47};
diff --git a/keyboards/polycarbdiet/s20/keymaps/default/readme.md b/keyboards/polycarbdiet/s20/keymaps/default/readme.md
new file mode 100644
index 000000000..81c2266b4
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for S20
diff --git a/keyboards/polycarbdiet/s20/readme.md b/keyboards/polycarbdiet/s20/readme.md
new file mode 100644
index 000000000..7eb292771
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/readme.md
@@ -0,0 +1,27 @@
1# S20
2
3![S20](https://i.imgur.com/RvOACqR.jpg?1)
4
5The S20 keyboard is a FR4 sandwich keyboard which was orginally designed to add extra functionality to a user's current keyboard setup.
6
7* Keyboard Maintainer: [polycarbdiet](https://github.com/polycarbdiet)
8* Hardware Supported: S20 - FR4 sandwich MacroPad/NumberPad
9* Hardware Availability: Custom, limitied quantaties.
10
11Make example for this keyboard (after setting up your build environment):
12
13 make polycarbdiet/s20:default
14
15Flashing example for this keyboard:
16
17 make polycarbdiet/s20:default:flash
18
19**Reset Method:**
20- Press the `RESET` button on the under side of the PCB
21
22**Bootloader Method:**
23- Hold down the key located at `K00`, commonly programmed as `ESC`, while plugging in the keyboard.
24- Hold down the key located at `K00`, commonly programmed as `ESC`, and press the RESET button on the PCB.
25- Hold down the key located at `K42` and then press the key located at `K40`.
26
27See 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/polycarbdiet/s20/rules.mk b/keyboards/polycarbdiet/s20/rules.mk
new file mode 100644
index 000000000..152430af9
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8
9BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
10MOUSEKEY_ENABLE = yes # Mouse keys
11EXTRAKEY_ENABLE = yes # Audio control and System control
12CONSOLE_ENABLE = no # Console for debug
13COMMAND_ENABLE = no # Commands for debug and configuration
14# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
15SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
16# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
17NKRO_ENABLE = yes # USB Nkey Rollover
18BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
19RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
20BLUETOOTH_ENABLE = no # Enable Bluetooth
21AUDIO_ENABLE = no # Audio output
22
23LAYOUTS = ortho_5x4 numpad_5x4
diff --git a/keyboards/polycarbdiet/s20/s20.c b/keyboards/polycarbdiet/s20/s20.c
new file mode 100644
index 000000000..f7b3fa903
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/s20.c
@@ -0,0 +1,17 @@
1/* Copyright 2020 Muhammad Galib (polycarbdiet) <pd.keyboards@gmail.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
17#include "s20.h"
diff --git a/keyboards/polycarbdiet/s20/s20.h b/keyboards/polycarbdiet/s20/s20.h
new file mode 100644
index 000000000..0e3eec12e
--- /dev/null
+++ b/keyboards/polycarbdiet/s20/s20.h
@@ -0,0 +1,61 @@
1/* Copyright 2020 Muhammad Galib (polycarbdiet) <pd.keyboards@gmail.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
17#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_ortho_5x4( \
22 K00, K01, K02, K03, \
23 K10, K11, K12, K13, \
24 K20, K21, K22, K23, \
25 K30, K31, K32, K33, \
26 K40, K41, K42, K43 \
27) { \
28 { K00, K01, K02, K03 }, \
29 { K10, K11, K12, K13 }, \
30 { K20, K21, K22, K23 }, \
31 { K30, K31, K32, K33 }, \
32 { K40, K41, K42, K43 } \
33}
34
35#define LAYOUT_numpad_5x4( \
36 K00, K01, K02, K03, \
37 K10, K11, K12, \
38 K20, K21, K22, K13, \
39 K30, K31, K32, \
40 K40, K42, K33 \
41) { \
42 { K00, K01, K02, K03 }, \
43 { K10, K11, K12, K13 }, \
44 { K20, K21, K22, KC_NO }, \
45 { K30, K31, K32, K33 }, \
46 { K40, KC_NO, K42, KC_NO } \
47}
48
49#define LAYOUT_enter( \
50 K00, K01, K02, K03, \
51 K10, K11, K12, K13, \
52 K20, K21, K22, K23, \
53 K30, K31, K32, K33, \
54 K40, K41, K42 \
55) { \
56 { K00, K01, K02, K03 }, \
57 { K10, K11, K12, K13 }, \
58 { K20, K21, K22, K23 }, \
59 { K30, K31, K32, K33 }, \
60 { K40, K41, K42, KC_NO } \
61}
diff --git a/keyboards/ymdk/ymd40/v2/config.h b/keyboards/ymdk/ymd40/v2/config.h
new file mode 100644
index 000000000..926333f4e
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/config.h
@@ -0,0 +1,71 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x594D // "YM"
23#define PRODUCT_ID 0x4440 // "D" + 40
24#define DEVICE_VER 0x0001
25#define MANUFACTURER YMDK
26#define PRODUCT YMD40 v2
27
28/* key matrix size */
29#define MATRIX_ROWS 4
30#define MATRIX_COLS 12
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41 */
42#define MATRIX_ROW_PINS { D0, B3, B2, B1 }
43#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
44
45#define DIODE_DIRECTION COL2ROW
46
47#define BACKLIGHT_PIN B6
48#define BACKLIGHT_BREATHING
49#define BACKLIGHT_LEVELS 3
50
51#if defined(RGBLIGHT_ENABLE)
52 #define RGB_DI_PIN E2
53 #define RGBLED_NUM 8
54 #define RGBLIGHT_HUE_STEP 8
55 #define RGBLIGHT_SAT_STEP 8
56 #define RGBLIGHT_VAL_STEP 8
57 #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */
58 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
59/*== all animations enable ==*/
60 #define RGBLIGHT_ANIMATIONS
61// /*== or choose animations ==*/
62// #define RGBLIGHT_EFFECT_BREATHING
63// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
64// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
65// #define RGBLIGHT_EFFECT_SNAKE
66// #define RGBLIGHT_EFFECT_KNIGHT
67// #define RGBLIGHT_EFFECT_CHRISTMAS
68// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
69// #define RGBLIGHT_EFFECT_RGB_TEST
70// #define RGBLIGHT_EFFECT_ALTERNATING
71#endif
diff --git a/keyboards/ymdk/ymd40/v2/info.json b/keyboards/ymdk/ymd40/v2/info.json
new file mode 100644
index 000000000..7bb677e20
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/info.json
@@ -0,0 +1,64 @@
1{
2 "keyboard_name": "ymd40v2",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x12": {
9 "layout": [
10 {"label":"K00 (D0,F1)", "x":0, "y":0},
11 {"label":"K01 (D0,F0)", "x":1, "y":0},
12 {"label":"K02 (D0,B0)", "x":2, "y":0},
13 {"label":"K03 (D0,C7)", "x":3, "y":0},
14 {"label":"K04 (D0,F4)", "x":4, "y":0},
15 {"label":"K05 (D0,F5)", "x":5, "y":0},
16 {"label":"K06 (D0,F6)", "x":6, "y":0},
17 {"label":"K07 (D0,F7)", "x":7, "y":0},
18 {"label":"K08 (D0,D4)", "x":8, "y":0},
19 {"label":"K09 (D0,D6)", "x":9, "y":0},
20 {"label":"K0A (D0,B4)", "x":10, "y":0},
21 {"label":"K0B (D0,D7)", "x":11, "y":0},
22
23 {"label":"K10 (B3,F1)", "x":0, "y":1},
24 {"label":"K11 (B3,F0)", "x":1, "y":1},
25 {"label":"K12 (B3,B0)", "x":2, "y":1},
26 {"label":"K13 (B3,C7)", "x":3, "y":1},
27 {"label":"K14 (B3,F4)", "x":4, "y":1},
28 {"label":"K15 (B3,F5)", "x":5, "y":1},
29 {"label":"K16 (B3,F6)", "x":6, "y":1},
30 {"label":"K17 (B3,F7)", "x":7, "y":1},
31 {"label":"K18 (B3,D4)", "x":8, "y":1},
32 {"label":"K19 (B3,D6)", "x":9, "y":1},
33 {"label":"K1A (B3,B4)", "x":10, "y":1},
34 {"label":"K1B (B3,D7)", "x":11, "y":1},
35
36 {"label":"K20 (B2,F1)", "x":0, "y":2},
37 {"label":"K21 (B2,F0)", "x":1, "y":2},
38 {"label":"K22 (B2,B0)", "x":2, "y":2},
39 {"label":"K23 (B2,C7)", "x":3, "y":2},
40 {"label":"K24 (B2,F4)", "x":4, "y":2},
41 {"label":"K25 (B2,F5)", "x":5, "y":2},
42 {"label":"K26 (B2,F6)", "x":6, "y":2},
43 {"label":"K27 (B2,F7)", "x":7, "y":2},
44 {"label":"K28 (B2,D4)", "x":8, "y":2},
45 {"label":"K29 (B2,D6)", "x":9, "y":2},
46 {"label":"K2A (B2,B4)", "x":10, "y":2},
47 {"label":"K2B (B2,D7)", "x":11, "y":2},
48
49 {"label":"K30 (B1,F1)", "x":0, "y":3},
50 {"label":"K31 (B1,F0)", "x":1, "y":3},
51 {"label":"K32 (B1,B0)", "x":2, "y":3},
52 {"label":"K33 (B1,C7)", "x":3, "y":3},
53 {"label":"K34 (B1,F4)", "x":4, "y":3},
54 {"label":"K35 (B1,F5)", "x":5, "y":3},
55 {"label":"K36 (B1,F6)", "x":6, "y":3},
56 {"label":"K37 (B1,F7)", "x":7, "y":3},
57 {"label":"K38 (B1,D4)", "x":8, "y":3},
58 {"label":"K39 (B1,D6)", "x":9, "y":3},
59 {"label":"K3A (B1,B4)", "x":10, "y":3},
60 {"label":"K3B (B1,D7)", "x":11, "y":3}
61 ]
62 }
63 }
64}
diff --git a/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c b/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c
new file mode 100644
index 000000000..10d9385cf
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include QMK_KEYBOARD_H
18
19enum layer_names {
20 _QWERTY,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_QWERTY] = LAYOUT_ortho_4x12(
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
29 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
30 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
31 KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_UP, KC_LEFT, KC_DOWN, KC_RGHT
32 ),
33 [_LOWER] = LAYOUT_ortho_4x12(
34 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
35 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
36 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
38 ),
39 [_RAISE] = LAYOUT_ortho_4x12(
40 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
41 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
42 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
44 ),
45 [_ADJUST] = LAYOUT_ortho_4x12(
46 RESET, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, DEBUG,
47 _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
48 _______, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, _______, _______, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
50 )
51};
52
53layer_state_t layer_state_set_user(layer_state_t state) {
54 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
55}
diff --git a/keyboards/ymdk/ymd40/v2/keymaps/default/readme.md b/keyboards/ymdk/ymd40/v2/keymaps/default/readme.md
new file mode 100644
index 000000000..952866354
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for YMD40 v2
diff --git a/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c b/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c
new file mode 100644
index 000000000..3c7de8bc6
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/keymaps/factory/keymap.c
@@ -0,0 +1,32 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_ortho_4x12(
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
22 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
24 KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, KC_DEL, KC_SPC, KC_SPC, RGB_MOD, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT
25 ),
26 [1] = LAYOUT_ortho_4x12(
27 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
31 ),
32};
diff --git a/keyboards/ymdk/ymd40/v2/keymaps/factory/readme.md b/keyboards/ymdk/ymd40/v2/keymaps/factory/readme.md
new file mode 100644
index 000000000..923396165
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/keymaps/factory/readme.md
@@ -0,0 +1,3 @@
1# The factory keymap for YMD40 v2
2
3This is the keymap assigned by the KBFirmware-format JSON file distributed by the vendor. This is included mainly for reference; if you wish to create your own keymap, the `default` keymap is a better starting point.
diff --git a/keyboards/ymdk/ymd40/v2/readme.md b/keyboards/ymdk/ymd40/v2/readme.md
new file mode 100644
index 000000000..153853c9f
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/readme.md
@@ -0,0 +1,22 @@
1# YMD40 v2
2
3![YMD40 v2](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/ymdk/ymd40/v2/ymdk_ymd40_v2_00.jpg)\
4[PCB photo](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/ymdk/ymd40/v2/ymdk_ymd40_v2_pcb.jpg)
5
6A 40% ortholinear keyboard with in-switch LED support, underglow, and USB Type C.
7
8* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
9* Hardware Supported: YMD40v2 PCB (ATmega32U4)
10* Hardware Availability: [AliExpress](https://www.aliexpress.com/i/32821953148.html), [ymdkey.com](https://ymdkey.com/collections/40-mini-diy/products/ymd40-v2-diy-kit-qmk-type-c-pcb-cnc-case-plate-for-40-mini-cute-mechanical-keyboard-similar-to-planck-layout)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make ymdk/ymd40/v2:default
15
16Flashing example for this keyboard:
17
18 make ymdk/ymd40/v2:default:flash
19
20To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
21
22See 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/ymdk/ymd40/v2/rules.mk b/keyboards/ymdk/ymd40/v2/rules.mk
new file mode 100644
index 000000000..7c7c443c9
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/rules.mk
@@ -0,0 +1,28 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24KEY_LOCK_ENABLE = no # Enable KC_LOCK support
25
26AUDIO_SUPPORTED = no
27
28LAYOUTS = ortho_4x12
diff --git a/keyboards/ymdk/ymd40/v2/v2.c b/keyboards/ymdk/ymd40/v2/v2.c
new file mode 100644
index 000000000..54450ccd1
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/v2.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#include "v2.h"
diff --git a/keyboards/ymdk/ymd40/v2/v2.h b/keyboards/ymdk/ymd40/v2/v2.h
new file mode 100644
index 000000000..6d524e073
--- /dev/null
+++ b/keyboards/ymdk/ymd40/v2/v2.h
@@ -0,0 +1,31 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
17#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_ortho_4x12( \
22 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
23 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
24 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
25 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B \
26) { \
27 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
28 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
29 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
30 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B }, \
31}