f77: Add jackhill's layout
[jackhill/qmk/firmware.git] / keyboards / abacus / abacus.h
1 /* Copyright 2020 nickolaij
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 #include "quantum.h"
19 #define XXX KC_NO
20
21
22 /* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30 #define LAYOUT( \
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 \
35 ) \
36 { \
37 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
38 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
39 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
40 { k30, k31, k32, k33, XXX, XXX, k34, XXX, k35, k36, k37, k38} \
41 }