summaryrefslogtreecommitdiff
path: root/keyboards/cospad/cospad.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/cospad/cospad.h')
-rw-r--r--keyboards/cospad/cospad.h77
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 @@
+#ifndef COSPAD_H
+#define COSPAD_H
+
+#include "quantum.h"
+
+// readability
+#define XXX KC_NO
+
+/* COSPAD ortho matrix layout
+ * ,-------------------.
+ * | 00 | 01 | 02 | 03 |
+ * |----|----|----|----|
+ * | 10 | 11 | 12 | 13 |
+ * |----|----|----|----|
+ * | 20 | 21 | 22 | 23 |
+ * |----|----|----|----|
+ * | 30 | 31 | 32 | 33 |
+ * |----|----|----|----|
+ * | 40 | 41 | 42 | 43 |
+ * |----|----|----|----|
+ * | 50 | 51 | 52 | 53 |
+ * `-------------------'
+ */
+
+
+/* COSPAD numpad matrix layout
+ * ,-------------------.
+ * | 00 | 01 | 02 | 03 |
+ * |----|----|----|----|
+ * | 10 | 11 | 12 | 13 |
+ * |----|----|----|----|
+ * | 20 | 21 | 22 | |
+ * |----|----|----| 23 |
+ * | 30 | 31 | 32 | |
+ * |----|----|----|----|
+ * | 40 | 41 | 42 | |
+ * |----|----|----| 43 |
+ * | 50 | 52 | |
+ * `-------------------'
+ */
+// The first section contains all of the arguments
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, k43, \
+ k50, k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, k43}, \
+ {k50, k51, k52, k53} \
+}
+void matrix_init_user(void);
+void matrix_scan_user(void);
+/*
+inline void cospad_bl_led_on(void) { DDRF |= (1<<7); PORTF &= ~(1<<7); }
+inline void cospad_bl_led_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
+*/
+
+inline void cospad_bl_led_on(void) { PORTF &= ~(1<<7); }
+inline void cospad_bl_led_off(void) { PORTF |= (1<<7); }
+
+inline void cospad_bl_led_togg(void) {
+ uint8_t bl_mask = PORTF&(1<<7);
+ if (bl_mask) {
+ PORTF &= ~(1<<7);
+ } else {
+ PORTF |= (1<<7);
+ }
+}
+#endif