]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/tritium_numpad/tritium_numpad.h
[Keyboard] Added 3d printable, handwired numpad by tritiumfusion (#6125)
[qmk_firmware.git] / keyboards / handwired / tritium_numpad / tritium_numpad.h
1 #pragma once
2
3 #include "quantum.h"
4
5 // readability
6 #define XXX KC_NO
7
8 /*  matrix layout
9    * ,-------------------.
10    * | 00 | 01 | 02 | 03 |
11    * |----|----|----|----|
12    * | 10 | 11 | 12 | 13 |
13    * |----|----|----|----|
14    * | 20 | 21 | 22 |    |
15    * |----|----|----| 23 |
16    * | 30 | 31 | 32 |    |
17    * |----|----|----|----|
18    * | 40 | 41 | 42 |    |
19    * |----|----|----| 43 |
20    * |   50    | 52 |    |
21    * `-------------------'
22  */
23 // The first section contains all of the arguments
24 // The second converts the arguments into a two-dimensional array
25 #define LAYOUT_numpad_6x4( \
26   k00, k01, k02, k03, \
27   k10, k11, k12, k13, \
28   k20, k21, k22,      \
29   k30, k31, k32, k23, \
30   k40, k41, k42,      \
31      k50,   k52, k43  \
32 ) \
33 { \
34   {k00, k01, k02, k03}, \
35   {k10, k11, k12, k13}, \
36   {k20, k21, k22, k23}, \
37   {k30, k31, k32, XXX}, \
38   {k40, k41, k42, k43}, \
39   {k50, XXX, k52, XXX} \
40 }
41
42 /*  matrix layout
43    * ,-------------------.
44    * | 00 | 01 | 02 | 03 |
45    * |----|----|----|----|
46    * | 10 | 11 | 12 | 13 |
47    * |----|----|----|----|
48    * | 20 | 21 | 22 |    |
49    * |----|----|----| 23 |
50    * | 30 | 31 | 32 |    |
51    * |----|----|----|----|
52    * | 40 | 41 | 42 |    |
53    * |----|----|----| 43 |
54    * | 50 | 51 | 52 |    |
55    * `-------------------'
56  */
57 // The first section contains all of the arguments
58 // The second converts the arguments into a two-dimensional array
59 #define LAYOUT_nontra_6x4( \
60   k00, k01, k02, k03, \
61   k10, k11, k12, k13, \
62   k20, k21, k22,      \
63   k30, k31, k32, k23, \
64   k40, k41, k42,      \
65   k50, k51, k52, k43  \
66 ) \
67 { \
68   {k00, k01, k02, k03}, \
69   {k10, k11, k12, k13}, \
70   {k20, k21, k22, k23}, \
71   {k30, k31, k32, xxx}, \
72   {k40, k41, k42, k43}, \
73   {k50, k51, k52, xxx} \
74 }
75
76 #define LAYOUT_ortho_6x4( \
77   k00, k01, k02, k03, \
78   k10, k11, k12, k13, \
79   k20, k21, k22, k23, \
80   k30, k31, k32, k33, \
81   k40, k41, k42, k43, \
82   k50, k51, k52, k53  \
83 ) \
84 { \
85   {k00, k01, k02, k03}, \
86   {k10, k11, k12, k13}, \
87   {k20, k21, k22, k23}, \
88   {k30, k31, k32, k33}, \
89   {k40, k41, k42, k43}, \
90   {k50, k51, k52, k53} \
91 }
92
93 void keyboard_pre_init_user(void);
94 void matrix_scan_user(void);
95