]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/satan/satan.h
[Keyboard] fixed pins for numpad_5x4 layout (#6311)
[qmk_firmware.git] / keyboards / satan / satan.h
1 #pragma once
2
3 #include "quantum.h"
4
5 // readability
6 #define XXX KC_NO
7
8 /* All keys (3c is to the right of 3d, 3d is Right Shift)
9  * ,-----------------------------------------------------------.
10  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49|
11  * |-----------------------------------------------------------|
12  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|  1d |
13  * |-----------------------------------------------------------|
14  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c| 2d |
15  * |-----------------------------------------------------------|
16  * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|  3d  | 3c|
17  * |-----------------------------------------------------------|
18  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
19  * `-----------------------------------------------------------'
20  */
21 // The first section contains all of the arguments
22 // The second converts the arguments into a two-dimensional array
23 #define LAYOUT_all( \
24   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
25   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
26   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
27   k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
28   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
29 ) \
30 { \
31   {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
32   {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
33   {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
34   {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
35   {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d}  \
36 }
37
38 /* ANSI
39  * ,-----------------------------------------------------------.
40  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c|    0d |
41  * |-----------------------------------------------------------|
42  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|  1d |
43  * |-----------------------------------------------------------|
44  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b|     2d |
45  * |-----------------------------------------------------------|
46  * | 30     | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|       3d |
47  * |-----------------------------------------------------------|
48  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
49  * `-----------------------------------------------------------'
50  */
51 #define LAYOUT_60_ansi( \
52   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
53   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
54   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d, \
55   k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d, \
56   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
57 ) \
58 { \
59   {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
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, XXX, k2d}, \
62   {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
63   {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d}  \
64 }
65
66 /* ISO
67  * ,-----------------------------------------------------------.
68  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c|    0d |
69  * |-----------------------------------------------------------|
70  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|     |
71  * |------------------------------------------------------.    |
72  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c| 2d |
73  * |-----------------------------------------------------------|
74  * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|       3d |
75  * |-----------------------------------------------------------|
76  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
77  * `-----------------------------------------------------------'
78  */
79 #define LAYOUT_60_iso( \
80   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
81   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,  \
82   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
83   k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3d, \
84   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
85 ) \
86 { \
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, XXX}, \
89   {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
90   {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
91   {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d}  \
92 }
93
94 /* ANSI with split Backspace and Right Shift (HHKB layout)
95  * ,-----------------------------------------------------------.
96  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49|
97  * |-----------------------------------------------------------|
98  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|  1d |
99  * |-----------------------------------------------------------|
100  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b|     2d |
101  * |-----------------------------------------------------------|
102  * | 30     | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|   3d | 3c|
103  * |-----------------------------------------------------------|
104  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
105  * `-----------------------------------------------------------'
106  */
107 #define LAYOUT_60_ansi_split_bs_rshift( \
108   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \
109   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
110   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d, \
111   k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
112   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
113 ) \
114 { \
115   {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
116   {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
117   {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
118   {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
119   {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d}  \
120 }
121
122 /* ISO with split Right Shift
123  * ,-----------------------------------------------------------.
124  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49|
125  * |-----------------------------------------------------------|
126  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|     |
127  * |------------------------------------------------------.    |
128  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c| 2d |
129  * |-----------------------------------------------------------|
130  * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|   3d | 3c|
131  * |-----------------------------------------------------------|
132  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
133  * `-----------------------------------------------------------'
134  */
135 #define LAYOUT_60_iso_split_bs_rshift( \
136   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
137   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
138   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
139   k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
140   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
141 ) \
142 { \
143   {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
144   {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c}, \
145   {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
146   {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
147   {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d}  \
148 }
149
150 /* ANSI with split Right Shift
151  * ,-----------------------------------------------------------.
152  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c|    0d |
153  * |-----------------------------------------------------------|
154  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|  1d |
155  * |-----------------------------------------------------------|
156  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b|     2d |
157  * |-----------------------------------------------------------|
158  * | 30     | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|  3d | 3c |
159  * |-----------------------------------------------------------|
160  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
161  * `-----------------------------------------------------------'
162  */
163 #define LAYOUT_60_ansi_split_rshift( \
164   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
165   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
166   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2d, \
167   k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
168   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
169 ) \
170 { \
171   {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
172   {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
173   {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
174   {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
175   {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d}  \
176 }
177
178 /* ISO with split Right Shift
179  * ,-----------------------------------------------------------.
180  * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c|    0d |
181  * |-----------------------------------------------------------|
182  * | 10  | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c|     |
183  * |------------------------------------------------------.    |
184  * | 20   | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c| 2d |
185  * |-----------------------------------------------------------|
186  * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b|   3d | 3c|
187  * |-----------------------------------------------------------|
188  * | 40 | 41 | 42 |        45              | 4a | 4b | 4c | 4d |
189  * `-----------------------------------------------------------'
190  */
191 #define LAYOUT_60_iso_split_rshift( \
192   k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
193   k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,      \
194   k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
195   k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
196   k40, k41, k42,           k45,                     k4a, k4b, k4c, k4d  \
197 ) { \
198   { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
199   { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX }, \
200   { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \
201   { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
202   { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d }, \
203 }