aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kannan <andrew.kannan@gmail.com>2021-05-11 20:52:15 -0400
committerGitHub <noreply@github.com>2021-05-12 10:52:15 +1000
commit9a3f4f8f8a3090b3783dfd60a75cd8120ec30e65 (patch)
tree37e18afe77c54257c426d516ffbb39699c83cdc6
parente9aee3bfd04920150b96208bd81877e1c962fe27 (diff)
downloadqmk_firmware-9a3f4f8f8a3090b3783dfd60a75cd8120ec30e65.tar.gz
qmk_firmware-9a3f4f8f8a3090b3783dfd60a75cd8120ec30e65.zip
Some fixes for the Bakeneko variant DB60s (#12662)
* Some fixes for the Bakeneko variant DB60s * Add copyright to header * Add .python-version to gitignore for people who use pyenv or similar * update readme * Add more readmes * Add more readmes * Update the versions to have different product IDs * Update readme * Add missing rules.mk * Fix matrix on hotswap * remove iso from hotswap * Fix hotswap spacebar * Revert gitignore changes * Fix layouts * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * Add split configs * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * Add license to config * or equivalent Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/cannonkeys/db60/config.h2
-rw-r--r--keyboards/cannonkeys/db60/db60.h82
-rw-r--r--keyboards/cannonkeys/db60/hotswap/config.h21
-rw-r--r--keyboards/cannonkeys/db60/hotswap/hotswap.h63
-rw-r--r--keyboards/cannonkeys/db60/hotswap/readme.md12
-rw-r--r--keyboards/cannonkeys/db60/hotswap/rules.mk1
-rw-r--r--keyboards/cannonkeys/db60/j02/config.h21
-rw-r--r--keyboards/cannonkeys/db60/j02/j02.h77
-rw-r--r--keyboards/cannonkeys/db60/j02/readme.md12
-rw-r--r--keyboards/cannonkeys/db60/j02/rules.mk1
-rw-r--r--keyboards/cannonkeys/db60/keymaps/via/keymap.c4
-rw-r--r--keyboards/cannonkeys/db60/readme.md17
-rw-r--r--keyboards/cannonkeys/db60/rev2/config.h21
-rw-r--r--keyboards/cannonkeys/db60/rev2/readme.md12
-rw-r--r--keyboards/cannonkeys/db60/rev2/rev2.h77
-rw-r--r--keyboards/cannonkeys/db60/rev2/rules.mk1
-rw-r--r--keyboards/cannonkeys/db60/rules.mk6
17 files changed, 361 insertions, 69 deletions
diff --git a/keyboards/cannonkeys/db60/config.h b/keyboards/cannonkeys/db60/config.h
index 449aa1457..db7269071 100644
--- a/keyboards/cannonkeys/db60/config.h
+++ b/keyboards/cannonkeys/db60/config.h
@@ -19,11 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
21#define VENDOR_ID 0xCA04 21#define VENDOR_ID 0xCA04
22#define PRODUCT_ID 0xDB60
23#define DEVICE_VER 0x0001 22#define DEVICE_VER 0x0001
24 23
25#define MANUFACTURER CannonKeys 24#define MANUFACTURER CannonKeys
26#define PRODUCT DB60
27 25
28#define MATRIX_ROWS 5 26#define MATRIX_ROWS 5
29#define MATRIX_COLS 15 27#define MATRIX_COLS 15
diff --git a/keyboards/cannonkeys/db60/db60.h b/keyboards/cannonkeys/db60/db60.h
index 741ab7d0e..b0d5105e9 100644
--- a/keyboards/cannonkeys/db60/db60.h
+++ b/keyboards/cannonkeys/db60/db60.h
@@ -1,61 +1,23 @@
1#pragma once 1 /* Copyright 2021 Andrew Kannan
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 */
2 16
3#include "quantum.h" 17#if defined(KEYBOARD_cannonkeys_db60_j02)
4 18 #include "j02.h"
5#define KNO KC_NO 19#elif defined(KEYBOARD_cannonkeys_db60_hotswap)
6 20 #include "hotswap.h"
7#define LAYOUT_60_ansi( \ 21#else
8 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ 22 #include "rev2.h"
9 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ 23#endif
10 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
11 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
12 K40, K41, K42, K45, K4A, K4B, K4C, K4E \
13) { \
14 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \
15 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
16 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
17 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
18 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
19}
20
21#define LAYOUT_60_tsangan_hhkb( \
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, K1E, \
24 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
25 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
26 K40, K41, K42, K45, K4B, K4C, 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, KNO, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
31 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
32 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \
33}
34
35#define LAYOUT_60_iso( \
36 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
37 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
38 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
39 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
40 K40, K41, K42, K45, K4A, K4B, K4C, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, KNO }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
45 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
46 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
47}
48
49#define LAYOUT_all( \
50 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
51 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
52 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
53 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
54 K40, K41, K42, K45, K4A, K4B, K4C, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
59 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
60 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
61}
diff --git a/keyboards/cannonkeys/db60/hotswap/config.h b/keyboards/cannonkeys/db60/hotswap/config.h
new file mode 100644
index 000000000..3ea969340
--- /dev/null
+++ b/keyboards/cannonkeys/db60/hotswap/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2021 Andrew Kannan
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define PRODUCT_ID 0xDB62
21#define PRODUCT DB60 Hotswap
diff --git a/keyboards/cannonkeys/db60/hotswap/hotswap.h b/keyboards/cannonkeys/db60/hotswap/hotswap.h
new file mode 100644
index 000000000..84e3528fd
--- /dev/null
+++ b/keyboards/cannonkeys/db60/hotswap/hotswap.h
@@ -0,0 +1,63 @@
1 /* Copyright 2021 Andrew Kannan
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 KNO KC_NO
22
23#define LAYOUT_60_ansi( \
24 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
25 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
26 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
27 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
28 K40, K41, K42, K46, K4A, K4B, K4C, K4E \
29) { \
30 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KNO, K0E}, \
31 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
32 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
33 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
34 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
35}
36
37#define LAYOUT_60_tsangan_hhkb( \
38 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
39 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
40 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
41 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
42 K40, K41, K42, K46, K4B, K4C, K4E \
43) { \
44 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
45 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
46 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
47 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
48 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \
49}
50
51#define LAYOUT_all( \
52 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
53 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
54 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
55 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
56 K40, K41, K42, K46, K4A, K4B, K4C, K4E \
57) { \
58 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
59 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
60 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
61 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
62 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
63}
diff --git a/keyboards/cannonkeys/db60/hotswap/readme.md b/keyboards/cannonkeys/db60/hotswap/readme.md
new file mode 100644
index 000000000..818d02d06
--- /dev/null
+++ b/keyboards/cannonkeys/db60/hotswap/readme.md
@@ -0,0 +1,12 @@
1# CannonKeys DB60
2
3DB60 "Daughterboard 60" Keyboard
4
5* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
6* Hardware Supported: STM32F072CBT6 (or equivalent)
7
8Make example for this keyboard (after setting up your build environment):
9
10 make cannonkeys/db60/j02:default
11
12See 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/cannonkeys/db60/hotswap/rules.mk b/keyboards/cannonkeys/db60/hotswap/rules.mk
new file mode 100644
index 000000000..b6e5c668f
--- /dev/null
+++ b/keyboards/cannonkeys/db60/hotswap/rules.mk
@@ -0,0 +1 @@
LAYOUTS = 60_ansi 60_tsangan_hhkb
diff --git a/keyboards/cannonkeys/db60/j02/config.h b/keyboards/cannonkeys/db60/j02/config.h
new file mode 100644
index 000000000..392cec3a5
--- /dev/null
+++ b/keyboards/cannonkeys/db60/j02/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2021 Andrew Kannan
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define PRODUCT_ID 0xDB60
21#define PRODUCT DB60
diff --git a/keyboards/cannonkeys/db60/j02/j02.h b/keyboards/cannonkeys/db60/j02/j02.h
new file mode 100644
index 000000000..0b8545608
--- /dev/null
+++ b/keyboards/cannonkeys/db60/j02/j02.h
@@ -0,0 +1,77 @@
1 /* Copyright 2021 Andrew Kannan
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 KNO KC_NO
22
23#define LAYOUT_60_ansi( \
24 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
25 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
26 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
27 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
28 K40, K41, K42, K45, K4A, K4B, K4C, K4E \
29) { \
30 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \
31 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
32 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
33 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
34 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
35}
36
37#define LAYOUT_60_tsangan_hhkb( \
38 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
39 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
40 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
41 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
42 K40, K41, K42, K45, K4B, K4C, K4E \
43) { \
44 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
45 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
46 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
47 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
48 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \
49}
50
51#define LAYOUT_60_iso( \
52 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
53 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
54 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
55 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
56 K40, K41, K42, K45, K4A, K4B, K4C, K4E \
57) { \
58 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \
59 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, KNO }, \
60 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
61 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
62 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
63}
64
65#define LAYOUT_all( \
66 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
67 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
68 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
69 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
70 K40, K41, K42, K45, K4A, K4B, K4C, K4E \
71) { \
72 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
73 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
74 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
75 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
76 { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
77}
diff --git a/keyboards/cannonkeys/db60/j02/readme.md b/keyboards/cannonkeys/db60/j02/readme.md
new file mode 100644
index 000000000..818d02d06
--- /dev/null
+++ b/keyboards/cannonkeys/db60/j02/readme.md
@@ -0,0 +1,12 @@
1# CannonKeys DB60
2
3DB60 "Daughterboard 60" Keyboard
4
5* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
6* Hardware Supported: STM32F072CBT6 (or equivalent)
7
8Make example for this keyboard (after setting up your build environment):
9
10 make cannonkeys/db60/j02:default
11
12See 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/cannonkeys/db60/j02/rules.mk b/keyboards/cannonkeys/db60/j02/rules.mk
new file mode 100644
index 000000000..f53da9b05
--- /dev/null
+++ b/keyboards/cannonkeys/db60/j02/rules.mk
@@ -0,0 +1 @@
LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso
diff --git a/keyboards/cannonkeys/db60/keymaps/via/keymap.c b/keyboards/cannonkeys/db60/keymaps/via/keymap.c
index 47af39164..b25d36a9c 100644
--- a/keyboards/cannonkeys/db60/keymaps/via/keymap.c
+++ b/keyboards/cannonkeys/db60/keymaps/via/keymap.c
@@ -30,7 +30,7 @@ enum layer_names {
30 30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 [_BASE] = LAYOUT_all( 32 [_BASE] = LAYOUT_all(
33 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, KC_DEL, 33 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, KC_BSPC,
34 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, 34 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,
35 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_NUHS, KC_ENT, 35 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_NUHS, KC_ENT,
36 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1), 36 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 ), 38 ),
39 39
40 [_FN1] = LAYOUT_all( 40 [_FN1] = LAYOUT_all(
41 KC_GRV, 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, _______, 41 KC_GRV, 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, KC_DEL,
42 RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 42 RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 43 BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 44 BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cannonkeys/db60/readme.md b/keyboards/cannonkeys/db60/readme.md
index c1000ae2c..54f4a8b93 100644
--- a/keyboards/cannonkeys/db60/readme.md
+++ b/keyboards/cannonkeys/db60/readme.md
@@ -3,10 +3,23 @@
3DB60 "Daughterboard 60" Keyboard 3DB60 "Daughterboard 60" Keyboard
4 4
5* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) 5* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
6* Hardware Supported: STM32F072CBT6 6* Hardware Supported: STM32F072CBT6 (or equivalent)
7 7
8Make example for this keyboard (after setting up your build environment): 8Make example for this keyboard (after setting up your build environment):
9 9
10 make cannonkeys/db60:default 10 make cannonkeys/db60/rev2:default
11 11
12See 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). 12See 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).
13
14Some notes about the versions:
15The original DB60 was shipped with the J-02. To build that, you will need to use the following command:
16
17 make cannonkeys/db60/j02:default
18
19Solderable DB60s were shipped with keyboards after the J-02. This variant has cutouts along the top and bottom to support O-ring gasket mounting. To build these, you can use this command:
20
21 make cannonkeys/db60/rev2:default
22
23Hotswap ANSI DB60s were shipped with the Bakeneko keyboards from CannonKeys. These also have the o-ring gasket mounting points. To build this:
24
25 make cannonkeys/db60/hotswap:default
diff --git a/keyboards/cannonkeys/db60/rev2/config.h b/keyboards/cannonkeys/db60/rev2/config.h
new file mode 100644
index 000000000..df3527b70
--- /dev/null
+++ b/keyboards/cannonkeys/db60/rev2/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2021 Andrew Kannan
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define PRODUCT_ID 0xDB61
21#define PRODUCT DB60v2
diff --git a/keyboards/cannonkeys/db60/rev2/readme.md b/keyboards/cannonkeys/db60/rev2/readme.md
new file mode 100644
index 000000000..b52f38f9a
--- /dev/null
+++ b/keyboards/cannonkeys/db60/rev2/readme.md
@@ -0,0 +1,12 @@
1# CannonKeys DB60
2
3DB60 "Daughterboard 60" Keyboard
4
5* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
6* Hardware Supported: STM32F072CBT6 (or equivalent)
7
8Make example for this keyboard (after setting up your build environment):
9
10 make cannonkeys/db60/rev2:default
11
12See 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/cannonkeys/db60/rev2/rev2.h b/keyboards/cannonkeys/db60/rev2/rev2.h
new file mode 100644
index 000000000..6740e70ee
--- /dev/null
+++ b/keyboards/cannonkeys/db60/rev2/rev2.h
@@ -0,0 +1,77 @@
1 /* Copyright 2021 Andrew Kannan
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 KNO KC_NO
22
23#define LAYOUT_60_ansi( \
24 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
25 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
26 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
27 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
28 K40, K41, K42, K46, K4A, K4B, K4C, K4E \
29) { \
30 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \
31 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
32 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
33 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
34 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
35}
36
37#define LAYOUT_60_tsangan_hhkb( \
38 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
39 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
40 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
41 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
42 K40, K41, K42, K46, K4B, K4C, K4E \
43) { \
44 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
45 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
46 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \
47 { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
48 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \
49}
50
51#define LAYOUT_60_iso( \
52 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
53 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
54 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
55 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
56 K40, K41, K42, K46, K4A, K4B, K4C, K4E \
57) { \
58 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \
59 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, KNO }, \
60 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
61 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \
62 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
63}
64
65#define LAYOUT_all( \
66 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
67 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
68 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
69 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\
70 K40, K41, K42, K46, K4A, K4B, K4C, K4E \
71) { \
72 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
73 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \
74 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \
75 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \
76 { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \
77}
diff --git a/keyboards/cannonkeys/db60/rev2/rules.mk b/keyboards/cannonkeys/db60/rev2/rules.mk
new file mode 100644
index 000000000..f53da9b05
--- /dev/null
+++ b/keyboards/cannonkeys/db60/rev2/rules.mk
@@ -0,0 +1 @@
LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso
diff --git a/keyboards/cannonkeys/db60/rules.mk b/keyboards/cannonkeys/db60/rules.mk
index 233850816..3221f8a4b 100644
--- a/keyboards/cannonkeys/db60/rules.mk
+++ b/keyboards/cannonkeys/db60/rules.mk
@@ -15,10 +15,10 @@ BACKLIGHT_ENABLE = yes
15RGBLIGHT_ENABLE = yes 15RGBLIGHT_ENABLE = yes
16WS2812_DRIVER = spi 16WS2812_DRIVER = spi
17 17
18LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso 18# Wildcard to allow APM32 MCU
19
20# Wildcard to allow APM32 MCU
21DFU_SUFFIX_ARGS = -p FFFF -v FFFF 19DFU_SUFFIX_ARGS = -p FFFF -v FFFF
22 20
21DEFAULT_FOLDER = cannonkeys/db60/rev2
22
23# Enter lower-power sleep mode when on the ChibiOS idle thread 23# Enter lower-power sleep mode when on the ChibiOS idle thread
24OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE 24OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE