aboutsummaryrefslogtreecommitdiff
path: root/keyboards/aeboards/ext65
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/aeboards/ext65')
-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
24 files changed, 789 insertions, 0 deletions
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