summaryrefslogtreecommitdiff
path: root/keyboards/amjpad/amjpad.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/amjpad/amjpad.h')
-rw-r--r--keyboards/amjpad/amjpad.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/keyboards/amjpad/amjpad.h b/keyboards/amjpad/amjpad.h
new file mode 100644
index 0000000000..ffba1c9b94
--- /dev/null
+++ b/keyboards/amjpad/amjpad.h
@@ -0,0 +1,61 @@
+#ifndef AMJPAD_H
+#define ADMJPAD_H
+
+#include "quantum.h"
+
+// readability
+#define XXX KC_NO
+
+/* AMJPAD 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, \
+ k40, k41, k42, k43, \
+ k50, k52 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, XXX}, \
+ {k40, k41, k42, k43}, \
+ {k50, XXX, k52, XXX} \
+}
+#define MAXKEYMAP( \
+ 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);
+
+#endif