]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/maxipad/maxipad.h
[Keyboard] Initial refactor of maxipad to conform to current standards (#5233)
[qmk_firmware.git] / keyboards / maxipad / maxipad.h
1 /* Copyright 2019
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
20 #define ___ KC_NO
21
22 #ifdef KEYBOARD_maxipad_promicro
23     #include "promicro.h"
24 #elif KEYBOARD_maxipad_teensy2
25     #include "teensy2.h"
26 #endif
27
28 /* This a shortcut to help you visually see your layout.
29  *
30  * The first section contains all of the arguments representing the physical
31  * layout of the board and position of the keys.
32  *
33  * The second converts the arguments into a two-dimensional array which
34  * represents the switch matrix.
35  */
36 #define LAYOUT_grid( \
37     k00, k01, k02, k03, k04, k05, \
38     k10, k11, k12, k13, k14, k15, \
39     k20, k21, k22, k23, k24, k25, \
40     k30, k31, k32, k33, k34, k35, \
41     k40, k41, k42, k43, k44, k45 \
42 ) \
43 { \
44     { k00, k01, k02, k03, k04, k05 }, \
45     { k10, k11, k12, k13, k14, k15 }, \
46     { k20, k21, k22, k23, k24, k25 }, \
47     { k30, k31, k32, k33, k34, k35 }, \
48     { k40, k41, k42, k43, k44, k45 } \
49 }
50
51 #define LAYOUT_1x2uC( \
52     k00, k01, k02, k03, k04, k05, \
53     k10, k11, k12, k13, k14, k15, \
54     k20, k21, k22, k23, k24, k25, \
55     k30, k31, k32, k33, k34, k35, \
56     k40, k41, k42, k43,    k44   \
57 ) \
58 { \
59     { k00, k01, k02, k03, k04, k05 }, \
60     { k10, k11, k12, k13, k14, k15 }, \
61     { k20, k21, k22, k23, k24, k25 }, \
62     { k30, k31, k32, k33, k34, k35 }, \
63     { k40, k41, k42, k43, ___, k44 } \
64 }
65
66 #define LAYOUT LAYOUT_grid
67 #define LAYOUT_ortho_5x6 LAYOUT_grid