]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/preonic/rev3/rev3.h
[Keyboard] Add QMK configurator JSON for Alice PCB (#6397)
[qmk_firmware.git] / keyboards / preonic / rev3 / rev3.h
1 /* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation, either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #pragma once
18
19 #include "preonic.h"
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
123 #endif