aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>2018-12-11 15:58:10 -0800
committerJack Humbert <jack.humb@gmail.com>2018-12-11 18:58:10 -0500
commitd46d3043957b75369923cb0202c632fa1d8f0311 (patch)
tree08ebeb3b0d2f4680fd282840c8caa5369d3a26c9
parentb11c3324774e50b8f17f5b4a3af63f1b6ae441e0 (diff)
downloadqmk_firmware-d46d3043957b75369923cb0202c632fa1d8f0311.tar.gz
qmk_firmware-d46d3043957b75369923cb0202c632fa1d8f0311.zip
Preonic Configurator update (#4598)
* Preonic: refactor layout macros Unify layout macro names across AVR and ARM. - all layouts and matrices have moved/duplicated to their appropriate revisions - preonic.h now includes the appropriate header file from the selected revision - revision header files only contain layouts appropriate for that revision - Previously, all layouts were available in source for all revisions. - removed KEYMAP layout macro alias (was unused) - macros LAYOUT_preonic_1x2uC and LAYOUT_preonic_grid for AVR and ARM revisions - LAYOUT_preonic_grid has alias LAYOUT_ortho_5x12 for all revisions - deleted LAYOUT_ortho_4x12 alias (not appropriate for this keyboard) - ARM-based revisions have 1x2uR, 1x2uL and 2x2u matrices * Preonic: updated revision headers to #pragma once * Preonic: update Configurator files Updated the Configurator files to reflect the previous changes in this branch. - Preonic revs. 1 and 2 will use keyboards/preonic/info.json - Preonic rev. 3 will use keyboards/preonic/rev3/info.json - This file will override keyboards/preonic/info.json when preonic/rev3 is selected in the Configurator.
-rw-r--r--keyboards/preonic/info.json4
-rw-r--r--keyboards/preonic/preonic.h159
-rw-r--r--keyboards/preonic/rev1/rev1.h39
-rw-r--r--keyboards/preonic/rev2/rev2.h36
-rw-r--r--keyboards/preonic/rev3/info.json330
-rw-r--r--keyboards/preonic/rev3/rev3.h106
6 files changed, 528 insertions, 146 deletions
diff --git a/keyboards/preonic/info.json b/keyboards/preonic/info.json
index 3e5670cfa..cb0798b54 100644
--- a/keyboards/preonic/info.json
+++ b/keyboards/preonic/info.json
@@ -6,7 +6,7 @@
6 "width": 12, 6 "width": 12,
7 "height": 5, 7 "height": 5,
8 "layouts": { 8 "layouts": {
9 "KEYMAP": { 9 "LAYOUT_preonic_1x2uC": {
10 "key_count": 59, 10 "key_count": 59,
11 "layout": [ 11 "layout": [
12 { "w": 1, "x": 0, "y": 0 }, 12 { "w": 1, "x": 0, "y": 0 },
@@ -69,7 +69,7 @@
69 { "w": 1, "x": 10, "y": 4 }, 69 { "w": 1, "x": 10, "y": 4 },
70 { "w": 1, "x": 11, "y": 4 } ] 70 { "w": 1, "x": 11, "y": 4 } ]
71 }, 71 },
72 "LAYOUT_preonic_grid": { 72 "LAYOUT_ortho_5x12": {
73 "key_count": 60, 73 "key_count": 60,
74 "layout": [ 74 "layout": [
75 { "w": 1, "x": 0, "y": 0 }, 75 { "w": 1, "x": 0, "y": 0 },
diff --git a/keyboards/preonic/preonic.h b/keyboards/preonic/preonic.h
index 8d7b577a9..e2aa1545c 100644
--- a/keyboards/preonic/preonic.h
+++ b/keyboards/preonic/preonic.h
@@ -1,149 +1,26 @@
1#ifndef PREONIC_H 1#pragma once
2#define PREONIC_H
3 2
4#include "quantum.h" 3#include "quantum.h"
5 4
6#ifdef __AVR__ 5/**************************************************
7 6** Include headers specific to keyboard revision **
8#define LAYOUT_preonic_1x2uC( \ 7***************************************************/
9 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ 8#ifdef KEYBOARD_preonic_rev1
10 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ 9 #include "rev1.h"
11 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ 10#endif
12 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
13 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
14) \
15{ \
16 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
17 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
18 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
19 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
20 { k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
21}
22
23#define LAYOUT_preonic_grid( \
24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
28 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
29) \
30{ \
31 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
32 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
33 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
34 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
35 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
36}
37
38#define KEYMAP LAYOUT_preonic_1x2uC
39#define LAYOUT_ortho_5x12 LAYOUT_preonic_grid
40
41#else
42
43#define LAYOUT_preonic_1x2uC( \
44 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
45 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
46 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
47 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
48 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
49) \
50{ \
51 { k00, k01, k02, k03, k04, k05 }, \
52 { k10, k11, k12, k13, k14, k15 }, \
53 { k20, k21, k22, k23, k24, k25 }, \
54 { k30, k31, k32, k33, k34, k35 }, \
55 { k06, k07, k08, k09, k0a, k0b }, \
56 { k16, k17, k18, k19, k1a, k1b }, \
57 { k26, k27, k28, k29, k2a, k2b }, \
58 { k36, k37, k38, k39, k3a, k3b }, \
59 { k40, k41, k42, k49, k4a, k4b }, \
60 { k46, k47, k48, k43, k44, k45 } \
61}
62
63#define LAYOUT_preonic_1x2uR( \
64 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
65 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
66 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
67 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
68 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
69) \
70{ \
71 { k00, k01, k02, k03, k04, k05 }, \
72 { k10, k11, k12, k13, k14, k15 }, \
73 { k20, k21, k22, k23, k24, k25 }, \
74 { k30, k31, k32, k33, k34, k35 }, \
75 { k06, k07, k08, k09, k0a, k0b }, \
76 { k16, k17, k18, k19, k1a, k1b }, \
77 { k26, k27, k28, k29, k2a, k2b }, \
78 { k36, k37, k38, k39, k3a, k3b }, \
79 { k40, k41, k42, k49, k4a, k4b }, \
80 { k46, k47, k48, k43, k44, k45 } \
81}
82#define LAYOUT_preonic_1x2uL( \
83 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
84 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
85 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
86 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
87 k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
88) \
89{ \
90 { k00, k01, k02, k03, k04, k05 }, \
91 { k10, k11, k12, k13, k14, k15 }, \
92 { k20, k21, k22, k23, k24, k25 }, \
93 { k30, k31, k32, k33, k34, k35 }, \
94 { k06, k07, k08, k09, k0a, k0b }, \
95 { k16, k17, k18, k19, k1a, k1b }, \
96 { k26, k27, k28, k29, k2a, k2b }, \
97 { k36, k37, k38, k39, k3a, k3b }, \
98 { k40, k41, k42, k49, k4a, k4b }, \
99 { k46, k47, k48, k43, k44, k45 } \
100}
101
102#define LAYOUT_preonic_2x2u( \
103 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
104 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
105 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
106 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
107 k40, k41, k42, k43, k44, k46, k48, k49, k4a, k4b \
108) \
109{ \
110 { k00, k01, k02, k03, k04, k05 }, \
111 { k10, k11, k12, k13, k14, k15 }, \
112 { k20, k21, k22, k23, k24, k25 }, \
113 { k30, k31, k32, k33, k34, k35 }, \
114 { k06, k07, k08, k09, k0a, k0b }, \
115 { k16, k17, k18, k19, k1a, k1b }, \
116 { k26, k27, k28, k29, k2a, k2b }, \
117 { k36, k37, k38, k39, k3a, k3b }, \
118 { k40, k41, k42, k49, k4a, k4b }, \
119 { k46, k47, k48, k43, k44, k45 } \
120}
121 11
122#define LAYOUT_preonic_grid( \ 12#ifdef KEYBOARD_preonic_rev2
123 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ 13 #include "rev2.h"
124 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ 14#endif
125 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
126 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
127 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
128) \
129{ \
130 { k00, k01, k02, k03, k04, k05 }, \
131 { k10, k11, k12, k13, k14, k15 }, \
132 { k20, k21, k22, k23, k24, k25 }, \
133 { k30, k31, k32, k33, k34, k35 }, \
134 { k06, k07, k08, k09, k0a, k0b }, \
135 { k16, k17, k18, k19, k1a, k1b }, \
136 { k26, k27, k28, k29, k2a, k2b }, \
137 { k36, k37, k38, k39, k3a, k3b }, \
138 { k40, k41, k42, k49, k4a, k4b }, \
139 { k46, k47, k48, k43, k44, k45 } \
140}
141 15
142#define KEYMAP LAYOUT_preonic_grid 16#ifdef KEYBOARD_preonic_rev3
143#define LAYOUT_ortho_4x12 LAYOUT_preonic_grid 17 #include "rev3.h"
144#define KC_LAYOUT_ortho_4x12 KC_KEYMAP 18#endif
145 19
146 20
147#endif 21/**************************************************
22** Layout macros aliases common to all revisions **
148 23
149#endif 24 Name of Alias Matrix Name:
25 ----------------- ------------------- ****/
26#define LAYOUT_ortho_5x12 LAYOUT_preonic_grid
diff --git a/keyboards/preonic/rev1/rev1.h b/keyboards/preonic/rev1/rev1.h
index 6705b7259..6ca4afd3e 100644
--- a/keyboards/preonic/rev1/rev1.h
+++ b/keyboards/preonic/rev1/rev1.h
@@ -13,4 +13,41 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "preonic.h" \ No newline at end of file 16
17#pragma once
18
19#include "preonic.h"
20
21#ifdef __AVR__ // Preonic revs. 1 & 2
22
23 #define LAYOUT_preonic_1x2uC( \
24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
28 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
29 ) \
30 { \
31 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
32 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
33 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
34 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
35 { k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
36 }
37
38 #define LAYOUT_preonic_grid( \
39 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
40 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
41 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
42 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
43 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
44 ) \
45 { \
46 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
47 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
48 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
49 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
50 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
51 }
52
53#endif
diff --git a/keyboards/preonic/rev2/rev2.h b/keyboards/preonic/rev2/rev2.h
index 511721459..6ca4afd3e 100644
--- a/keyboards/preonic/rev2/rev2.h
+++ b/keyboards/preonic/rev2/rev2.h
@@ -14,4 +14,40 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16 16
17#pragma once
18
17#include "preonic.h" 19#include "preonic.h"
20
21#ifdef __AVR__ // Preonic revs. 1 & 2
22
23 #define LAYOUT_preonic_1x2uC( \
24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
28 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
29 ) \
30 { \
31 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
32 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
33 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
34 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
35 { k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
36 }
37
38 #define LAYOUT_preonic_grid( \
39 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
40 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
41 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
42 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
43 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
44 ) \
45 { \
46 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
47 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
48 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
49 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
50 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
51 }
52
53#endif
diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json
new file mode 100644
index 000000000..50ae8e5fb
--- /dev/null
+++ b/keyboards/preonic/rev3/info.json
@@ -0,0 +1,330 @@
1{
2 "keyboard_name": "Preonic rev. 3",
3 "keyboard_folder": "preonic/rev3",
4 "url": "https://olkb.com/preonic",
5 "maintainer": "jackhumbert",
6 "width": 12,
7 "height": 5,
8 "layouts": {
9 "LAYOUT_preonic_1x2uC": {
10 "key_count": 59,
11 "layout": [
12 {"label":"k00", "x":0, "y":0},
13 {"label":"k01", "x":1, "y":0},
14 {"label":"k02", "x":2, "y":0},
15 {"label":"k03", "x":3, "y":0},
16 {"label":"k04", "x":4, "y":0},
17 {"label":"k05", "x":5, "y":0},
18 {"label":"k06", "x":6, "y":0},
19 {"label":"k07", "x":7, "y":0},
20 {"label":"k08", "x":8, "y":0},
21 {"label":"k09", "x":9, "y":0},
22 {"label":"k0a", "x":10, "y":0},
23 {"label":"k0b", "x":11, "y":0},
24 {"label":"k10", "x":0, "y":1},
25 {"label":"k11", "x":1, "y":1},
26 {"label":"k12", "x":2, "y":1},
27 {"label":"k13", "x":3, "y":1},
28 {"label":"k14", "x":4, "y":1},
29 {"label":"k15", "x":5, "y":1},
30 {"label":"k16", "x":6, "y":1},
31 {"label":"k17", "x":7, "y":1},
32 {"label":"k18", "x":8, "y":1},
33 {"label":"k19", "x":9, "y":1},
34 {"label":"k1a", "x":10, "y":1},
35 {"label":"k1b", "x":11, "y":1},
36 {"label":"k20", "x":0, "y":2},
37 {"label":"k21", "x":1, "y":2},
38 {"label":"k22", "x":2, "y":2},
39 {"label":"k23", "x":3, "y":2},
40 {"label":"k24", "x":4, "y":2},
41 {"label":"k25", "x":5, "y":2},
42 {"label":"k26", "x":6, "y":2},
43 {"label":"k27", "x":7, "y":2},
44 {"label":"k28", "x":8, "y":2},
45 {"label":"k29", "x":9, "y":2},
46 {"label":"k2a", "x":10, "y":2},
47 {"label":"k2b", "x":11, "y":2},
48 {"label":"k30", "x":0, "y":3},
49 {"label":"k31", "x":1, "y":3},
50 {"label":"k32", "x":2, "y":3},
51 {"label":"k33", "x":3, "y":3},
52 {"label":"k34", "x":4, "y":3},
53 {"label":"k35", "x":5, "y":3},
54 {"label":"k36", "x":6, "y":3},
55 {"label":"k37", "x":7, "y":3},
56 {"label":"k38", "x":8, "y":3},
57 {"label":"k39", "x":9, "y":3},
58 {"label":"k3a", "x":10, "y":3},
59 {"label":"k3b", "x":11, "y":3},
60 {"label":"k40", "x":0, "y":4},
61 {"label":"k41", "x":1, "y":4},
62 {"label":"k42", "x":2, "y":4},
63 {"label":"k43", "x":3, "y":4},
64 {"label":"k44", "x":4, "y":4},
65 {"label":"k45", "x":5, "y":4, "w":2},
66 {"label":"k47", "x":7, "y":4},
67 {"label":"k48", "x":8, "y":4},
68 {"label":"k49", "x":9, "y":4},
69 {"label":"k4a", "x":10, "y":4},
70 {"label":"k4b", "x":11, "y":4}
71 ]
72 },
73 "LAYOUT_preonic_1x2uR": {
74 "key_count": 59,
75 "layout": [
76 {"label":"k00", "x":0, "y":0},
77 {"label":"k01", "x":1, "y":0},
78 {"label":"k02", "x":2, "y":0},
79 {"label":"k03", "x":3, "y":0},
80 {"label":"k04", "x":4, "y":0},
81 {"label":"k05", "x":5, "y":0},
82 {"label":"k06", "x":6, "y":0},
83 {"label":"k07", "x":7, "y":0},
84 {"label":"k08", "x":8, "y":0},
85 {"label":"k09", "x":9, "y":0},
86 {"label":"k0a", "x":10, "y":0},
87 {"label":"k0b", "x":11, "y":0},
88 {"label":"k10", "x":0, "y":1},
89 {"label":"k11", "x":1, "y":1},
90 {"label":"k12", "x":2, "y":1},
91 {"label":"k13", "x":3, "y":1},
92 {"label":"k14", "x":4, "y":1},
93 {"label":"k15", "x":5, "y":1},
94 {"label":"k16", "x":6, "y":1},
95 {"label":"k17", "x":7, "y":1},
96 {"label":"k18", "x":8, "y":1},
97 {"label":"k19", "x":9, "y":1},
98 {"label":"k1a", "x":10, "y":1},
99 {"label":"k1b", "x":11, "y":1},
100 {"label":"k20", "x":0, "y":2},
101 {"label":"k21", "x":1, "y":2},
102 {"label":"k22", "x":2, "y":2},
103 {"label":"k23", "x":3, "y":2},
104 {"label":"k24", "x":4, "y":2},
105 {"label":"k25", "x":5, "y":2},
106 {"label":"k26", "x":6, "y":2},
107 {"label":"k27", "x":7, "y":2},
108 {"label":"k28", "x":8, "y":2},
109 {"label":"k29", "x":9, "y":2},
110 {"label":"k2a", "x":10, "y":2},
111 {"label":"k2b", "x":11, "y":2},
112 {"label":"k30", "x":0, "y":3},
113 {"label":"k31", "x":1, "y":3},
114 {"label":"k32", "x":2, "y":3},
115 {"label":"k33", "x":3, "y":3},
116 {"label":"k34", "x":4, "y":3},
117 {"label":"k35", "x":5, "y":3},
118 {"label":"k36", "x":6, "y":3},
119 {"label":"k37", "x":7, "y":3},
120 {"label":"k38", "x":8, "y":3},
121 {"label":"k39", "x":9, "y":3},
122 {"label":"k3a", "x":10, "y":3},
123 {"label":"k3b", "x":11, "y":3},
124 {"label":"k40", "x":0, "y":4},
125 {"label":"k41", "x":1, "y":4},
126 {"label":"k42", "x":2, "y":4},
127 {"label":"k43", "x":3, "y":4},
128 {"label":"k44", "x":4, "y":4},
129 {"label":"k45", "x":5, "y":4},
130 {"label":"k47", "x":6, "y":4, "w":2},
131 {"label":"k48", "x":8, "y":4},
132 {"label":"k49", "x":9, "y":4},
133 {"label":"k4a", "x":10, "y":4},
134 {"label":"k4b", "x":11, "y":4}
135 ]
136 },
137 "LAYOUT_preonic_1x2uL": {
138 "key_count": 59,
139 "layout": [
140 {"label":"k00", "x":0, "y":0},
141 {"label":"k01", "x":1, "y":0},
142 {"label":"k02", "x":2, "y":0},
143 {"label":"k03", "x":3, "y":0},
144 {"label":"k04", "x":4, "y":0},
145 {"label":"k05", "x":5, "y":0},
146 {"label":"k06", "x":6, "y":0},
147 {"label":"k07", "x":7, "y":0},
148 {"label":"k08", "x":8, "y":0},
149 {"label":"k09", "x":9, "y":0},
150 {"label":"k0a", "x":10, "y":0},
151 {"label":"k0b", "x":11, "y":0},
152 {"label":"k10", "x":0, "y":1},
153 {"label":"k11", "x":1, "y":1},
154 {"label":"k12", "x":2, "y":1},
155 {"label":"k13", "x":3, "y":1},
156 {"label":"k14", "x":4, "y":1},
157 {"label":"k15", "x":5, "y":1},
158 {"label":"k16", "x":6, "y":1},
159 {"label":"k17", "x":7, "y":1},
160 {"label":"k18", "x":8, "y":1},
161 {"label":"k19", "x":9, "y":1},
162 {"label":"k1a", "x":10, "y":1},
163 {"label":"k1b", "x":11, "y":1},
164 {"label":"k20", "x":0, "y":2},
165 {"label":"k21", "x":1, "y":2},
166 {"label":"k22", "x":2, "y":2},
167 {"label":"k23", "x":3, "y":2},
168 {"label":"k24", "x":4, "y":2},
169 {"label":"k25", "x":5, "y":2},
170 {"label":"k26", "x":6, "y":2},
171 {"label":"k27", "x":7, "y":2},
172 {"label":"k28", "x":8, "y":2},
173 {"label":"k29", "x":9, "y":2},
174 {"label":"k2a", "x":10, "y":2},
175 {"label":"k2b", "x":11, "y":2},
176 {"label":"k30", "x":0, "y":3},
177 {"label":"k31", "x":1, "y":3},
178 {"label":"k32", "x":2, "y":3},
179 {"label":"k33", "x":3, "y":3},
180 {"label":"k34", "x":4, "y":3},
181 {"label":"k35", "x":5, "y":3},
182 {"label":"k36", "x":6, "y":3},
183 {"label":"k37", "x":7, "y":3},
184 {"label":"k38", "x":8, "y":3},
185 {"label":"k39", "x":9, "y":3},
186 {"label":"k3a", "x":10, "y":3},
187 {"label":"k3b", "x":11, "y":3},
188 {"label":"k40", "x":0, "y":4},
189 {"label":"k41", "x":1, "y":4},
190 {"label":"k42", "x":2, "y":4},
191 {"label":"k43", "x":3, "y":4},
192 {"label":"k44", "x":4, "y":4, "w":2},
193 {"label":"k46", "x":6, "y":4},
194 {"label":"k47", "x":7, "y":4},
195 {"label":"k48", "x":8, "y":4},
196 {"label":"k49", "x":9, "y":4},
197 {"label":"k4a", "x":10, "y":4},
198 {"label":"k4b", "x":11, "y":4}
199 ]
200 },
201 "LAYOUT_preonic_2x2u": {
202 "key_count": 58,
203 "layout": [
204 {"label":"k00", "x":0, "y":0},
205 {"label":"k01", "x":1, "y":0},
206 {"label":"k02", "x":2, "y":0},
207 {"label":"k03", "x":3, "y":0},
208 {"label":"k04", "x":4, "y":0},
209 {"label":"k05", "x":5, "y":0},
210 {"label":"k06", "x":6, "y":0},
211 {"label":"k07", "x":7, "y":0},
212 {"label":"k08", "x":8, "y":0},
213 {"label":"k09", "x":9, "y":0},
214 {"label":"k0a", "x":10, "y":0},
215 {"label":"k0b", "x":11, "y":0},
216 {"label":"k10", "x":0, "y":1},
217 {"label":"k11", "x":1, "y":1},
218 {"label":"k12", "x":2, "y":1},
219 {"label":"k13", "x":3, "y":1},
220 {"label":"k14", "x":4, "y":1},
221 {"label":"k15", "x":5, "y":1},
222 {"label":"k16", "x":6, "y":1},
223 {"label":"k17", "x":7, "y":1},
224 {"label":"k18", "x":8, "y":1},
225 {"label":"k19", "x":9, "y":1},
226 {"label":"k1a", "x":10, "y":1},
227 {"label":"k1b", "x":11, "y":1},
228 {"label":"k20", "x":0, "y":2},
229 {"label":"k21", "x":1, "y":2},
230 {"label":"k22", "x":2, "y":2},
231 {"label":"k23", "x":3, "y":2},
232 {"label":"k24", "x":4, "y":2},
233 {"label":"k25", "x":5, "y":2},
234 {"label":"k26", "x":6, "y":2},
235 {"label":"k27", "x":7, "y":2},
236 {"label":"k28", "x":8, "y":2},
237 {"label":"k29", "x":9, "y":2},
238 {"label":"k2a", "x":10, "y":2},
239 {"label":"k2b", "x":11, "y":2},
240 {"label":"k30", "x":0, "y":3},
241 {"label":"k31", "x":1, "y":3},
242 {"label":"k32", "x":2, "y":3},
243 {"label":"k33", "x":3, "y":3},
244 {"label":"k34", "x":4, "y":3},
245 {"label":"k35", "x":5, "y":3},
246 {"label":"k36", "x":6, "y":3},
247 {"label":"k37", "x":7, "y":3},
248 {"label":"k38", "x":8, "y":3},
249 {"label":"k39", "x":9, "y":3},
250 {"label":"k3a", "x":10, "y":3},
251 {"label":"k3b", "x":11, "y":3},
252 {"label":"k40", "x":0, "y":4},
253 {"label":"k41", "x":1, "y":4},
254 {"label":"k42", "x":2, "y":4},
255 {"label":"k43", "x":3, "y":4},
256 {"label":"k44", "x":4, "y":4, "w":2},
257 {"label":"k46", "x":6, "y":4, "w":2},
258 {"label":"k48", "x":8, "y":4},
259 {"label":"k49", "x":9, "y":4},
260 {"label":"k4a", "x":10, "y":4},
261 {"label":"k4b", "x":11, "y":4}
262 ]
263 },
264 "LAYOUT_ortho_5x12": {
265 "layout": [
266 "key_count": 60,
267 {"label":"k00", "x":0, "y":0},
268 {"label":"k01", "x":1, "y":0},
269 {"label":"k02", "x":2, "y":0},
270 {"label":"k03", "x":3, "y":0},
271 {"label":"k04", "x":4, "y":0},
272 {"label":"k05", "x":5, "y":0},
273 {"label":"k06", "x":6, "y":0},
274 {"label":"k07", "x":7, "y":0},
275 {"label":"k08", "x":8, "y":0},
276 {"label":"k09", "x":9, "y":0},
277 {"label":"k0a", "x":10, "y":0},
278 {"label":"k0b", "x":11, "y":0},
279 {"label":"k10", "x":0, "y":1},
280 {"label":"k11", "x":1, "y":1},
281 {"label":"k12", "x":2, "y":1},
282 {"label":"k13", "x":3, "y":1},
283 {"label":"k14", "x":4, "y":1},
284 {"label":"k15", "x":5, "y":1},
285 {"label":"k16", "x":6, "y":1},
286 {"label":"k17", "x":7, "y":1},
287 {"label":"k18", "x":8, "y":1},
288 {"label":"k19", "x":9, "y":1},
289 {"label":"k1a", "x":10, "y":1},
290 {"label":"k1b", "x":11, "y":1},
291 {"label":"k20", "x":0, "y":2},
292 {"label":"k21", "x":1, "y":2},
293 {"label":"k22", "x":2, "y":2},
294 {"label":"k23", "x":3, "y":2},
295 {"label":"k24", "x":4, "y":2},
296 {"label":"k25", "x":5, "y":2},
297 {"label":"k26", "x":6, "y":2},
298 {"label":"k27", "x":7, "y":2},
299 {"label":"k28", "x":8, "y":2},
300 {"label":"k29", "x":9, "y":2},
301 {"label":"k2a", "x":10, "y":2},
302 {"label":"k2b", "x":11, "y":2},
303 {"label":"k30", "x":0, "y":3},
304 {"label":"k31", "x":1, "y":3},
305 {"label":"k32", "x":2, "y":3},
306 {"label":"k33", "x":3, "y":3},
307 {"label":"k34", "x":4, "y":3},
308 {"label":"k35", "x":5, "y":3},
309 {"label":"k36", "x":6, "y":3},
310 {"label":"k37", "x":7, "y":3},
311 {"label":"k38", "x":8, "y":3},
312 {"label":"k39", "x":9, "y":3},
313 {"label":"k3a", "x":10, "y":3},
314 {"label":"k3b", "x":11, "y":3},
315 {"label":"k40", "x":0, "y":4},
316 {"label":"k41", "x":1, "y":4},
317 {"label":"k42", "x":2, "y":4},
318 {"label":"k43", "x":3, "y":4},
319 {"label":"k44", "x":4, "y":4},
320 {"label":"k45", "x":5, "y":4},
321 {"label":"k46", "x":6, "y":4},
322 {"label":"k47", "x":7, "y":4},
323 {"label":"k48", "x":8, "y":4},
324 {"label":"k49", "x":9, "y":4},
325 {"label":"k4a", "x":10, "y":4},
326 {"label":"k4b", "x":11, "y":4}
327 ]
328 }
329 }
330}
diff --git a/keyboards/preonic/rev3/rev3.h b/keyboards/preonic/rev3/rev3.h
index 7c274ae27..af97239fd 100644
--- a/keyboards/preonic/rev3/rev3.h
+++ b/keyboards/preonic/rev3/rev3.h
@@ -13,9 +13,111 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef REV3_H 16
17#define REV3_H 17#pragma once
18 18
19#include "preonic.h" 19#include "preonic.h"
20 20
21#ifndef __AVR__ // Preonic rev. 3 and later
22
23 #define LAYOUT_preonic_1x2uC( \
24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
28 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
29 ) \
30 { \
31 { k00, k01, k02, k03, k04, k05 }, \
32 { k10, k11, k12, k13, k14, k15 }, \
33 { k20, k21, k22, k23, k24, k25 }, \
34 { k30, k31, k32, k33, k34, k35 }, \
35 { k06, k07, k08, k09, k0a, k0b }, \
36 { k16, k17, k18, k19, k1a, k1b }, \
37 { k26, k27, k28, k29, k2a, k2b }, \
38 { k36, k37, k38, k39, k3a, k3b }, \
39 { k40, k41, k42, k49, k4a, k4b }, \
40 { k45, k47, k48, k43, k44, k45 } \
41 }
42
43 #define LAYOUT_preonic_1x2uR( \
44 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
45 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
46 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
47 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
48 k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
49 ) \
50 { \
51 { k00, k01, k02, k03, k04, k05 }, \
52 { k10, k11, k12, k13, k14, k15 }, \
53 { k20, k21, k22, k23, k24, k25 }, \
54 { k30, k31, k32, k33, k34, k35 }, \
55 { k06, k07, k08, k09, k0a, k0b }, \
56 { k16, k17, k18, k19, k1a, k1b }, \
57 { k26, k27, k28, k29, k2a, k2b }, \
58 { k36, k37, k38, k39, k3a, k3b }, \
59 { k40, k41, k42, k49, k4a, k4b }, \
60 { k47, k47, k48, k43, k44, k45 } \
61 }
62
63 #define LAYOUT_preonic_1x2uL( \
64 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
65 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
66 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
67 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
68 k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
69 ) \
70 { \
71 { k00, k01, k02, k03, k04, k05 }, \
72 { k10, k11, k12, k13, k14, k15 }, \
73 { k20, k21, k22, k23, k24, k25 }, \
74 { k30, k31, k32, k33, k34, k35 }, \
75 { k06, k07, k08, k09, k0a, k0b }, \
76 { k16, k17, k18, k19, k1a, k1b }, \
77 { k26, k27, k28, k29, k2a, k2b }, \
78 { k36, k37, k38, k39, k3a, k3b }, \
79 { k40, k41, k42, k49, k4a, k4b }, \
80 { k46, k47, k48, k43, k44, k44 } \
81 }
82
83 #define LAYOUT_preonic_2x2u( \
84 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
85 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
86 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
87 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
88 k40, k41, k42, k43, k44, k46, k48, k49, k4a, k4b \
89 ) \
90 { \
91 { k00, k01, k02, k03, k04, k05 }, \
92 { k10, k11, k12, k13, k14, k15 }, \
93 { k20, k21, k22, k23, k24, k25 }, \
94 { k30, k31, k32, k33, k34, k35 }, \
95 { k06, k07, k08, k09, k0a, k0b }, \
96 { k16, k17, k18, k19, k1a, k1b }, \
97 { k26, k27, k28, k29, k2a, k2b }, \
98 { k36, k37, k38, k39, k3a, k3b }, \
99 { k40, k41, k42, k49, k4a, k4b }, \
100 { k46, k46, k48, k43, k44, k44 } \
101 }
102
103 #define LAYOUT_preonic_grid( \
104 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
105 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
106 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
107 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
108 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
109 ) \
110 { \
111 { k00, k01, k02, k03, k04, k05 }, \
112 { k10, k11, k12, k13, k14, k15 }, \
113 { k20, k21, k22, k23, k24, k25 }, \
114 { k30, k31, k32, k33, k34, k35 }, \
115 { k06, k07, k08, k09, k0a, k0b }, \
116 { k16, k17, k18, k19, k1a, k1b }, \
117 { k26, k27, k28, k29, k2a, k2b }, \
118 { k36, k37, k38, k39, k3a, k3b }, \
119 { k40, k41, k42, k49, k4a, k4b }, \
120 { k46, k47, k48, k43, k44, k45 } \
121 }
122
21#endif 123#endif