]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/kbd75/kbd75.h
KBD75 refactor and Configurator update (#3243)
[qmk_firmware.git] / keyboards / kbd75 / kbd75.h
1 #ifndef KB_H
2 #define KB_H
3
4 #include "quantum.h"
5
6 /* LAYOUT
7  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
8  * │   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │
9  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
10  * │   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │
11  * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
12  * │1.5U │   │   │   │   │   │   │   │   │   │   │   │   │1.5U │   │
13  * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
14  * │1.75U │   │   │   │   │   │   │   │   │   │   │   │2.25U   │   │
15  * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
16  * │2.25U   │   │   │   │   │   │   │   │   │   │   │1.75U │   │   │
17  * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
18  * │1.25│1.25│1.25│2.25U   │1.25│2.75U     │   │   │   │   │   │   │
19  * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘
20  */
21
22 // LAYOUT for all possible switch positions on a KBD75
23 #define LAYOUT( \
24         K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
25         K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
26         K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
27         K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313,       K315, \
28         K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, K415, \
29         K500, K501,       K503, K504,       K506,       K508,       K510, K511, K512, K513, K514, K515  \
30 ) { \
31         { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
32         { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115 }, \
33         { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
34         { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K315 }, \
35         { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415 }, \
36         { K500,  K501,  KC_NO, K503,  K504,  KC_NO, K506,  KC_NO, K508,  KC_NO, K510,  K511,  K512,  K513,  K514,  K515 }  \
37 }
38
39
40 /* 1U bottom row ─────────────────────────── ↓ ─ ↓ ─ ↓
41  * ┌────┬────┬────┬────────────────────────┬───┬───┬───┬───┬───┬───┐
42  * │1.25│1.25│1.25│6.25U                   │1U │1U │1U │1U │1U │1U │
43  * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
44  */
45
46  #define LAYOUT_ansi_1u( \
47         K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
48         K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,       K114, K115, \
49         K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
50         K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313,       K315, \
51         K400,       K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, K415, \
52         K500, K501,       K503,             K506,                   K510, K511, K512, K513, K514, K515  \
53 ) { \
54         { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
55         { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115 }, \
56         { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
57         { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K315 }, \
58         { K400,  KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415 }, \
59         { K500,  K501,  KC_NO, K503,  KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  K512,  K513,  K514,  K515 }  \
60 }
61
62 #define LAYOUT_iso_1u( \
63         K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
64         K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,       K114, K115, \
65         K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \
66         K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214,       K315, \
67         K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, K415, \
68         K500, K501,       K503,             K506,                   K510, K511, K512, K513, K514, K515  \
69 ) { \
70         { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
71         { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115 }, \
72         { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
73         { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K315 }, \
74         { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415 }, \
75         { K500,  K501,  KC_NO, K503,  KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  K512,  K513,  K514,  K515 }  \
76 }
77
78
79 /* normal bottom row ──────────────────────── ↓ ─── ↓
80  * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┬───┐
81  * │1.25│1.25│1.25│6.25U                   │1.5U │1.5U │1U │1U │1U │
82  * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘
83  */
84
85  #define LAYOUT_ansi( \
86         K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
87         K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,       K114, K115, \
88         K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
89         K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313,       K315, \
90         K400,       K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, K415, \
91         K500, K501,       K503,             K506,                   K510,       K512, K513, K514, K515  \
92 ) { \
93         { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
94         { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115 }, \
95         { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
96         { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K315 }, \
97         { K400,  KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415 }, \
98         { K500,  K501,  KC_NO, K503,  KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  KC_NO, K512,  K513,  K514,  K515 }  \
99 }
100
101 #define LAYOUT_iso( \
102         K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
103         K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,       K114, K115, \
104         K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \
105         K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214,       K315, \
106         K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411,       K413, K414, K415, \
107         K500, K501,       K503,             K506,                   K510,       K512, K513, K514, K515  \
108 ) { \
109         { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
110         { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115 }, \
111         { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215 }, \
112         { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K315 }, \
113         { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415 }, \
114         { K500,  K501,  KC_NO, K503,  KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  KC_NO, K512,  K513,  K514,  K515 }  \
115 }
116
117 #endif