1 /* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
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.
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.
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/>.
21 #ifndef __AVR__ // Preonic rev. 3 and later
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 \
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 } \
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 \
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 } \
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 \
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 } \
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 \
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 } \
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 \
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 } \