aboutsummaryrefslogtreecommitdiff
path: root/keyboards/canary
diff options
context:
space:
mode:
authorAnthonyNguyen168 <89651736+AnthonyNguyen168@users.noreply.github.com>2021-09-11 12:49:45 +0700
committerGitHub <noreply@github.com>2021-09-10 22:49:45 -0700
commit047291728d727510184dc51586bf1cad40c2792b (patch)
tree149c8695a8062b80039f1d301dcd6b0892ce4f3f /keyboards/canary
parent46f15cd1a533cce8c9f7a406b1e6ee6765e48a20 (diff)
downloadqmk_firmware-047291728d727510184dc51586bf1cad40c2792b.tar.gz
qmk_firmware-047291728d727510184dc51586bf1cad40c2792b.zip
[Keyboard] New PCB Canary60RGB from CanaryTeam (#14321)
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/canary')
-rw-r--r--keyboards/canary/canary60rgb/canary60rgb.c117
-rw-r--r--keyboards/canary/canary60rgb/canary60rgb.h34
-rw-r--r--keyboards/canary/canary60rgb/config.h18
-rw-r--r--keyboards/canary/canary60rgb/info.json78
-rw-r--r--keyboards/canary/canary60rgb/keymaps/default/keymap.c47
-rw-r--r--keyboards/canary/canary60rgb/keymaps/via/config.h19
-rw-r--r--keyboards/canary/canary60rgb/keymaps/via/keymap.c54
-rw-r--r--keyboards/canary/canary60rgb/keymaps/via/rules.mk2
-rw-r--r--keyboards/canary/canary60rgb/readme.md17
-rw-r--r--keyboards/canary/canary60rgb/v1/config.h95
-rw-r--r--keyboards/canary/canary60rgb/v1/rules.mk24
11 files changed, 505 insertions, 0 deletions
diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/canary60rgb.c
new file mode 100644
index 000000000..c59a0d321
--- /dev/null
+++ b/keyboards/canary/canary60rgb/canary60rgb.c
@@ -0,0 +1,117 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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 "canary60rgb.h"
17
18#ifdef RGB_MATRIX_ENABLE
19const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
20 { 0, K_14, J_14, L_14 },
21 { 0, K_13, J_13, L_13 },
22 { 0, K_12, J_12, L_12 },
23 { 0, K_11, J_11, L_11 },
24 { 0, K_10, J_10, L_10 },
25 { 0, K_9, J_9, L_9 },
26 { 0, K_8, J_8, L_8 },
27 { 0, K_7, J_7, L_7 },
28 { 0, K_6, J_6, L_6 },
29 { 0, K_5, J_5, L_5 },
30 { 0, K_4, J_4, L_4 },
31 { 0, K_3, J_3, L_3 },
32 { 0, K_2, J_2, L_2 },
33 { 0, K_1, J_1, L_1 },
34
35 { 0, H_14, G_14, I_14 },
36 { 0, H_13, G_13, I_13 },
37 { 0, H_12, G_12, I_12 },
38 { 0, H_11, G_11, I_11 },
39 { 0, H_10, G_10, I_10 },
40 { 0, H_9, G_9, I_9 },
41 { 0, H_8, G_8, I_8 },
42 { 0, H_7, G_7, I_7 },
43 { 0, H_6, G_6, I_6 },
44 { 0, H_5, G_5, I_5 },
45 { 0, H_4, G_4, I_4 },
46 { 0, H_3, G_3, I_3 },
47 { 0, H_2, G_2, I_2 },
48 { 0, H_1, G_1, I_1 },
49
50 { 0, E_14, D_14, F_14 },
51 { 0, E_12, D_12, F_12 },
52 { 0, E_11, D_11, F_11 },
53 { 0, E_10, D_10, F_10 },
54 { 0, E_9, D_9, F_9 },
55 { 0, E_8, D_8, F_8 },
56 { 0, E_7, D_7, F_7 },
57 { 0, E_6, D_6, F_6 },
58 { 0, E_5, D_5, F_5 },
59 { 0, E_4, D_4, F_4 },
60 { 0, E_3, D_3, F_3 },
61 { 0, E_2, D_2, F_2 },
62 { 0, E_1, D_1, F_1 },
63
64 { 0, B_14, A_14, C_14 },
65 { 0, B_13, A_13, C_13 },
66 { 0, B_11, A_11, C_11 },
67 { 0, B_10, A_10, C_10 },
68 { 0, B_9, A_9, C_9 },
69 { 0, B_8, A_8, C_8 },
70 { 0, B_7, A_7, C_7 },
71 { 0, B_6, A_6, C_6 },
72 { 0, B_5, A_5, C_5 },
73 { 0, B_4, A_4, C_4 },
74 { 0, B_3, A_3, C_3 },
75 { 0, B_2, A_2, C_2 },
76 { 0, B_1, A_1, C_1 },
77
78 { 0, B_15, A_15, C_15 },
79 { 0, E_13, D_13, F_13 },
80 { 0, B_12, A_12, C_12 },
81 { 0, E_15, D_15, F_15 },
82 { 0, H_15, G_15, I_15 },
83 { 0, B_16, A_16, C_16 },
84 { 0, E_16, D_16, F_16 },
85 { 0, H_16, G_16, I_16 },
86 { 0, K_16, J_16, L_16 }
87};
88
89led_config_t g_led_config = {
90 {
91 { 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 },
92 { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 },
93 { 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, NO_LED, 28 },
94 { 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, NO_LED, 41 },
95 { 62, 61, 60, NO_LED, NO_LED, 59, NO_LED, NO_LED, 58, 57, 56, 55, NO_LED, 54 }
96 }, {
97 { 216, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 },
98 { 220, 16 }, { 200, 16 }, { 184, 16 }, { 168, 16 }, { 152, 16 }, { 136, 16 }, { 120, 16 }, { 104, 16 }, { 88, 16 }, { 72, 16 }, { 56, 16 }, { 40, 16 }, { 24, 16 }, { 4, 16 },
99 { 214, 32 }, { 188, 32 }, { 172, 32 }, { 156, 32 }, { 140, 32 }, { 124, 32 }, { 108, 32 }, { 92, 32 }, { 76, 32 }, { 60, 32 }, { 44, 32 }, { 28, 32 }, { 6, 32 },
100 { 224, 48 }, { 208, 48 }, { 186, 48 }, { 164, 48 }, { 148, 48 }, { 132, 48 }, { 116, 48 }, { 100, 48 }, { 84, 48 }, { 68, 48 }, { 52, 48 }, { 36, 48 }, { 9, 48 },
101 { 224, 64 }, { 208, 64 }, { 192, 64 }, { 176, 64 }, { 160, 64 }, { 102, 64 }, { 42, 64 }, { 22, 64 }, { 2, 64 }
102 }, {
103 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
104 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
105 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
106 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
107 1, 1, 1, 1, 1, 4, 1, 1, 1
108 }
109};
110
111__attribute__ ((weak))
112void rgb_matrix_indicators_user(void) {
113 if (host_keyboard_led_state().caps_lock) {
114 rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
115 }
116}
117#endif
diff --git a/keyboards/canary/canary60rgb/canary60rgb.h b/keyboards/canary/canary60rgb/canary60rgb.h
new file mode 100644
index 000000000..59c677c5d
--- /dev/null
+++ b/keyboards/canary/canary60rgb/canary60rgb.h
@@ -0,0 +1,34 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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 #pragma once
17
18#include "quantum.h"
19
20#define XXX KC_NO
21
22#define LAYOUT( \
23 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
24 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
25 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
26 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
27 K40, K41, K42, K45, K48, K49, K4A, K4B, K4D \
28) { \
29 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
30 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
31 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
32 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
33 { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D } \
34}
diff --git a/keyboards/canary/canary60rgb/config.h b/keyboards/canary/canary60rgb/config.h
new file mode 100644
index 000000000..3666ea194
--- /dev/null
+++ b/keyboards/canary/canary60rgb/config.h
@@ -0,0 +1,18 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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 #pragma once
17
18#include "config_common.h"
diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json
new file mode 100644
index 000000000..b2526b332
--- /dev/null
+++ b/keyboards/canary/canary60rgb/info.json
@@ -0,0 +1,78 @@
1{
2 "keyboard_name": "CANARY60RGB",
3 "url": "",
4 "maintainer": "canary",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [
8 {"x":0, "y":0},
9 {"x":1, "y":0},
10 {"x":2, "y":0},
11 {"x":3, "y":0},
12 {"x":4, "y":0},
13 {"x":5, "y":0},
14 {"x":6, "y":0},
15 {"x":7, "y":0},
16 {"x":8, "y":0},
17 {"x":9, "y":0},
18 {"x":10, "y":0},
19 {"x":11, "y":0},
20 {"x":12, "y":0},
21 {"x":13, "y":0, "w":2},
22
23 {"x":0, "y":1, "w":1.5},
24 {"x":1.5, "y":1},
25 {"x":2.5, "y":1},
26 {"x":3.5, "y":1},
27 {"x":4.5, "y":1},
28 {"x":5.5, "y":1},
29 {"x":6.5, "y":1},
30 {"x":7.5, "y":1},
31 {"x":8.5, "y":1},
32 {"x":9.5, "y":1},
33 {"x":10.5, "y":1},
34 {"x":11.5, "y":1},
35 {"x":12.5, "y":1},
36 {"x":13.5, "y":1, "w":1.5},
37
38 {"x":0, "y":2, "w":1.75},
39 {"x":1.75, "y":2},
40 {"x":2.75, "y":2},
41 {"x":3.75, "y":2},
42 {"x":4.75, "y":2},
43 {"x":5.75, "y":2},
44 {"x":6.75, "y":2},
45 {"x":7.75, "y":2},
46 {"x":8.75, "y":2},
47 {"x":9.75, "y":2},
48 {"x":10.75, "y":2},
49 {"x":11.75, "y":2},
50 {"x":12.75, "y":2, "w":2.25},
51
52 {"x":0, "y":3, "w":2.25},
53 {"x":2.25, "y":3},
54 {"x":3.25, "y":3},
55 {"x":4.25, "y":3},
56 {"x":5.25, "y":3},
57 {"x":6.25, "y":3},
58 {"x":7.25, "y":3},
59 {"x":8.25, "y":3},
60 {"x":9.25, "y":3},
61 {"x":10.25, "y":3},
62 {"x":11.25, "y":3, "w":1.75},
63 {"x":13, "y":3},
64 {"x":14, "y":3},
65
66 {"x":0, "y":4, "w":1.25},
67 {"x":1.25, "y":4, "w":1.25},
68 {"x":2.5, "y":4, "w":1.25},
69 {"x":3.75, "y":4, "w":6.25},
70 {"x":10, "y":4},
71 {"x":11, "y":4},
72 {"x":12, "y":4},
73 {"x":13, "y":4},
74 {"x":14, "y":4}
75 ]
76 }
77 }
78}
diff --git a/keyboards/canary/canary60rgb/keymaps/default/keymap.c b/keyboards/canary/canary60rgb/keymaps/default/keymap.c
new file mode 100644
index 000000000..62c9971c3
--- /dev/null
+++ b/keyboards/canary/canary60rgb/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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(
20 KC_GESC, 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,
21 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,
22 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,
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
24 KC_LCTL, KC_LGUI, LM(1, MOD_LALT), KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
25 ),
26 [1] = LAYOUT(
27 _______, 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_DEL,
28 _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
29 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST,
30 _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
31 _______, _______, TO(3), TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
32 ),
33 [2] = LAYOUT(
34 _______, 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_DEL,
35 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
36 _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______
39 ),
40 [3] = LAYOUT(
41 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______,
42 _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, TO(0),
43 _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT,
44 _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
45 _______, KC_P0, KC_PDOT, KC_PENT, KC_P0, KC_PDOT, _______, _______, _______
46 )
47};
diff --git a/keyboards/canary/canary60rgb/keymaps/via/config.h b/keyboards/canary/canary60rgb/keymaps/via/config.h
new file mode 100644
index 000000000..452510f79
--- /dev/null
+++ b/keyboards/canary/canary60rgb/keymaps/via/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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#define DISABLE_RGB_MATRIX_PIXEL_FLOW
diff --git a/keyboards/canary/canary60rgb/keymaps/via/keymap.c b/keyboards/canary/canary60rgb/keymaps/via/keymap.c
new file mode 100644
index 000000000..6ecc731da
--- /dev/null
+++ b/keyboards/canary/canary60rgb/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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(
20 KC_GESC, 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,
21 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,
22 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,
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
24 KC_LCTL, KC_LGUI, LM(1, MOD_LALT), KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
25 ),
26 [1] = LAYOUT(
27 _______, 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_DEL,
28 _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
29 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST,
30 _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
31 _______, _______, TO(3), TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
32 ),
33 [2] = LAYOUT(
34 _______, 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_DEL,
35 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
36 _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______
39 ),
40 [3] = LAYOUT(
41 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______,
42 _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, TO(0),
43 _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT,
44 _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
45 _______, KC_P0, KC_PDOT, KC_PENT, KC_P0, KC_PDOT, _______, _______, _______
46 ),
47 [4] = LAYOUT(
48 KC_GESC, 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,
49 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,
50 CTL_T(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,
51 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
52 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, TO(0), KC_LEFT, KC_DOWN, KC_RGHT
53 )
54};
diff --git a/keyboards/canary/canary60rgb/keymaps/via/rules.mk b/keyboards/canary/canary60rgb/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/canary/canary60rgb/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/canary/canary60rgb/readme.md b/keyboards/canary/canary60rgb/readme.md
new file mode 100644
index 000000000..a52745302
--- /dev/null
+++ b/keyboards/canary/canary60rgb/readme.md
@@ -0,0 +1,17 @@
1# CANARY60RGB
2
3![canary60rgb1](https://github.com/AnthonyNguyen168/keyboards/blob/main/2.jpg)
4![canary60rgb2](https://github.com/AnthonyNguyen168/keyboards/blob/main/3.jpg)
5
6A hotswap 60% RGB keyboard.
7
8* Keyboard Maintainer: [AnthonyNguyen168](https://github.com/AnthonyNguyen168)
9* Hardware Supported: CanaryTeam CANARY60RGB V1
10* Hardware Availability: [CanaryTeam](https://www.facebook.com/CanaryTeam/) (https://shopee.vn/M%E1%BA%A1ch-b%C3%A0n-ph%C3%ADm-Canary60RGB-PCB-Layout-60--i.196623820.5093520199)
11* To reset the board into bootloader mode: press Reset hardware button or hold FN + Backslash (layer 1 RESET key)
12
13
14Make example for this keyboard (after setting up your build environment):
15 make canary/canary60rgb/v1:default # AVR (ATmega32U4)
16
17See 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/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h
new file mode 100644
index 000000000..5097ea654
--- /dev/null
+++ b/keyboards/canary/canary60rgb/v1/config.h
@@ -0,0 +1,95 @@
1/* Copyright 2021 CANARYTEAM <tuananhnguyen204@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 #pragma once
17
18/* USB Device descriptor parameter */
19#define VENDOR_ID 0x4341
20#define PRODUCT_ID 0x0621
21#define DEVICE_VER 0x0001
22#define MANUFACTURER CANARY
23#define PRODUCT CANARY60RGB
24
25/* key matrix size */
26#define MATRIX_ROWS 5
27#define MATRIX_COLS 14
28
29/*
30 * Keyboard Matrix Assignments
31 *
32 * Change this to how you wired your keyboard
33 * COLS: AVR pins used for columns, left to right
34 * ROWS: AVR pins used for rows, top to bottom
35 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
36 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
37 *
38 */
39#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 }
40#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
41#define UNUSED_PINS
42
43/* COL2ROW, ROW2COL*/
44#define DIODE_DIRECTION COL2ROW
45
46#define RGB_DI_PIN B6
47#ifdef RGB_DI_PIN
48# define RGBLIGHT_EFFECT_BREATHING
49# define RGBLIGHT_EFFECT_RAINBOW_MOOD
50# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
51# define RGBLIGHT_EFFECT_SNAKE
52# define RGBLIGHT_EFFECT_KNIGHT
53# define RGBLIGHT_EFFECT_CHRISTMAS
54# define RGBLIGHT_EFFECT_STATIC_GRADIENT
55# define RGBLIGHT_EFFECT_RGB_TEST
56# define RGBLIGHT_EFFECT_ALTERNATING
57# define RGBLIGHT_EFFECT_TWINKLE
58# define RGBLED_NUM 12
59# define RGBLIGHT_HUE_STEP 8
60# define RGBLIGHT_SAT_STEP 8
61# define RGBLIGHT_VAL_STEP 8
62# define RGBLIGHT_SLEEP
63#endif
64
65/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
66#define DEBOUNCE 5
67
68/* disable these deprecated features by default */
69#define NO_ACTION_MACRO
70#define NO_ACTION_FUNCTION
71
72#ifdef RGB_MATRIX_ENABLE
73# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
74# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
75# define RGB_MATRIX_KEYPRESSES
76# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
77# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
78# define DISABLE_RGB_MATRIX_BAND_SAT
79# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
80# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
81# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
82# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
83# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
84# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
85# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
86# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
87# define DISABLE_RGB_MATRIX_SPLASH
88# define DISABLE_RGB_MATRIX_MULTISPLASH
89# define DISABLE_RGB_MATRIX_SOLID_SPLASH
90# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
91# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
92# define DRIVER_ADDR_1 0b1010000
93# define DRIVER_COUNT 1
94# define DRIVER_LED_TOTAL 63
95#endif
diff --git a/keyboards/canary/canary60rgb/v1/rules.mk b/keyboards/canary/canary60rgb/v1/rules.mk
new file mode 100644
index 000000000..31d83651f
--- /dev/null
+++ b/keyboards/canary/canary60rgb/v1/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 = yes # Enable Bootmagic Lite
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 = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23RGB_MATRIX_ENABLE = yes # Use RGB matrix
24RGB_MATRIX_DRIVER = IS31FL3733