aboutsummaryrefslogtreecommitdiff
path: root/keyboards/aeboards
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-04-10 12:13:40 +0100
committerAkshay <[email protected]>2022-04-10 12:13:40 +0100
commitdc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch)
tree4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/aeboards
Diffstat (limited to 'keyboards/aeboards')
-rw-r--r--keyboards/aeboards/aegis/aegis.c17
-rw-r--r--keyboards/aeboards/aegis/aegis.h43
-rw-r--r--keyboards/aeboards/aegis/config.h47
-rw-r--r--keyboards/aeboards/aegis/info.json128
-rw-r--r--keyboards/aeboards/aegis/keymaps/default/keymap.c72
-rw-r--r--keyboards/aeboards/aegis/keymaps/default/readme.md2
-rw-r--r--keyboards/aeboards/aegis/keymaps/via/keymap.c72
-rw-r--r--keyboards/aeboards/aegis/keymaps/via/readme.md2
-rw-r--r--keyboards/aeboards/aegis/keymaps/via/rules.mk1
-rw-r--r--keyboards/aeboards/aegis/readme.md14
-rw-r--r--keyboards/aeboards/aegis/rules.mk17
-rwxr-xr-xkeyboards/aeboards/constellation/constellation.c20
-rwxr-xr-xkeyboards/aeboards/constellation/constellation.h26
-rwxr-xr-xkeyboards/aeboards/constellation/keymaps/default/keymap.c36
-rwxr-xr-xkeyboards/aeboards/constellation/keymaps/default/readme.md2
-rwxr-xr-xkeyboards/aeboards/constellation/keymaps/via/keymap.c52
-rwxr-xr-xkeyboards/aeboards/constellation/keymaps/via/readme.md2
-rwxr-xr-xkeyboards/aeboards/constellation/keymaps/via/rules.mk1
-rwxr-xr-xkeyboards/aeboards/constellation/readme.md13
-rwxr-xr-xkeyboards/aeboards/constellation/rev1/config.h48
-rw-r--r--keyboards/aeboards/constellation/rev1/info.json83
-rwxr-xr-xkeyboards/aeboards/constellation/rev1/readme.md20
-rwxr-xr-xkeyboards/aeboards/constellation/rev1/rev1.c18
-rwxr-xr-xkeyboards/aeboards/constellation/rev1/rev1.h36
-rwxr-xr-xkeyboards/aeboards/constellation/rev1/rules.mk18
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/config.h61
-rw-r--r--keyboards/aeboards/constellation/rev2/halconf.h27
-rw-r--r--keyboards/aeboards/constellation/rev2/info.json83
-rw-r--r--keyboards/aeboards/constellation/rev2/mcuconf.h27
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/readme.md20
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/rev2.c21
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/rev2.h35
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/rules.mk19
-rwxr-xr-xkeyboards/aeboards/constellation/rules.mk1
-rw-r--r--keyboards/aeboards/ext65/.noci0
-rw-r--r--keyboards/aeboards/ext65/config.h17
-rw-r--r--keyboards/aeboards/ext65/ext65.c1
-rw-r--r--keyboards/aeboards/ext65/ext65.h9
-rw-r--r--keyboards/aeboards/ext65/info.json108
-rw-r--r--keyboards/aeboards/ext65/keymaps/default/keymap.c99
-rw-r--r--keyboards/aeboards/ext65/keymaps/default/readme.md2
-rw-r--r--keyboards/aeboards/ext65/keymaps/via/keymap.c99
-rw-r--r--keyboards/aeboards/ext65/keymaps/via/readme.md2
-rw-r--r--keyboards/aeboards/ext65/keymaps/via/rules.mk3
-rw-r--r--keyboards/aeboards/ext65/readme.md19
-rw-r--r--keyboards/aeboards/ext65/rev1/.noci0
-rw-r--r--keyboards/aeboards/ext65/rev1/config.h47
-rw-r--r--keyboards/aeboards/ext65/rev1/rev1.c32
-rw-r--r--keyboards/aeboards/ext65/rev1/rev1.h41
-rw-r--r--keyboards/aeboards/ext65/rev1/rules.mk17
-rw-r--r--keyboards/aeboards/ext65/rev2/chconf.h31
-rw-r--r--keyboards/aeboards/ext65/rev2/config.h80
-rw-r--r--keyboards/aeboards/ext65/rev2/halconf.h33
-rw-r--r--keyboards/aeboards/ext65/rev2/mcuconf.h36
-rw-r--r--keyboards/aeboards/ext65/rev2/rev2.c48
-rw-r--r--keyboards/aeboards/ext65/rev2/rev2.h41
-rw-r--r--keyboards/aeboards/ext65/rev2/rules.mk23
-rw-r--r--keyboards/aeboards/ext65/rules.mk1
58 files changed, 1873 insertions, 0 deletions
diff --git a/keyboards/aeboards/aegis/aegis.c b/keyboards/aeboards/aegis/aegis.c
new file mode 100644
index 000000000..ccff6d62c
--- /dev/null
+++ b/keyboards/aeboards/aegis/aegis.c
@@ -0,0 +1,17 @@
1/* Copyright 2018 Jason Williams (Wilba)
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// Nothing to see here, move along... ;-)
diff --git a/keyboards/aeboards/aegis/aegis.h b/keyboards/aeboards/aegis/aegis.h
new file mode 100644
index 000000000..95ffb73dd
--- /dev/null
+++ b/keyboards/aeboards/aegis/aegis.h
@@ -0,0 +1,43 @@
1/* Copyright 2018 Jason Williams (Wilba)
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 _____ KC_NO
22
23#define LAYOUT_aegis( \
24 K0000, K0100, K0001, K0101, K0002, K0102, K0003, K0103, K0004, K0104, K0005, K0105, K0006, K0106, K0007, K0107, K0008, \
25 K0200, K0300, K0201, K0301, K0202, K0302, K0203, K0303, K0204, K0304, K0205, K0305, K0206, K0306, K0207, K0307, K0208, K0308, K0108, \
26 K0400, K0500, K0401, K0501, K0402, K0502, K0403, K0503, K0404, K0504, K0405, K0505, K0406, K0506, K0407, K0507, K0408, K0508, \
27 K0600, K0700, K0601, K0701, K0602, K0702, K0603, K0703, K0604, K0704, K0605, K0705, K0606, K0706, K0607, K0707, K0608, \
28 K0800, K0900, K0801, K0901, K0802, K0902, K0803, K0903, K0804, K0904, K0805, K0905, K0806, K0906, K0807, K0907, K0808, K0908, \
29 K1000, K1100, K1001, K1101, K1002, K1102, K1003, K1103, K1105, K1107, K1008, K1108 \
30) { \
31 { K0000, K0001, K0002, K0003, K0004, K0005, K0006, K0007, K0008 }, \
32 { K0100, K0101, K0102, K0103, K0104, K0105, K0106, K0107, K0108 }, \
33 { K0200, K0201, K0202, K0203, K0204, K0205, K0206, K0207, K0208 }, \
34 { K0300, K0301, K0302, K0303, K0304, K0305, K0306, K0307, K0308 }, \
35 { K0400, K0401, K0402, K0403, K0404, K0405, K0406, K0407, K0408 }, \
36 { K0500, K0501, K0502, K0503, K0504, K0505, K0506, K0507, K0508 }, \
37 { K0600, K0601, K0602, K0603, K0604, K0605, K0606, K0607, K0608 }, \
38 { K0700, K0701, K0702, K0703, K0704, K0705, K0706, K0707, _____ }, \
39 { K0800, K0801, K0802, K0803, K0804, K0805, K0806, K0807, K0808 }, \
40 { K0900, K0901, K0902, K0903, K0904, K0905, K0906, K0907, K0908 }, \
41 { K1000, K1001, K1002, K1003, _____, _____, _____, _____, K1008 }, \
42 { K1100, K1101, K1102, K1103, _____, K1105, _____, K1107, K1108 } \
43}
diff --git a/keyboards/aeboards/aegis/config.h b/keyboards/aeboards/aegis/config.h
new file mode 100644
index 000000000..7f59c5200
--- /dev/null
+++ b/keyboards/aeboards/aegis/config.h
@@ -0,0 +1,47 @@
1/* Copyright 2018 Jason Williams (Wilba)
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 0x4145 // "AE"
23#define PRODUCT_ID 0x0807 // 1800 -> 0x0708 -> 0x0807 ;-)
24#define DEVICE_VER 0x0001
25#define MANUFACTURER AEboards
26#define PRODUCT AEboards Aegis
27
28/* key matrix size */
29#define MATRIX_ROWS 12
30#define MATRIX_COLS 9
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { F5, F6, E6, F7, D1, D0, D6, D4, B4, D7, B6, B5 }
34#define MATRIX_COL_PINS { C7, C6, B7, D2, D3, B3, B2, B1, B0 }
35#define UNUSED_PINS
36
37/* COL2ROW or ROW2COL */
38#define DIODE_DIRECTION COL2ROW
39
40/* Set 0 if debouncing isn't needed */
41#define DEBOUNCE 5
42
43/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
44#define LOCKING_SUPPORT_ENABLE
45
46/* Locking resynchronize hack */
47#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeboards/aegis/info.json b/keyboards/aeboards/aegis/info.json
new file mode 100644
index 000000000..ff0c9bf82
--- /dev/null
+++ b/keyboards/aeboards/aegis/info.json
@@ -0,0 +1,128 @@
1{
2 "keyboard_name": "Aegis",
3 "url": "",
4 "maintainer": "qmk",
5 "layouts": {
6 "LAYOUT_aegis": {
7 "layout": [
8 {"x": 0, "y": 0},
9 {"x": 1, "y": 0},
10 {"x": 2, "y": 0},
11 {"x": 3, "y": 0},
12
13 {"x": 4.5, "y": 0},
14
15 {"x": 6.5, "y": 0},
16 {"x": 7.5, "y": 0},
17 {"x": 8.5, "y": 0},
18 {"x": 9.5, "y": 0},
19
20 {"x": 11, "y": 0},
21 {"x": 12, "y": 0},
22 {"x": 13, "y": 0},
23 {"x": 14, "y": 0},
24
25 {"x": 15.5, "y": 0},
26 {"x": 16.5, "y": 0},
27 {"x": 17.5, "y": 0},
28 {"x": 18.5, "y": 0},
29
30 {"x": 0, "y": 1.5},
31 {"x": 1, "y": 1.5},
32 {"x": 2, "y": 1.5},
33 {"x": 3, "y": 1.5},
34
35 {"x": 4.5, "y": 1.5},
36 {"x": 5.5, "y": 1.5},
37 {"x": 6.5, "y": 1.5},
38 {"x": 7.5, "y": 1.5},
39 {"x": 8.5, "y": 1.5},
40 {"x": 9.5, "y": 1.5},
41 {"x": 10.5, "y": 1.5},
42 {"x": 11.5, "y": 1.5},
43 {"x": 12.5, "y": 1.5},
44 {"x": 13.5, "y": 1.5},
45 {"x": 14.5, "y": 1.5},
46 {"x": 15.5, "y": 1.5},
47 {"x": 16.5, "y": 1.5},
48 {"x": 17.5, "y": 1.5},
49 {"x": 18.5, "y": 1.5},
50
51 {"x": 0, "y": 2.5},
52 {"x": 1, "y": 2.5},
53 {"x": 2, "y": 2.5},
54 {"x": 3, "y": 2.5},
55
56 {"x": 4.5, "y": 2.5, "w": 1.5},
57 {"x": 6, "y": 2.5},
58 {"x": 7, "y": 2.5},
59 {"x": 8, "y": 2.5},
60 {"x": 9, "y": 2.5},
61 {"x": 10, "y": 2.5},
62 {"x": 11, "y": 2.5},
63 {"x": 12, "y": 2.5},
64 {"x": 13, "y": 2.5},
65 {"x": 14, "y": 2.5},
66 {"x": 15, "y": 2.5},
67 {"x": 16, "y": 2.5},
68 {"x": 17, "y": 2.5},
69 {"x": 18, "y": 2.5, "w": 1.5},
70
71 {"x": 0, "y": 3.5},
72 {"x": 1, "y": 3.5},
73 {"x": 2, "y": 3.5},
74 {"x": 3, "y": 3.5},
75
76 {"x": 4.5, "y": 3.5, "w": 1.75},
77 {"x": 6.25, "y": 3.5},
78 {"x": 7.25, "y": 3.5},
79 {"x": 8.25, "y": 3.5},
80 {"x": 9.25, "y": 3.5},
81 {"x": 10.25, "y": 3.5},
82 {"x": 11.25, "y": 3.5},
83 {"x": 12.25, "y": 3.5},
84 {"x": 13.25, "y": 3.5},
85 {"x": 14.25, "y": 3.5},
86 {"x": 15.25, "y": 3.5},
87 {"x": 16.25, "y": 3.5},
88 {"x": 17.25, "y": 3.5, "w": 2.25},
89
90 {"x": 0, "y": 4.5},
91 {"x": 1, "y": 4.5},
92 {"x": 2, "y": 4.5},
93 {"x": 3, "y": 4.5},
94
95 {"x": 4.25, "y": 4.75},
96
97 {"x": 5.5, "y": 4.5, "w": 1.25},
98 {"x": 6.75, "y": 4.5},
99 {"x": 7.75, "y": 4.5},
100 {"x": 8.75, "y": 4.5},
101 {"x": 9.75, "y": 4.5},
102 {"x": 10.75, "y": 4.5},
103 {"x": 11.75, "y": 4.5},
104 {"x": 12.75, "y": 4.5},
105 {"x": 13.75, "y": 4.5},
106 {"x": 14.75, "y": 4.5},
107 {"x": 15.75, "y": 4.5},
108 {"x": 16.75, "y": 4.5, "w": 1.75},
109 {"x": 18.5, "y": 4.5},
110
111 {"x": 0, "y": 5.5},
112 {"x": 1, "y": 5.5},
113 {"x": 2, "y": 5.5},
114
115 {"x": 3.25, "y": 5.75},
116 {"x": 4.25, "y": 5.75},
117 {"x": 5.25, "y": 5.75},
118
119 {"x": 6.5, "y": 5.5, "w": 1.25},
120 {"x": 7.75, "y": 5.5, "w": 1.25},
121 {"x": 9, "y": 5.5, "w": 6.25},
122 {"x": 15.25, "y": 5.5, "w": 1.5},
123 {"x": 16.75, "y": 5.5, "w": 1.25},
124 {"x": 18, "y": 5.5, "w": 1.5}
125 ]
126 }
127 }
128}
diff --git a/keyboards/aeboards/aegis/keymaps/default/keymap.c b/keyboards/aeboards/aegis/keymaps/default/keymap.c
new file mode 100644
index 000000000..8437ffeb4
--- /dev/null
+++ b/keyboards/aeboards/aegis/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
1/* Copyright 2018 Jason Williams (Wilba)
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 /* Keymap BASE: (Base Layer) Default Layer
20 * ,-------------------. ,-------------------------------------------------------------.
21 * |End |Home|PgDn|PgUp| |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12|
22 * `-------------------' `-------------------------------------------------------------'
23 *
24 * |-------------------| ,-------------------------------------------------------------.
25 * |- | * | / |BSPC| | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| del|
26 * |-------------------| |-------------------------------------------------------------|
27 * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC |
28 * | + |--------------| |-------------------------------------------------------------|
29 * | | 6 | 5 | 4 | |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |
30 * |-------------------| |-------------------------------------------------------------|
31 * | | 3 | 2 | 1 | |Up| |Shift| Z| X| C| V| B| N| M| ,| .| /|Shift | FN |
32 * | ENT|-------------------------------------------------------------------------------|
33 * | | 0 | left |Dn| rhgt | FN | Alt | Space |Alt |Gui| ctrl| |
34 * `------------------------------------------------------------------------------------'
35 */
36 [0] = LAYOUT_aegis(
37 KC_END , KC_HOME, KC_PGDN, KC_PGUP, 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 ,
38 KC_PMNS, KC_PAST, KC_PSLS, KC_BSPC, 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_BSLS, KC_DEL,
39 KC_PPLS, KC_P9 , KC_P8 , KC_P7 , 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_BSPC,
40 KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
41 KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_UP , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1),
42 KC_PENT, KC_PDOT, KC_P0 , KC_LEFT, KC_DOWN, KC_RGHT, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
43 ),
44
45 [1] = LAYOUT_aegis(
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_UP , KC_PGDN, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
52 ),
53
54 [2] = LAYOUT_aegis(
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
61 ),
62
63 [3] = LAYOUT_aegis(
64 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
67 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
68 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
70 )
71
72};
diff --git a/keyboards/aeboards/aegis/keymaps/default/readme.md b/keyboards/aeboards/aegis/keymaps/default/readme.md
new file mode 100644
index 000000000..e6b242456
--- /dev/null
+++ b/keyboards/aeboards/aegis/keymaps/default/readme.md
@@ -0,0 +1,2 @@
1# The Default Aegis Layout
2
diff --git a/keyboards/aeboards/aegis/keymaps/via/keymap.c b/keyboards/aeboards/aegis/keymaps/via/keymap.c
new file mode 100644
index 000000000..8437ffeb4
--- /dev/null
+++ b/keyboards/aeboards/aegis/keymaps/via/keymap.c
@@ -0,0 +1,72 @@
1/* Copyright 2018 Jason Williams (Wilba)
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 /* Keymap BASE: (Base Layer) Default Layer
20 * ,-------------------. ,-------------------------------------------------------------.
21 * |End |Home|PgDn|PgUp| |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12|
22 * `-------------------' `-------------------------------------------------------------'
23 *
24 * |-------------------| ,-------------------------------------------------------------.
25 * |- | * | / |BSPC| | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| del|
26 * |-------------------| |-------------------------------------------------------------|
27 * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC |
28 * | + |--------------| |-------------------------------------------------------------|
29 * | | 6 | 5 | 4 | |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |
30 * |-------------------| |-------------------------------------------------------------|
31 * | | 3 | 2 | 1 | |Up| |Shift| Z| X| C| V| B| N| M| ,| .| /|Shift | FN |
32 * | ENT|-------------------------------------------------------------------------------|
33 * | | 0 | left |Dn| rhgt | FN | Alt | Space |Alt |Gui| ctrl| |
34 * `------------------------------------------------------------------------------------'
35 */
36 [0] = LAYOUT_aegis(
37 KC_END , KC_HOME, KC_PGDN, KC_PGUP, 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 ,
38 KC_PMNS, KC_PAST, KC_PSLS, KC_BSPC, 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_BSLS, KC_DEL,
39 KC_PPLS, KC_P9 , KC_P8 , KC_P7 , 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_BSPC,
40 KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
41 KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_UP , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1),
42 KC_PENT, KC_PDOT, KC_P0 , KC_LEFT, KC_DOWN, KC_RGHT, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
43 ),
44
45 [1] = LAYOUT_aegis(
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_UP , KC_PGDN, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
52 ),
53
54 [2] = LAYOUT_aegis(
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
61 ),
62
63 [3] = LAYOUT_aegis(
64 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
67 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
68 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
70 )
71
72};
diff --git a/keyboards/aeboards/aegis/keymaps/via/readme.md b/keyboards/aeboards/aegis/keymaps/via/readme.md
new file mode 100644
index 000000000..a80671bd9
--- /dev/null
+++ b/keyboards/aeboards/aegis/keymaps/via/readme.md
@@ -0,0 +1,2 @@
1# The VIA Aegis Layout
2
diff --git a/keyboards/aeboards/aegis/keymaps/via/rules.mk b/keyboards/aeboards/aegis/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/aeboards/aegis/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/aeboards/aegis/readme.md b/keyboards/aeboards/aegis/readme.md
new file mode 100644
index 000000000..1b8fc124e
--- /dev/null
+++ b/keyboards/aeboards/aegis/readme.md
@@ -0,0 +1,14 @@
1AEGIS
2===
3
4A left handed g80-1800-esque keyboard by [aeboards](https://aeboards.com/)
5
6Keyboard Maintainer: [Wilba6582](https://github.com/Wilba6582)
7Hardware Supported: AEGIS
8Hardware Availability: Custom keyboard group buys
9
10Make example for this keyboard (after setting up your build environment):
11
12 make aeboards/aegis:default
13
14See 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). \ No newline at end of file
diff --git a/keyboards/aeboards/aegis/rules.mk b/keyboards/aeboards/aegis/rules.mk
new file mode 100644
index 000000000..2e24be64b
--- /dev/null
+++ b/keyboards/aeboards/aegis/rules.mk
@@ -0,0 +1,17 @@
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 = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/aeboards/constellation/constellation.c b/keyboards/aeboards/constellation/constellation.c
new file mode 100755
index 000000000..0b8354d07
--- /dev/null
+++ b/keyboards/aeboards/constellation/constellation.c
@@ -0,0 +1,20 @@
1/* Copyright 2018 Jason Williams (Wilba)
2 * Copyright 2021 Harrison Chan (Xelus)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18// Nothing to see here, move along... ;-)
19
20#include "constellation.h"
diff --git a/keyboards/aeboards/constellation/constellation.h b/keyboards/aeboards/constellation/constellation.h
new file mode 100755
index 000000000..a46732771
--- /dev/null
+++ b/keyboards/aeboards/constellation/constellation.h
@@ -0,0 +1,26 @@
1/* Copyright 2018 Jason Williams (Wilba)
2 * Copyright 2021 Harrison Chan (Xelus)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include "quantum.h"
21
22#if defined(KEYBOARD_aeboards_constellation_rev1)
23 #include "rev1.h"
24#elif defined(KEYBOARD_aeboards_constellation_rev2)
25 #include "rev2.h"
26#endif
diff --git a/keyboards/aeboards/constellation/keymaps/default/keymap.c b/keyboards/aeboards/constellation/keymaps/default/keymap.c
new file mode 100755
index 000000000..70e763332
--- /dev/null
+++ b/keyboards/aeboards/constellation/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
1/* Copyright 2018 Jason Williams (Wilba)
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
20 // Default layer
21 [0] = LAYOUT_all(
22 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_BSLS, KC_DEL, KC_HOME,
23 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_BSPC, KC_PGUP,
24 KC_LCTL, 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_PGDN,
25 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_END,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
27
28 // Fn1 Layer
29 [1] = LAYOUT_all(
30 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_INS, KC_DEL, RESET,
31 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
32 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
33 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
35};
36
diff --git a/keyboards/aeboards/constellation/keymaps/default/readme.md b/keyboards/aeboards/constellation/keymaps/default/readme.md
new file mode 100755
index 000000000..e5e100d87
--- /dev/null
+++ b/keyboards/aeboards/constellation/keymaps/default/readme.md
@@ -0,0 +1,2 @@
1# The Default Constellation Layout
2
diff --git a/keyboards/aeboards/constellation/keymaps/via/keymap.c b/keyboards/aeboards/constellation/keymaps/via/keymap.c
new file mode 100755
index 000000000..2836cf848
--- /dev/null
+++ b/keyboards/aeboards/constellation/keymaps/via/keymap.c
@@ -0,0 +1,52 @@
1/* Copyright 2018 Jason Williams (Wilba)
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
20 // Default layer
21 [0] = LAYOUT_all(
22 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_BSLS, KC_DEL, KC_HOME,
23 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_BSPC, KC_PGUP,
24 KC_LCTL, 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_PGDN,
25 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_END,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
27
28 // Fn1 Layer
29 [1] = LAYOUT_all(
30 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_INS, KC_DEL, KC_TRNS,
31 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
32 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
33 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
35
36 // Fn2 Layer
37 [2] = LAYOUT_all(
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
43
44 // Fn3 Layer
45 [3] = LAYOUT_all(
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
51};
52
diff --git a/keyboards/aeboards/constellation/keymaps/via/readme.md b/keyboards/aeboards/constellation/keymaps/via/readme.md
new file mode 100755
index 000000000..ce1a7d691
--- /dev/null
+++ b/keyboards/aeboards/constellation/keymaps/via/readme.md
@@ -0,0 +1,2 @@
1# The VIA Constellation Layout
2
diff --git a/keyboards/aeboards/constellation/keymaps/via/rules.mk b/keyboards/aeboards/constellation/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/aeboards/constellation/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/aeboards/constellation/readme.md b/keyboards/aeboards/constellation/readme.md
new file mode 100755
index 000000000..19d4354e0
--- /dev/null
+++ b/keyboards/aeboards/constellation/readme.md
@@ -0,0 +1,13 @@
1# CONSTELLATION
2
3A gasket 65% keyboard by [aeboards](https://aeboards.com/)
4
5* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
6* Hardware Supported: CONSTELLATION
7* Hardware Availability: Custom keyboard group buys
8
9Make example for this keyboard (after setting up your build environment):
10
11 make aeboards/constellation:default
12
13See 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/aeboards/constellation/rev1/config.h b/keyboards/aeboards/constellation/rev1/config.h
new file mode 100755
index 000000000..22dd96f66
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev1/config.h
@@ -0,0 +1,48 @@
1/* Copyright 2018 Jason Williams (Wilba)
2 * Copyright 2021 Harrison Chan (Xelus)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4145 // AE
24#define PRODUCT_ID 0x065C // 65 - Constellation
25#define DEVICE_VER 0x0001
26#define MANUFACTURER AEBoards
27#define PRODUCT AEBoards Constellation Rev1
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 15
32
33/* key matrix pins */
34#define MATRIX_ROW_PINS { B0, B1, F0, F1, F4 }
35#define MATRIX_COL_PINS { E6, D5, B2, B3, D3, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
36#define UNUSED_PINS
37
38/* COL2ROW or ROW2COL */
39#define DIODE_DIRECTION COL2ROW
40
41/* Set 0 if debouncing isn't needed */
42#define DEBOUNCE 5
43
44/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
45#define LOCKING_SUPPORT_ENABLE
46
47/* Locking resynchronize hack */
48#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeboards/constellation/rev1/info.json b/keyboards/aeboards/constellation/rev1/info.json
new file mode 100644
index 000000000..af09a0dfc
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev1/info.json
@@ -0,0 +1,83 @@
1{
2 "keyboard_name": "Constellation",
3 "url": "",
4 "maintainer": "Xelus22",
5 "layouts": {
6 "LAYOUT_all": {
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},
22 {"x":14, "y":0},
23 {"x":15, "y":0},
24
25 {"x":0, "y":1, "w":1.5},
26 {"x":1.5, "y":1},
27 {"x":2.5, "y":1},
28 {"x":3.5, "y":1},
29 {"x":4.5, "y":1},
30 {"x":5.5, "y":1},
31 {"x":6.5, "y":1},
32 {"x":7.5, "y":1},
33 {"x":8.5, "y":1},
34 {"x":9.5, "y":1},
35 {"x":10.5, "y":1},
36 {"x":11.5, "y":1},
37 {"x":12.5, "y":1},
38 {"x":13.5, "y":1, "w":1.5},
39 {"x":15, "y":1},
40
41 {"x":0, "y":2, "w":1.75},
42 {"x":1.75, "y":2},
43 {"x":2.75, "y":2},
44 {"x":3.75, "y":2},
45 {"x":4.75, "y":2},
46 {"x":5.75, "y":2},
47 {"x":6.75, "y":2},
48 {"x":7.75, "y":2},
49 {"x":8.75, "y":2},
50 {"x":9.75, "y":2},
51 {"x":10.75, "y":2},
52 {"label":"\"", "x":11.75, "y":2},
53 {"x":12.75, "y":2, "w":2.25},
54 {"x":15, "y":2},
55
56 {"x":0, "y":3, "w":2.25},
57 {"x":2.25, "y":3},
58 {"x":3.25, "y":3},
59 {"x":4.25, "y":3},
60 {"x":5.25, "y":3},
61 {"x":6.25, "y":3},
62 {"x":7.25, "y":3},
63 {"x":8.25, "y":3},
64 {"x":9.25, "y":3},
65 {"x":10.25, "y":3},
66 {"x":11.25, "y":3},
67 {"x":12.25, "y":3, "w":1.75},
68 {"x":14, "y":3},
69 {"x":15, "y":3},
70
71 {"x":0, "y":4, "w":1.25},
72 {"x":1.25, "y":4, "w":1.25},
73 {"x":2.5, "y":4, "w":1.25},
74 {"x":3.75, "y":4, "w":6.25},
75 {"x":10, "y":4, "w":1.5},
76 {"x":11.5, "y":4, "w":1.5},
77 {"x":13, "y":4},
78 {"x":14, "y":4},
79 {"x":15, "y":4}
80 ]
81 }
82 }
83}
diff --git a/keyboards/aeboards/constellation/rev1/readme.md b/keyboards/aeboards/constellation/rev1/readme.md
new file mode 100755
index 000000000..1102d83d3
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev1/readme.md
@@ -0,0 +1,20 @@
1# CONSTELLATION REV1
2
3A gasket 65% keyboard by [aeboards](https://aeboards.com/)
4
5* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
6* Hardware Supported: CONSTELLATION
7* Hardware Availability: Custom keyboard group buys
8
9Make example for this keyboard (after setting up your build environment):
10
11 make aeboards/constellation/rev1:default
12
13Reset your keyboard in 3 ways:
14<ol>
15<li>Software reset on Fn + Backspace</li>
16<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
17<li>Physical reset: on the back of the PCB, there is a ISP header which you should short the RST and GND together</li>
18</ol>
19
20See 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/aeboards/constellation/rev1/rev1.c b/keyboards/aeboards/constellation/rev1/rev1.c
new file mode 100755
index 000000000..6e8f0a119
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev1/rev1.c
@@ -0,0 +1,18 @@
1/* Copyright 2018 Jason Williams (Wilba)
2 * Copyright 2021 Harrison Chan (Xelus)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "rev1.h"
diff --git a/keyboards/aeboards/constellation/rev1/rev1.h b/keyboards/aeboards/constellation/rev1/rev1.h
new file mode 100755
index 000000000..a2c65e942
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev1/rev1.h
@@ -0,0 +1,36 @@
1/* Copyright 2018 Jason Williams (Wilba)
2 * Copyright 2021 Harrison Chan (Xelus)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include "quantum.h"
21
22#define ____ KC_NO
23
24#define LAYOUT_all( \
25 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \
26 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
27 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
28 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
29 K400, K401, K402, K408, K409, K410, K412, K413, K414 \
30) { \
31 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
32 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
33 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
34 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
35 { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
36}
diff --git a/keyboards/aeboards/constellation/rev1/rules.mk b/keyboards/aeboards/constellation/rev1/rules.mk
new file mode 100755
index 000000000..d2950ac2b
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev1/rules.mk
@@ -0,0 +1,18 @@
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 = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18LTO_ENABLE = yes
diff --git a/keyboards/aeboards/constellation/rev2/config.h b/keyboards/aeboards/constellation/rev2/config.h
new file mode 100755
index 000000000..de42885b4
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/config.h
@@ -0,0 +1,61 @@
1/* Copyright 2021 Harrison Chan (Xelus)
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 0x4145 // AE
23#define PRODUCT_ID 0x065C // 65 - Constellation
24#define DEVICE_VER 0x0001
25#define MANUFACTURER AEBoards
26#define PRODUCT AEBoards Constellation Rev2
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 15
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { B15, A14, A2, B13, B14 }
34#define MATRIX_COL_PINS { B12, A1, H0, C15, C14, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
35#define UNUSED_PINS
36
37/* COL2ROW or ROW2COL */
38#define DIODE_DIRECTION COL2ROW
39
40/* Set 0 if debouncing isn't needed */
41#define DEBOUNCE 5
42
43/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
44#define LOCKING_SUPPORT_ENABLE
45
46/* Locking resynchronize hack */
47#define LOCKING_RESYNC_ENABLE
48
49// I2C setup
50#define I2C1_SCL_PIN B8
51#define I2C1_SDA_PIN B9
52#define I2C1_SCL_PAL_MODE 4
53#define I2C1_SDA_PAL_MODE 4
54#define I2C1_TIMINGR_PRESC 0U
55#define I2C1_TIMINGR_SCLDEL 11U
56#define I2C1_TIMINGR_SDADEL 0U
57#define I2C1_TIMINGR_SCLH 14U
58#define I2C1_TIMINGR_SCLL 42U
59
60// I2C EEPROM
61#define EEPROM_I2C_24LC64
diff --git a/keyboards/aeboards/constellation/rev2/halconf.h b/keyboards/aeboards/constellation/rev2/halconf.h
new file mode 100644
index 000000000..35cb84d82
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/halconf.h
@@ -0,0 +1,27 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/halconf.h -r platforms/chibios/common/configs/halconf.h`
20 */
21
22#pragma once
23
24#define HAL_USE_I2C TRUE
25
26#include_next <halconf.h>
27
diff --git a/keyboards/aeboards/constellation/rev2/info.json b/keyboards/aeboards/constellation/rev2/info.json
new file mode 100644
index 000000000..af09a0dfc
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/info.json
@@ -0,0 +1,83 @@
1{
2 "keyboard_name": "Constellation",
3 "url": "",
4 "maintainer": "Xelus22",
5 "layouts": {
6 "LAYOUT_all": {
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},
22 {"x":14, "y":0},
23 {"x":15, "y":0},
24
25 {"x":0, "y":1, "w":1.5},
26 {"x":1.5, "y":1},
27 {"x":2.5, "y":1},
28 {"x":3.5, "y":1},
29 {"x":4.5, "y":1},
30 {"x":5.5, "y":1},
31 {"x":6.5, "y":1},
32 {"x":7.5, "y":1},
33 {"x":8.5, "y":1},
34 {"x":9.5, "y":1},
35 {"x":10.5, "y":1},
36 {"x":11.5, "y":1},
37 {"x":12.5, "y":1},
38 {"x":13.5, "y":1, "w":1.5},
39 {"x":15, "y":1},
40
41 {"x":0, "y":2, "w":1.75},
42 {"x":1.75, "y":2},
43 {"x":2.75, "y":2},
44 {"x":3.75, "y":2},
45 {"x":4.75, "y":2},
46 {"x":5.75, "y":2},
47 {"x":6.75, "y":2},
48 {"x":7.75, "y":2},
49 {"x":8.75, "y":2},
50 {"x":9.75, "y":2},
51 {"x":10.75, "y":2},
52 {"label":"\"", "x":11.75, "y":2},
53 {"x":12.75, "y":2, "w":2.25},
54 {"x":15, "y":2},
55
56 {"x":0, "y":3, "w":2.25},
57 {"x":2.25, "y":3},
58 {"x":3.25, "y":3},
59 {"x":4.25, "y":3},
60 {"x":5.25, "y":3},
61 {"x":6.25, "y":3},
62 {"x":7.25, "y":3},
63 {"x":8.25, "y":3},
64 {"x":9.25, "y":3},
65 {"x":10.25, "y":3},
66 {"x":11.25, "y":3},
67 {"x":12.25, "y":3, "w":1.75},
68 {"x":14, "y":3},
69 {"x":15, "y":3},
70
71 {"x":0, "y":4, "w":1.25},
72 {"x":1.25, "y":4, "w":1.25},
73 {"x":2.5, "y":4, "w":1.25},
74 {"x":3.75, "y":4, "w":6.25},
75 {"x":10, "y":4, "w":1.5},
76 {"x":11.5, "y":4, "w":1.5},
77 {"x":13, "y":4},
78 {"x":14, "y":4},
79 {"x":15, "y":4}
80 ]
81 }
82 }
83}
diff --git a/keyboards/aeboards/constellation/rev2/mcuconf.h b/keyboards/aeboards/constellation/rev2/mcuconf.h
new file mode 100644
index 000000000..de8e38389
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/mcuconf.h
@@ -0,0 +1,27 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
20 */
21
22#pragma once
23
24#include_next <mcuconf.h>
25
26#undef STM32_I2C_USE_I2C1
27#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/aeboards/constellation/rev2/readme.md b/keyboards/aeboards/constellation/rev2/readme.md
new file mode 100755
index 000000000..d0ae3a215
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/readme.md
@@ -0,0 +1,20 @@
1# CONSTELLATION REV2
2
3A gasket 65% keyboard by [aeboards](https://aeboards.com/)
4
5* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
6* Hardware Supported: CONSTELLATION
7* Hardware Availability: Custom keyboard group buys
8
9Make example for this keyboard (after setting up your build environment):
10
11 make aeboards/constellation/rev2:default
12
13Reset your keyboard in 3 ways:
14<ol>
15<li>Software reset on Fn + Backspace</li>
16<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
17<li>Physical reset button: on the back of the PCB, there are 2 open pins which you can short, labelled RESET</li>
18</ol>
19
20See 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/aeboards/constellation/rev2/rev2.c b/keyboards/aeboards/constellation/rev2/rev2.c
new file mode 100755
index 000000000..7429f2f5f
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/rev2.c
@@ -0,0 +1,21 @@
1/* Copyright 2021 Harrison Chan (Xelus)
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 "rev2.h"
18
19void matrix_io_delay(void) {
20 __asm__ volatile("nop\nnop\nnop\n");
21}
diff --git a/keyboards/aeboards/constellation/rev2/rev2.h b/keyboards/aeboards/constellation/rev2/rev2.h
new file mode 100755
index 000000000..6a219f835
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/rev2.h
@@ -0,0 +1,35 @@
1/* Copyright 2021 Harrison Chan (Xelus)
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 ____ KC_NO
22
23#define LAYOUT_all( \
24 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \
25 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
26 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
27 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
28 K400, K401, K402, K408, K409, K410, K412, K413, K414 \
29) { \
30 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
31 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
32 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
33 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
34 { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
35}
diff --git a/keyboards/aeboards/constellation/rev2/rules.mk b/keyboards/aeboards/constellation/rev2/rules.mk
new file mode 100755
index 000000000..6751ce2c2
--- /dev/null
+++ b/keyboards/aeboards/constellation/rev2/rules.mk
@@ -0,0 +1,19 @@
1# MCU name
2MCU = STM32L422
3
4# Bootloader selection
5BOOTLOADER = stm32-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 = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18
19EEPROM_DRIVER = i2c
diff --git a/keyboards/aeboards/constellation/rules.mk b/keyboards/aeboards/constellation/rules.mk
new file mode 100755
index 000000000..bd2af5d22
--- /dev/null
+++ b/keyboards/aeboards/constellation/rules.mk
@@ -0,0 +1 @@
DEFAULT_FOLDER = aeboards/constellation/rev1
diff --git a/keyboards/aeboards/ext65/.noci b/keyboards/aeboards/ext65/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/aeboards/ext65/.noci
diff --git a/keyboards/aeboards/ext65/config.h b/keyboards/aeboards/ext65/config.h
new file mode 100644
index 000000000..ff2ace923
--- /dev/null
+++ b/keyboards/aeboards/ext65/config.h
@@ -0,0 +1,17 @@
1/* Copyright 2020 Harrison Chan (Xelus)
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 "config_common.h"
diff --git a/keyboards/aeboards/ext65/ext65.c b/keyboards/aeboards/ext65/ext65.c
new file mode 100644
index 000000000..5f824b721
--- /dev/null
+++ b/keyboards/aeboards/ext65/ext65.c
@@ -0,0 +1 @@
#include "ext65.h"
diff --git a/keyboards/aeboards/ext65/ext65.h b/keyboards/aeboards/ext65/ext65.h
new file mode 100644
index 000000000..571ed0551
--- /dev/null
+++ b/keyboards/aeboards/ext65/ext65.h
@@ -0,0 +1,9 @@
1#pragma once
2
3#include "quantum.h"
4
5#if defined(KEYBOARD_aeboards_ext65_rev1)
6 #include "rev1.h"
7#elif defined(KEYBOARD_aeboards_ext65_rev2)
8 #include "rev2.h"
9#endif \ No newline at end of file
diff --git a/keyboards/aeboards/ext65/info.json b/keyboards/aeboards/ext65/info.json
new file mode 100644
index 000000000..bc2fe64bf
--- /dev/null
+++ b/keyboards/aeboards/ext65/info.json
@@ -0,0 +1,108 @@
1{
2 "keyboard_name": "Ext65",
3 "url": "",
4 "maintainer": "qmk",
5 "layouts": {
6 "LAYOUT_ext65": {
7 "layout": [
8 {"x": 0, "y": 0},
9 {"x": 1, "y": 0},
10 {"x": 2, "y": 0},
11 {"x": 3, "y": 0},
12
13 {"x": 4.5, "y": 0},
14 {"x": 5.5, "y": 0},
15 {"x": 6.5, "y": 0},
16 {"x": 7.5, "y": 0},
17 {"x": 8.5, "y": 0},
18 {"x": 9.5, "y": 0},
19 {"x": 10.5, "y": 0},
20 {"x": 11.5, "y": 0},
21 {"x": 12.5, "y": 0},
22 {"x": 13.5, "y": 0},
23 {"x": 14.5, "y": 0},
24 {"x": 15.5, "y": 0},
25 {"x": 16.5, "y": 0},
26 {"x": 17.5, "y": 0},
27 {"x": 18.5, "y": 0},
28 {"x": 19.5, "y": 0},
29
30 {"x": 0, "y": 1},
31 {"x": 1, "y": 1},
32 {"x": 2, "y": 1},
33 {"x": 3, "y": 1},
34
35 {"x": 4.5, "y": 1, "w": 1.5},
36 {"x": 6, "y": 1},
37 {"x": 7, "y": 1},
38 {"x": 8, "y": 1},
39 {"x": 9, "y": 1},
40 {"x": 10, "y": 1},
41 {"x": 11, "y": 1},
42 {"x": 12, "y": 1},
43 {"x": 13, "y": 1},
44 {"x": 14, "y": 1},
45 {"x": 15, "y": 1},
46 {"x": 16, "y": 1},
47 {"x": 17, "y": 1},
48 {"x": 18, "y": 1, "w": 1.5},
49 {"x": 19.5, "y": 1},
50
51 {"x": 0, "y": 2},
52 {"x": 1, "y": 2},
53 {"x": 2, "y": 2},
54 {"x": 3, "y": 2},
55
56 {"x": 4.5, "y": 2, "w": 1.75},
57 {"x": 6.25, "y": 2},
58 {"x": 7.25, "y": 2},
59 {"x": 8.25, "y": 2},
60 {"x": 9.25, "y": 2},
61 {"x": 10.25, "y": 2},
62 {"x": 11.25, "y": 2},
63 {"x": 12.25, "y": 2},
64 {"x": 13.25, "y": 2},
65 {"x": 14.25, "y": 2},
66 {"x": 15.25, "y": 2},
67 {"x": 16.25, "y": 2},
68 {"x": 17.25, "y": 2, "w": 2.25},
69 {"x": 19.5, "y": 2},
70
71 {"x": 0, "y": 3},
72 {"x": 1, "y": 3},
73 {"x": 2, "y": 3},
74 {"x": 3, "y": 3},
75
76 {"x": 4.5, "y": 3, "w": 2.25},
77 {"x": 6.75, "y": 3},
78 {"x": 7.75, "y": 3},
79 {"x": 8.75, "y": 3},
80 {"x": 9.75, "y": 3},
81 {"x": 10.75, "y": 3},
82 {"x": 11.75, "y": 3},
83 {"x": 12.75, "y": 3},
84 {"x": 13.75, "y": 3},
85 {"x": 14.75, "y": 3},
86 {"x": 15.75, "y": 3},
87 {"x": 16.75, "y": 3, "w": 1.75},
88 {"x": 18.5, "y": 3},
89 {"x": 19.5, "y": 3},
90
91 {"x": 0, "y": 4},
92 {"x": 1, "y": 4},
93 {"x": 2, "y": 4},
94 {"x": 3, "y": 4},
95 {"x": 4.5, "y": 4, "w": 1.5},
96 {"x": 6, "y": 4},
97 {"x": 7, "y": 4, "w": 1.5},
98 {"x": 8.5, "y": 4, "w": 6.25},
99 {"x": 14.75, "y": 4, "w": 1.25},
100 {"x": 16, "y": 4},
101
102 {"x": 17.5, "y": 4},
103 {"x": 18.5, "y": 4},
104 {"x": 19.5, "y": 4}
105 ]
106 }
107 }
108}
diff --git a/keyboards/aeboards/ext65/keymaps/default/keymap.c b/keyboards/aeboards/ext65/keymaps/default/keymap.c
new file mode 100644
index 000000000..1f933ca1c
--- /dev/null
+++ b/keyboards/aeboards/ext65/keymaps/default/keymap.c
@@ -0,0 +1,99 @@
1/* Copyright 2020 Harrison Chan (Xelus)
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 /* Keymap BASE: (Base Layer) Default Layer
20 * ,-------------------. ,-------------------------------------------------------------------.
21 * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr|
22 * |-------------------| |-------------------------------------------------------------------|
23 * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del |
24 * | + |--------------| |-------------------------------------------------------------------|
25 * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup|
26 * |-------------------| |-------------------------------------------------------------------|
27 * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn|
28 * | ENT|-------------------------------------------------------------------------------------|
29 * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght|
30 * `------------------------------------------------------------------------------------------'
31 */
32 [0] = LAYOUT_ext65(
33 KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, 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_BSLS, KC_GRV , KC_PSCR,
34 KC_PPLS, KC_P9 , KC_P8 , KC_P7 , 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_BSPC, KC_DEL ,
35 KC_PPLS, KC_P6 , KC_P5 , KC_P4 , 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,
36 KC_PENT, KC_P3 , KC_P2 , KC_P1 , 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,
37 KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
38 ),
39
40 [1] = LAYOUT_ext65(
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
42 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
43 KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEBUG,
44 KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
46 ),
47
48 [2] = LAYOUT_ext65(
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
54 ),
55
56 [3] = LAYOUT_ext65(
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
62 )
63};
64
65#ifdef OLED_ENABLE
66
67void render_layer_state(void) {
68 oled_write_ln(PSTR("LAYER"), false);
69 oled_write_ln(PSTR("L1"), layer_state_is(1));
70 oled_write_ln(PSTR("L2"), layer_state_is(2));
71 oled_write_ln(PSTR("L3"), layer_state_is(3));
72 oled_write_ln(PSTR(" "), false);
73}
74
75void render_keylock_status(led_t led_state) {
76 oled_write_ln(PSTR("Lock:"), false);
77 oled_write(PSTR("N"), led_state.num_lock);
78 oled_write(PSTR("C"), led_state.caps_lock);
79 oled_write_ln(PSTR("S"), led_state.scroll_lock);
80 oled_write_ln(PSTR(" "), false);
81}
82
83void render_mod_status(uint8_t modifiers) {
84 oled_write_ln(PSTR("Mods:"), false);
85 oled_write(PSTR("S"), (modifiers & MOD_MASK_SHIFT));
86 oled_write(PSTR("C"), (modifiers & MOD_MASK_CTRL));
87 oled_write(PSTR("A"), (modifiers & MOD_MASK_ALT));
88 oled_write_ln(PSTR("G"), (modifiers & MOD_MASK_GUI));
89 oled_write_ln(PSTR(" "), false);
90}
91
92bool oled_task_user(void) {
93 render_layer_state();
94 render_keylock_status(host_keyboard_led_state());
95 render_mod_status(get_mods()|get_oneshot_mods());
96 return false;
97}
98
99#endif
diff --git a/keyboards/aeboards/ext65/keymaps/default/readme.md b/keyboards/aeboards/ext65/keymaps/default/readme.md
new file mode 100644
index 000000000..3a3bb66d6
--- /dev/null
+++ b/keyboards/aeboards/ext65/keymaps/default/readme.md
@@ -0,0 +1,2 @@
1# The Default Ext65Rev2 Layout
2
diff --git a/keyboards/aeboards/ext65/keymaps/via/keymap.c b/keyboards/aeboards/ext65/keymaps/via/keymap.c
new file mode 100644
index 000000000..1f933ca1c
--- /dev/null
+++ b/keyboards/aeboards/ext65/keymaps/via/keymap.c
@@ -0,0 +1,99 @@
1/* Copyright 2020 Harrison Chan (Xelus)
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 /* Keymap BASE: (Base Layer) Default Layer
20 * ,-------------------. ,-------------------------------------------------------------------.
21 * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr|
22 * |-------------------| |-------------------------------------------------------------------|
23 * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del |
24 * | + |--------------| |-------------------------------------------------------------------|
25 * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup|
26 * |-------------------| |-------------------------------------------------------------------|
27 * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn|
28 * | ENT|-------------------------------------------------------------------------------------|
29 * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght|
30 * `------------------------------------------------------------------------------------------'
31 */
32 [0] = LAYOUT_ext65(
33 KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, 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_BSLS, KC_GRV , KC_PSCR,
34 KC_PPLS, KC_P9 , KC_P8 , KC_P7 , 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_BSPC, KC_DEL ,
35 KC_PPLS, KC_P6 , KC_P5 , KC_P4 , 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,
36 KC_PENT, KC_P3 , KC_P2 , KC_P1 , 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,
37 KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
38 ),
39
40 [1] = LAYOUT_ext65(
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
42 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,
43 KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEBUG,
44 KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
46 ),
47
48 [2] = LAYOUT_ext65(
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
54 ),
55
56 [3] = LAYOUT_ext65(
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
62 )
63};
64
65#ifdef OLED_ENABLE
66
67void render_layer_state(void) {
68 oled_write_ln(PSTR("LAYER"), false);
69 oled_write_ln(PSTR("L1"), layer_state_is(1));
70 oled_write_ln(PSTR("L2"), layer_state_is(2));
71 oled_write_ln(PSTR("L3"), layer_state_is(3));
72 oled_write_ln(PSTR(" "), false);
73}
74
75void render_keylock_status(led_t led_state) {
76 oled_write_ln(PSTR("Lock:"), false);
77 oled_write(PSTR("N"), led_state.num_lock);
78 oled_write(PSTR("C"), led_state.caps_lock);
79 oled_write_ln(PSTR("S"), led_state.scroll_lock);
80 oled_write_ln(PSTR(" "), false);
81}
82
83void render_mod_status(uint8_t modifiers) {
84 oled_write_ln(PSTR("Mods:"), false);
85 oled_write(PSTR("S"), (modifiers & MOD_MASK_SHIFT));
86 oled_write(PSTR("C"), (modifiers & MOD_MASK_CTRL));
87 oled_write(PSTR("A"), (modifiers & MOD_MASK_ALT));
88 oled_write_ln(PSTR("G"), (modifiers & MOD_MASK_GUI));
89 oled_write_ln(PSTR(" "), false);
90}
91
92bool oled_task_user(void) {
93 render_layer_state();
94 render_keylock_status(host_keyboard_led_state());
95 render_mod_status(get_mods()|get_oneshot_mods());
96 return false;
97}
98
99#endif
diff --git a/keyboards/aeboards/ext65/keymaps/via/readme.md b/keyboards/aeboards/ext65/keymaps/via/readme.md
new file mode 100644
index 000000000..4be6efb9e
--- /dev/null
+++ b/keyboards/aeboards/ext65/keymaps/via/readme.md
@@ -0,0 +1,2 @@
1# The VIA Ext65Rev2 Layout
2
diff --git a/keyboards/aeboards/ext65/keymaps/via/rules.mk b/keyboards/aeboards/ext65/keymaps/via/rules.mk
new file mode 100644
index 000000000..e9a8bec87
--- /dev/null
+++ b/keyboards/aeboards/ext65/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
1VIA_ENABLE = yes
2OLED_ENABLE = yes
3# OLED_DRIVER = not a real thing
diff --git a/keyboards/aeboards/ext65/readme.md b/keyboards/aeboards/ext65/readme.md
new file mode 100644
index 000000000..dfbb403b1
--- /dev/null
+++ b/keyboards/aeboards/ext65/readme.md
@@ -0,0 +1,19 @@
1# EXT65
2
3A southpaw inspired keyboard by [AEBoards](https://aeboards.com/)
4
5* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
6* Hardware Supported: EXT65 Rev1, Rev2
7* Hardware Availability: Custom keyboard group buys
8
9Make example for this keyboard (after setting up your build environment):
10
11 make aeboards/ext65/rev1:default
12 make aeboards/ext65/rev2:default
13
14Flashing example for this keyboard:
15
16 make aeboards/ext65/rev1:default:flash
17 make aeboards/ext65/rev2:default:flash
18
19See 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/aeboards/ext65/rev1/.noci b/keyboards/aeboards/ext65/rev1/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev1/.noci
diff --git a/keyboards/aeboards/ext65/rev1/config.h b/keyboards/aeboards/ext65/rev1/config.h
new file mode 100644
index 000000000..cd9c24006
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev1/config.h
@@ -0,0 +1,47 @@
1/* Copyright 2018 Jason Williams (Wilba)
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 0x4145 // "AE"
23#define PRODUCT_ID 0xAE65 // AEboards EXT65
24#define DEVICE_VER 0x0001
25#define MANUFACTURER AEBoards
26#define PRODUCT AEBoards Ext65
27
28/* key matrix size */
29#define MATRIX_ROWS 10
30#define MATRIX_COLS 10
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { C6, C7, B5, B6, D7, B4, D4, D6, B7, E6 }
34#define MATRIX_COL_PINS { B2, B3, B1, B0, F7, F0, F1, F4, F5, F6 }
35#define UNUSED_PINS
36
37/* COL2ROW or ROW2COL */
38#define DIODE_DIRECTION COL2ROW
39
40/* Set 0 if debouncing isn't needed */
41#define DEBOUNCE 5
42
43/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
44#define LOCKING_SUPPORT_ENABLE
45
46/* Locking resynchronize hack */
47#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeboards/ext65/rev1/rev1.c b/keyboards/aeboards/ext65/rev1/rev1.c
new file mode 100644
index 000000000..1d69a6897
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev1/rev1.c
@@ -0,0 +1,32 @@
1#include "rev1.h"
2
3void keyboard_pre_init_user(void) {
4 // Call the keyboard pre init code.
5 // Set our LED pins as output
6 setPinOutput(D5);
7 setPinOutput(D3);
8 setPinOutput(D2);
9 setPinOutput(D1);
10}
11
12bool led_update_kb(led_t led_state) {
13 bool res = led_update_user(led_state);
14 if(res) {
15 writePin(D5, led_state.num_lock);
16 writePin(D3, led_state.caps_lock);
17 writePin(D2, led_state.scroll_lock);
18 }
19 return res;
20}
21
22layer_state_t layer_state_set_kb(layer_state_t state) {
23 switch (get_highest_layer(state)) {
24 case 1:
25 writePinHigh(D1);
26 break;
27 default: // for any other layers, or the default layer
28 writePinLow(D1);
29 break;
30 }
31 return layer_state_set_user(state);
32}
diff --git a/keyboards/aeboards/ext65/rev1/rev1.h b/keyboards/aeboards/ext65/rev1/rev1.h
new file mode 100644
index 000000000..a8efc48ac
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev1/rev1.h
@@ -0,0 +1,41 @@
1/* Copyright 2020 Harrison Chan (Xelus)
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 "ext65.h"
20#include "quantum.h"
21
22#define ____ KC_NO
23
24#define LAYOUT_ext65( \
25 K000, K100, K001, K101, K002, K102, K003, K103, K004, K104, K005, K105, K006, K106, K007, K107, K008, K108, K508, K009, \
26 K200, K300, K201, K301, K202, K302, K203, K303, K204, K304, K205, K305, K206, K306, K207, K307, K208, K308, K209, \
27 K400, K500, K401, K501, K402, K502, K403, K503, K404, K504, K405, K505, K406, K506, K407, K507, K408, K409, \
28 K600, K700, K601, K701, K602, K702, K603, K703, K604, K704, K605, K705, K606, K706, K607, K708, K608, K709, \
29 K800, K900, K801, K901, K802, K902, K803, K805, K906, K807, K908, K808, K909 \
30) { \
31 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \
32 { K100, K101, K102, K103, K104, K105, K106, K107, K108, ____ }, \
33 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \
34 { K300, K301, K302, K303, K304, K305, K306, K307, K308, ____ }, \
35 { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409 }, \
36 { K500, K501, K502, K503, K504, K505, K506, K507, K508, ____ }, \
37 { K600, K601, K602, K603, K604, K605, K606, K607, K608, ____ }, \
38 { K700, K701, K702, K703, K704, K705, K706, ____, K708, K709 }, \
39 { K800, K801, K802, K803, ____, K805, ____, K807, K808, ____ }, \
40 { K900, K901, K902, ____, ____, ____, K906, ____, K908, K909 } \
41}
diff --git a/keyboards/aeboards/ext65/rev1/rules.mk b/keyboards/aeboards/ext65/rev1/rules.mk
new file mode 100644
index 000000000..2e24be64b
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev1/rules.mk
@@ -0,0 +1,17 @@
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 = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/aeboards/ext65/rev2/chconf.h b/keyboards/aeboards/ext65/rev2/chconf.h
new file mode 100644
index 000000000..5af0aad34
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/chconf.h
@@ -0,0 +1,31 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_FREQUENCY 10000
25
26#define CH_CFG_OPTIMIZE_SPEED FALSE
27
28#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
29
30#include_next <chconf.h>
31
diff --git a/keyboards/aeboards/ext65/rev2/config.h b/keyboards/aeboards/ext65/rev2/config.h
new file mode 100644
index 000000000..498e345ad
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/config.h
@@ -0,0 +1,80 @@
1/*
2Copyright 2015 Jun Wako <[email protected]>
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/* USB Device descriptor parameter */
21#define VENDOR_ID 0x4145 // "AE"
22#define PRODUCT_ID 0xA652 // AEboards EXT65 Rev2
23#define DEVICE_VER 0x0001
24#define MANUFACTURER AEBoards
25#define PRODUCT AEBoards Ext65 Rev2
26
27/* key matrix size */
28/* key matrix size */
29#define MATRIX_ROWS 10
30#define MATRIX_COLS 10
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { A10, A9, A8, B7, A2, A1, B12, B11, B10, B2 }
34#define MATRIX_COL_PINS { B14, B6, A0, B1, B0, A7, A6, A5, A4, A3 }
35
36#define DIODE_DIRECTION COL2ROW
37
38/* Set 0 if debouncing isn't needed */
39#define DEBOUNCE 5
40
41/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
42#define LOCKING_SUPPORT_ENABLE
43/* Locking resynchronize hack */
44#define LOCKING_RESYNC_ENABLE
45
46//RGB Underglow WS2812
47#define RGBLIGHT_ANIMATIONS
48#define RGBLED_NUM 24
49#define RGB_DI_PIN B15
50
51//SPI
52#define WS2812_SPI SPID2
53#define WS2812_SPI_MOSI_PAL_MODE 0
54#define WS2812_SPI_SCK_PAL_MODE 0
55#define WS2812_SPI_SCK_PIN B13
56#define WS2812_EXTERNAL_PULLUP
57
58// I2C OLED defines
59#define I2C1_SCL_PIN B8
60#define I2C1_SDA_PIN B9
61
62#define I2C1_SCL_PAL_MODE 1
63#define I2C1_SDA_PAL_MODE 1
64
65#define I2C1_TIMINGR_SCLDEL 3U
66#define I2C1_TIMINGR_SDADEL 1U
67#define I2C1_TIMINGR_SCLH 3U
68#define I2C1_TIMINGR_SCLL 9U
69
70// LED defines
71#define BACKLIGHT_PIN B5
72#define BACKLIGHT_PWM_DRIVER PWMD3
73#define BACKLIGHT_PWM_CHANNEL 2
74#define BACKLIGHT_PAL_MODE 1
75
76#define BACKLIGHT_LEVELS 6
77#define BACKLIGHT_BREATHING
78#define BREATHING_PERIOD 6
79
80#define SLEEP_LED_GPT_DRIVER GPTD1
diff --git a/keyboards/aeboards/ext65/rev2/halconf.h b/keyboards/aeboards/ext65/rev2/halconf.h
new file mode 100644
index 000000000..9fa1eca60
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/halconf.h
@@ -0,0 +1,33 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/halconf.h -r platforms/chibios/common/configs/halconf.h`
20 */
21
22#pragma once
23
24#define HAL_USE_I2C TRUE
25
26#define HAL_USE_PWM TRUE
27
28#define HAL_USE_SPI TRUE
29
30#define HAL_USE_GPT TRUE
31
32#include_next <halconf.h>
33
diff --git a/keyboards/aeboards/ext65/rev2/mcuconf.h b/keyboards/aeboards/ext65/rev2/mcuconf.h
new file mode 100644
index 000000000..43d53d4f2
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/mcuconf.h
@@ -0,0 +1,36 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
20 */
21
22#pragma once
23
24#include_next <mcuconf.h>
25
26#undef STM32_I2C_USE_I2C1
27#define STM32_I2C_USE_I2C1 TRUE
28
29#undef STM32_PWM_USE_TIM3
30#define STM32_PWM_USE_TIM3 TRUE
31
32#undef STM32_SPI_USE_SPI2
33#define STM32_SPI_USE_SPI2 TRUE
34
35#undef STM32_GPT_USE_TIM1
36#define STM32_GPT_USE_TIM1 TRUE
diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c
new file mode 100644
index 000000000..f303a122e
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/rev2.c
@@ -0,0 +1,48 @@
1#include "rev2.h"
2
3// Tested and verified working on ext65rev2
4void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
5
6#ifdef OLED_ENABLE
7void board_init(void) {
8 SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
9 SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
10}
11
12oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
13 return OLED_ROTATION_90; // rotates the display 90 degrees
14}
15
16#else
17
18void keyboard_pre_init_user(void) {
19 // Call the keyboard pre init code.
20 // Set our LED pins as output
21 setPinOutput(B4);
22 setPinOutput(B3);
23 setPinOutput(A15);
24 setPinOutput(A14);
25}
26
27bool led_update_kb(led_t led_state) {
28 bool res = led_update_user(led_state);
29 if(res) {
30 writePin(B4, led_state.num_lock);
31 writePin(B3, led_state.caps_lock);
32 writePin(A15, led_state.scroll_lock);
33 }
34 return res;
35}
36
37layer_state_t layer_state_set_kb(layer_state_t state) {
38 switch (get_highest_layer(state)) {
39 case 1:
40 writePinHigh(A14);
41 break;
42 default: // for any other layers, or the default layer
43 writePinLow(A14);
44 break;
45 }
46 return layer_state_set_user(state);
47}
48#endif
diff --git a/keyboards/aeboards/ext65/rev2/rev2.h b/keyboards/aeboards/ext65/rev2/rev2.h
new file mode 100644
index 000000000..a8efc48ac
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/rev2.h
@@ -0,0 +1,41 @@
1/* Copyright 2020 Harrison Chan (Xelus)
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 "ext65.h"
20#include "quantum.h"
21
22#define ____ KC_NO
23
24#define LAYOUT_ext65( \
25 K000, K100, K001, K101, K002, K102, K003, K103, K004, K104, K005, K105, K006, K106, K007, K107, K008, K108, K508, K009, \
26 K200, K300, K201, K301, K202, K302, K203, K303, K204, K304, K205, K305, K206, K306, K207, K307, K208, K308, K209, \
27 K400, K500, K401, K501, K402, K502, K403, K503, K404, K504, K405, K505, K406, K506, K407, K507, K408, K409, \
28 K600, K700, K601, K701, K602, K702, K603, K703, K604, K704, K605, K705, K606, K706, K607, K708, K608, K709, \
29 K800, K900, K801, K901, K802, K902, K803, K805, K906, K807, K908, K808, K909 \
30) { \
31 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \
32 { K100, K101, K102, K103, K104, K105, K106, K107, K108, ____ }, \
33 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \
34 { K300, K301, K302, K303, K304, K305, K306, K307, K308, ____ }, \
35 { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409 }, \
36 { K500, K501, K502, K503, K504, K505, K506, K507, K508, ____ }, \
37 { K600, K601, K602, K603, K604, K605, K606, K607, K608, ____ }, \
38 { K700, K701, K702, K703, K704, K705, K706, ____, K708, K709 }, \
39 { K800, K801, K802, K803, ____, K805, ____, K807, K808, ____ }, \
40 { K900, K901, K902, ____, ____, ____, K906, ____, K908, K909 } \
41}
diff --git a/keyboards/aeboards/ext65/rev2/rules.mk b/keyboards/aeboards/ext65/rev2/rules.mk
new file mode 100644
index 000000000..b2f713989
--- /dev/null
+++ b/keyboards/aeboards/ext65/rev2/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = STM32F072
3
4# Bootloader selection
5BOOTLOADER = stm32-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 = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19SLEEP_LED_ENABLE = yes
20WS2812_DRIVER = spi
21
22# Enter lower-power sleep mode when on the ChibiOS idle thread
23OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/aeboards/ext65/rules.mk b/keyboards/aeboards/ext65/rules.mk
new file mode 100644
index 000000000..d8b0595a5
--- /dev/null
+++ b/keyboards/aeboards/ext65/rules.mk
@@ -0,0 +1 @@
DEFAULT_FOLDER = aeboards/ext65/rev2 \ No newline at end of file