]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/bananasplit/bananasplit.h
Merge remote-tracking branch 'upstream/master' into bananasplit
[qmk_firmware.git] / keyboards / bananasplit / bananasplit.h
1 /*
2 Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17 #ifndef BANANASPLIT_H
18 #define BANANASPLIT_H
19
20 #include "quantum.h"
21
22 /*
23 -------------------------------------------------------------------------------------------
24 | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C |    K0D    |
25 -------------------------------------------------------------------------------------------
26 |  K10   | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C |  K1D   |
27 -------------------------------------------------------------------------------------------
28 |   K20   | K21 | K22 | K23 | K24 | K25 | K26 | K27 | K28 | K29 | K2A | K2B |     K2C     |
29 -------------------------------------------------------------------------------------------
30 |     K30     | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B |   K3C   | K3D |
31 -------------------------------------------------------------------------------------------
32 |  K40  |  K41  |  K42  |     K44     |  K45  |     K46     | K48 | K49 | K4A | K4B | K4C |
33 -------------------------------------------------------------------------------------------
34 */
35 #define KEYMAP(                                                                     \
36     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,           \
37     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,           \
38     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,                \
39     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,           \
40     K40, K41, K42,      K44, K45, K46,      K48, K49, K4A, K4B, K4C                 \
41 ) {                                                                                 \
42     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D },       \
43     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D },       \
44     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO },     \
45     { K30, KC_NO,    K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D },  \
46     { K40, K41, K42, KC_NO,    K44, K45, K46, KC_NO,    K48, K49, K4A, K4B, K4C, KC_NO }   \
47 }
48 /* Here is the above keymap filled with KC_TRNS. It's a useful starting point when defining layers.
49 KEYMAP( \
50     ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
51     ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
52     ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
53     ______,         ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,\
54     ______, ______, ______,         ______, ______, ______,         ______, ______, ______, ______, ______  \
55 )
56 */
57
58 #define KEYMAP_HHKBANANA(                                                           \
59     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D,      \
60     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,           \
61     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,                \
62     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                \
63     K40, K41, K42,      K44, K45, K46,      K48, K49, K4A, K4B, K4C                 \
64 ) { \
65     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D },       \
66     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D },       \
67     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D },       \
68     { K30, KC_NO,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
69     { K40, K41, K42, KC_NO,    K44, K45, K46, KC_NO,    K48, K49, K4A, K4B, K4C, KC_NO }   \
70 }
71
72 #define KEYMAP_ANSI( \
73     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,           \
74     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,           \
75     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,                \
76     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                \
77     K40, K41, K42,           K45,           K48, K49,      K4B, K4C                 \
78 ) {                                                                                 \
79     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D },       \
80     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D },       \
81     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO },     \
82     { K30, KC_NO,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
83     { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    K48, K49, KC_NO,  K4B, K4C, KC_NO }  \
84 }
85
86 #define KEYMAP_ISO( \
87     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
88     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
89     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
90     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
91     K40, K41, K42,           K45,           K48, K49,      K4B, K4C  \
92 ) { \
93     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
94     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
95     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
96     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
97     { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    K48, K49, KC_NO,    K4B, K4C, KC_NO }  \
98 }
99
100 /*
101 -------------------------------------------------------------------------------------------
102 | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | K2D |
103 -------------------------------------------------------------------------------------------
104 |  K10   | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C |  K1D   |
105 -------------------------------------------------------------------------------------------
106 |   K20   | K21 | K22 | K23 | K24 | K25 | K26 | K27 | K28 | K29 | K2A | K2B |     K2C     |
107 -------------------------------------------------------------------------------------------
108 |  K30  | K31 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B |   K3C   | K3D |
109 -------------------------------------------------------------------------------------------
110 |  K40  |  K41  |  K42  |     K44     |  K45  |     K46     | K48 | K49 | K4A | K4B | K4C |
111 -------------------------------------------------------------------------------------------
112 */
113 #define KEYMAP_ALL( \
114     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
115     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
116     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
117     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
118     K40, K41, K42,      K44, K45, K46,      K48, K49, K4A, K4B, K4C  \
119 ) { \
120     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
121     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
122     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
123     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
124     { K40, K41, K42, KC_NO,    K44, K45, K46, KC_NO,    K48, K49, K4A, K4B, K4C, KC_NO }  \
125 }
126
127 #define KEYMAP_HHKB_ARROW( \
128     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
129     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
130     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
131     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,\
132     K40, K41, K42,      K44, K45, K46,      K48, K49, K4A, K4B, K4C  \
133 ) { \
134     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
135     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
136     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
137     { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
138     { K40, K41, K42, KC_NO,    K44, K45, K46, KC_NO,    K48, K49, K4A, K4B, K4C, KC_NO }  \
139 }
140
141
142 #endif