]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/maxipad/maxipad.h
[Keyboard] Initial refactor of maxipad to conform to current standards (#5233)
[qmk_firmware.git] / keyboards / maxipad / maxipad.h
index 4d8c6428d28ada424e9f22c3c6b523df46c33513..e2a08050538fae608c46a28594b59db41654ed11 100644 (file)
@@ -1,13 +1,39 @@
-#ifndef MAXIPAD_H
-#define MAXIPAD_H
+/* Copyright 2019
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
 
 #include "quantum.h"
 
-// This a shortcut to help you visually see your layout.
-// The following is an example using the Planck MIT layout
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-#define KEYMAP( \
+#define ___ KC_NO
+
+#ifdef KEYBOARD_maxipad_promicro
+    #include "promicro.h"
+#elif KEYBOARD_maxipad_teensy2
+    #include "teensy2.h"
+#endif
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_grid( \
     k00, k01, k02, k03, k04, k05, \
     k10, k11, k12, k13, k14, k15, \
     k20, k21, k22, k23, k24, k25, \
     { k40, k41, k42, k43, k44, k45 } \
 }
 
-#endif
+#define LAYOUT_1x2uC( \
+    k00, k01, k02, k03, k04, k05, \
+    k10, k11, k12, k13, k14, k15, \
+    k20, k21, k22, k23, k24, k25, \
+    k30, k31, k32, k33, k34, k35, \
+    k40, k41, k42, k43,    k44   \
+) \
+{ \
+    { k00, k01, k02, k03, k04, k05 }, \
+    { k10, k11, k12, k13, k14, k15 }, \
+    { k20, k21, k22, k23, k24, k25 }, \
+    { k30, k31, k32, k33, k34, k35 }, \
+    { k40, k41, k42, k43, ___, k44 } \
+}
+
+#define LAYOUT LAYOUT_grid
+#define LAYOUT_ortho_5x6 LAYOUT_grid