]> git.armaanb.net Git - atreides.git/blob - firmware/atreides.h
Update
[atreides.git] / firmware / atreides.h
1 /* Copyright 2021
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 #pragma once
17
18 #include "quantum.h"
19 #define ___ KC_NO
20
21 #ifdef KEYBOARD_atreides_astar
22     #include "astar.h"
23 #elif KEYBOARD_atreides_astar_mirrored
24     #include "astar_mirrored.h"
25 #elif KEYBOARD_atreides_feather
26     #include "feather.h"
27 #elif KEYBOARD_atreides_teensy2
28     #include "teensy2.h"
29 #elif KEYBOARD_atreides_promicro
30     #include "promicro.h"
31 #endif
32
33 // This a shortcut to help you visually see your layout.
34 // The first section contains all of the arguments.
35 // The second converts the arguments into a two-dimensional array.
36 // In the PCBDOWN case we need to swap the middle two keys: k35 and k36.
37 #if defined(PCBDOWN)
38 #define LAYOUT( \
39   k00, k01, k02, k03, k04,           k05, k06, k07, k08, k09, \
40   k10, k11, k12, k13, k14,           k15, k16, k17, k18, k19, \
41   k20, k21, k22, k23, k24,           k25, k26, k27, k28, k29, \
42   k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
43 ) \
44 { \
45         { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \
46         { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \
47         { k20, k21, k22, k23, k24, k36,   k25, k26, k27, k28, k29 }, \
48         { k30, k31, k32, k33, k34, k35,   k37, k38, k39, k3a, k3b } \
49 }
50 #else
51 #define LAYOUT( \
52   k00, k01, k02, k03, k04,           k05, k06, k07, k08, k09, \
53   k10, k11, k12, k13, k14,           k15, k16, k17, k18, k19, \
54   k20, k21, k22, k23, k24,           k25, k26, k27, k28, k29, \
55   k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
56 ) \
57 { \
58         { k00, k01, k02, k03, k04, ___, k05, k06, k07, k08, k09 }, \
59         { k10, k11, k12, k13, k14, ___, k15, k16, k17, k18, k19 }, \
60         { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \
61         { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \
62 }
63 #endif