diff options
Diffstat (limited to 'keyboards/cospad/cospad.h')
-rw-r--r-- | keyboards/cospad/cospad.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/keyboards/cospad/cospad.h b/keyboards/cospad/cospad.h new file mode 100644 index 000000000..cbcbdaf96 --- /dev/null +++ b/keyboards/cospad/cospad.h | |||
@@ -0,0 +1,77 @@ | |||
1 | #ifndef COSPAD_H | ||
2 | #define COSPAD_H | ||
3 | |||
4 | #include "quantum.h" | ||
5 | |||
6 | // readability | ||
7 | #define XXX KC_NO | ||
8 | |||
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 | * `-------------------' | ||
23 | */ | ||
24 | |||
25 | |||
26 | /* COSPAD numpad matrix layout | ||
27 | * ,-------------------. | ||
28 | * | 00 | 01 | 02 | 03 | | ||
29 | * |----|----|----|----| | ||
30 | * | 10 | 11 | 12 | 13 | | ||
31 | * |----|----|----|----| | ||
32 | * | 20 | 21 | 22 | | | ||
33 | * |----|----|----| 23 | | ||
34 | * | 30 | 31 | 32 | | | ||
35 | * |----|----|----|----| | ||
36 | * | 40 | 41 | 42 | | | ||
37 | * |----|----|----| 43 | | ||
38 | * | 50 | 52 | | | ||
39 | * `-------------------' | ||
40 | */ | ||
41 | // The first section contains all of the arguments | ||
42 | // The second converts the arguments into a two-dimensional array | ||
43 | #define KEYMAP( \ | ||
44 | k00, k01, k02, k03, \ | ||
45 | k10, k11, k12, k13, \ | ||
46 | k20, k21, k22, k23, \ | ||
47 | k30, k31, k32, k33, \ | ||
48 | k40, k41, k42, k43, \ | ||
49 | k50, k51, k52, k53 \ | ||
50 | ) \ | ||
51 | { \ | ||
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} \ | ||
58 | } | ||
59 | void matrix_init_user(void); | ||
60 | void matrix_scan_user(void); | ||
61 | /* | ||
62 | inline void cospad_bl_led_on(void) { DDRF |= (1<<7); PORTF &= ~(1<<7); } | ||
63 | inline void cospad_bl_led_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); } | ||
64 | */ | ||
65 | |||
66 | inline void cospad_bl_led_on(void) { PORTF &= ~(1<<7); } | ||
67 | inline void cospad_bl_led_off(void) { PORTF |= (1<<7); } | ||
68 | |||
69 | inline void cospad_bl_led_togg(void) { | ||
70 | uint8_t bl_mask = PORTF&(1<<7); | ||
71 | if (bl_mask) { | ||
72 | PORTF &= ~(1<<7); | ||
73 | } else { | ||
74 | PORTF |= (1<<7); | ||
75 | } | ||
76 | } | ||
77 | #endif | ||