]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/downbubble/downbubble.h
Usbasploader bootloader option addition (#6304)
[qmk_firmware.git] / keyboards / handwired / downbubble / downbubble.h
1 /* Copyright 2018 REPLACE_WITH_YOUR_NAME
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 /* This a shortcut to help you visually see your layout.
21  *
22  * The first section contains all of the arguments representing the physical
23  * layout of the board and position of the keys.
24  *
25  * The second converts the arguments into a two-dimensional array which
26  * represents the switch matrix.
27  */
28 #define LAYOUT_standard( \
29     K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
30     K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
31     K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
32     K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
33     K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
34     K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518, K519  \
35 ) \
36 { \
37     { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
38     { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
39     { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
40     { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
41     { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
42     { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
43          }
44
45 #define LAYOUT_split_bs( \
46     K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
47     K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,\
48     K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
49     K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
50     K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
51     K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
52 ) \
53 { \
54     { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
55     { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   K117,   K118,   K119  }, \
56     { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
57     { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
58     { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
59     { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
60          }
61
62 #define LAYOUT_split_rshift( \
63     K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
64     K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
65     K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,               K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
66     K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K29,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
67     K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,               K410,  K411,  K412,  K413,  K414,         K416,  K417,  K418,       \
68     K50,  K51,  K52,  K53,        K54,              K56,        K58,  K49,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
69 ) \
70 { \
71     { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
72     { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
73     { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
74     { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    KC_NO,  K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
75     { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   K417,   K418,   KC_NO }, \
76     { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  KC_NO,  K58,    KC_NO,  K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
77          }
78
79 #define LAYOUT_split_numpad( \
80     K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
81     K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,         K116,  K118,  K119,\
82     K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,  K29,         K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
83     K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K39,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
84     K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,  K49,         K410,  K411,  K412,  K413,  K414,         K416,         K418,       \
85     K50,  K51,  K52,  K53,        K54,              K56,  K57,  K58,  K59,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
86 ) \
87 { \
88     { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,   K018,   K019  }, \
89     { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   KC_NO,  K118,   K119  }, \
90     { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,   K218,   K219  }, \
91     { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    K39,    K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,   KC_NO,  KC_NO }, \
92     { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   KC_NO,  K418,   KC_NO }, \
93     { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  K57,    K58,    K59,    K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,   K518,   K519  }, \
94          }
95
96 #define LAYOUT_all( \
97     K00,  K01,  K02,  K03,  K04,  K05,  K06,                                       K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  K018,  K019,\
98     K10,  K11,  K12,  K13,  K14,  K15,  K16,              K17,  K18,  K19,         K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,\
99     K20,  K21,  K22,  K23,  K24,  K25,              K26,  K27,  K28,  K29,         K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,\
100     K30,  K31,  K32,  K33,  K34,  K35,              K36,  K37,  K38,  K39,         K310,  K311,  K312,  K313,  K314,  K315,         K317,              \
101     K40,        K41,  K42,  K43,  K44,  K45,        K46,  K47,  K48,  K49,         K410,  K411,  K412,  K413,  K414,         K416,  K417,  K418,       \
102     K50,  K51,  K52,  K53,        K54,              K56,  K57,  K58,  K59,         K510,         K512,  K513,  K514,  K516,         K517,  K518,  K519 \
103 ) \
104 { \
105     { K00,  K01,  K02,  K03,  K04,  K05,    K06,  KC_NO,  KC_NO,  KC_NO,  K010,  K011,   K012,  K013,  K014,  K015,   K016,   K017,  K018,   K019  }, \
106     { K10,  K11,  K12,  K13,  K14,  K15,    K16,  K17,    K18,    K19,    K110,  K111,   K112,  K113,  K114,  K115,   K116,   K117,  K118,   K119  }, \
107     { K20,  K21,  K22,  K23,  K24,  K25,    K26,  K27,    K28,    K29,    K210,  K211,   K212,  K213,  K214,  K215,   K216,   K217,  K218,   K219  }, \
108     { K30,  K31,  K32,  K33,  K34,  K35,    K36,  K37,    K38,    K39,    K310,  K311,   K312,  K313,  K314,  K315,   KC_NO,  K317,  KC_NO,  KC_NO }, \
109     { K40,  K41,  K42,  K43,  K44,  K45,    K46,  K47,    K48,    K49,    K410,  K411,   K412,  K413,  K414,  KC_NO,  K416,   K417,  K418,   KC_NO }, \
110     { K50,  K51,  K52,  K53,  K54,  KC_NO,  K56,  K57,    K58,    K59,    K510,  KC_NO,  K512,  K513,  K514,  KC_NO,  K516,   K517,  K518,   K519  }, \
111          }