9 /* COSPAD ortho matrix layout
10 * ,-------------------.
11 * | 00 | 01 | 02 | 03 |
12 * |----|----|----|----|
13 * | 10 | 11 | 12 | 13 |
14 * |----|----|----|----|
15 * | 20 | 21 | 22 | 23 |
16 * |----|----|----|----|
17 * | 30 | 31 | 32 | 33 |
18 * |----|----|----|----|
19 * | 40 | 41 | 42 | 43 |
20 * |----|----|----|----|
21 * | 50 | 51 | 52 | 53 |
22 * `-------------------'
26 /* COSPAD numpad matrix layout
27 * ,-------------------.
28 * | 00 | 01 | 02 | 03 |
29 * |----|----|----|----|
30 * | 10 | 11 | 12 | 13 |
31 * |----|----|----|----|
33 * |----|----|----| 23 |
35 * |----|----|----|----|
37 * |----|----|----| 43 |
39 * `-------------------'
41 // The first section contains all of the arguments
42 // The second converts the arguments into a two-dimensional array
43 #define LAYOUT_ortho_6x4( \
52 {k00, k01, k02, k03}, \
53 {k10, k11, k12, k13}, \
54 {k20, k21, k22, k23}, \
55 {k30, k31, k32, k33}, \
56 {k40, k41, k42, k43}, \
57 {k50, k51, k52, k53} \
60 #define LAYOUT_numpad_6x4( \
69 {k00, k01, k02, k03}, \
70 {k10, k11, k12, k13}, \
71 {k20, k21, k22, k23}, \
72 {k30, k31, k32, KC_NO}, \
73 {k40, k41, k42, k43}, \
74 {k50, KC_NO, k52, KC_NO} \
76 void matrix_init_user(void);
77 void matrix_scan_user(void);
79 inline void cospad_bl_led_on(void) { PORTF &= ~(1<<7); }
80 inline void cospad_bl_led_off(void) { PORTF |= (1<<7); }
82 inline void cospad_bl_led_togg(void) {
83 uint8_t bl_mask = PORTF&(1<<7);