From b6cfd9cb5c707995ae9cb0c7e53defe63918b718 Mon Sep 17 00:00:00 2001
From: Brandon Claveria <48102030+swiftrax@users.noreply.github.com>
Date: Tue, 15 Jun 2021 14:43:18 -0700
Subject: [PATCH] add tender/macrowo_pad (#12786)

* add tender/macrowo_pad

* add another layer for via keymap

Co-authored-by: Swiftrax <swiftrax@gmail.com>
---
 .../tender/macrowo_pad/keymaps/via/keymap.c   | 64 +++++++++++++++++++
 .../tender/macrowo_pad/keymaps/via/rules.mk   |  2 +
 2 files changed, 66 insertions(+)
 create mode 100644 keyboards/tender/macrowo_pad/keymaps/via/keymap.c
 create mode 100644 keyboards/tender/macrowo_pad/keymaps/via/rules.mk

diff --git a/keyboards/tender/macrowo_pad/keymaps/via/keymap.c b/keyboards/tender/macrowo_pad/keymaps/via/keymap.c
new file mode 100644
index 00000000..9f527fd9
--- /dev/null
+++ b/keyboards/tender/macrowo_pad/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
+/* Copyright 2021 swiftrax
+ *
+ * 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/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+    SAY_OWO = SAFE_RANGE,
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+    switch (keycode) {
+    case SAY_OWO:
+        if (record->event.pressed) {
+            // when keycode SAY_OWO is pressed
+            SEND_STRING("OWO");
+        } else {
+            // when keycode SAY_OWO is released
+        }
+        break;
+    }
+    return true;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	[0] = LAYOUT(
+		SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,
+		SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,   SAY_OWO,              SAY_OWO,   SAY_OWO,   SAY_OWO),
+  
+	[1] = LAYOUT(
+    KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,
+    KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,              KC_TRNS,   KC_TRNS,   KC_TRNS),
+
+	[2] = LAYOUT(
+    KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,
+    KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,              KC_TRNS,   KC_TRNS,   KC_TRNS),
+
+    [3] = LAYOUT(
+    KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,
+    KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,              KC_TRNS,   KC_TRNS,   KC_TRNS)
+};
+
+#ifdef OLED_DRIVER_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+    return OLED_ROTATION_270;  
+}
+
+void oled_task_user(void) {
+  oled_write_P(PSTR("OWO\nWhat's\nthis?"), false);
+}
+#endif
diff --git a/keyboards/tender/macrowo_pad/keymaps/via/rules.mk b/keyboards/tender/macrowo_pad/keymaps/via/rules.mk
new file mode 100644
index 00000000..0d102b41
--- /dev/null
+++ b/keyboards/tender/macrowo_pad/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+OLED_DRIVER_ENABLE = yes    # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C