From 06bffbd45b9017743bf90cf79efe1de62a49fd2b Mon Sep 17 00:00:00 2001
From: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
Date: Sun, 19 Apr 2020 10:11:55 -0700
Subject: [PATCH] [Keyboard] VIA Support: Singa x TGR Unikorn 60 (#8838)

* add via keymap

* change up VID and PID

* enabling the RGB just so VIA has access to it
---
 keyboards/unikorn/config.h             |  4 +-
 keyboards/unikorn/keymaps/via/keymap.c | 53 ++++++++++++++++++++++++++
 keyboards/unikorn/keymaps/via/rules.mk |  7 ++++
 3 files changed, 62 insertions(+), 2 deletions(-)
 create mode 100644 keyboards/unikorn/keymaps/via/keymap.c
 create mode 100644 keyboards/unikorn/keymaps/via/rules.mk

diff --git a/keyboards/unikorn/config.h b/keyboards/unikorn/config.h
index c5c9b04663..c68a857d5e 100644
--- a/keyboards/unikorn/config.h
+++ b/keyboards/unikorn/config.h
@@ -19,8 +19,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID       0x20A0
-#define PRODUCT_ID      0x422D
+#define VENDOR_ID       0x5354 // Singa x TGR (ST)
+#define PRODUCT_ID      0x556B // UK
 #define DEVICE_VER      0x0200
 #define MANUFACTURER    Singa x TGR
 #define PRODUCT         Unikorn60
diff --git a/keyboards/unikorn/keymaps/via/keymap.c b/keyboards/unikorn/keymaps/via/keymap.c
new file mode 100644
index 0000000000..99310e861b
--- /dev/null
+++ b/keyboards/unikorn/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2019 MechMerlin
+ *
+ * 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
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+  [0] = LAYOUT_60_ansi(
+    KC_GRV,  KC_1,    KC_2,    KC_3,  KC_4,  KC_5,  KC_6,   KC_7,  KC_8,    KC_9,   KC_0,    KC_MINS, KC_EQL,  KC_BSPC,
+    KC_TAB,  KC_Q,    KC_W,    KC_E,  KC_R,  KC_T,  KC_Y,   KC_U,  KC_I,    KC_O,   KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,
+    KC_CAPS, KC_A,    KC_S,    KC_D,  KC_F,  KC_G,  KC_H,   KC_J,  KC_K,    KC_L,   KC_SCLN, KC_QUOT,          KC_ENT,
+    KC_LSFT, KC_Z,    KC_X,    KC_C,  KC_V,  KC_B,  KC_N,   KC_M,  KC_COMM, KC_DOT, KC_SLSH,          KC_RSFT,
+    KC_LCTL, KC_LGUI, KC_LALT,                      KC_SPC,                         KC_RALT, KC_RGUI, MO(1),   KC_RCTL
+  ),
+
+  [1] = LAYOUT_60_ansi(
+    KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_DEL,
+    RESET,   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, 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,
+    KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+  ),
+
+  [2] = LAYOUT_60_ansi(
+    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, 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, 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,                                     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+  ),
+
+  [3] = LAYOUT_60_ansi(
+    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, 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, 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,                                     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+  ),
+  
+};
diff --git a/keyboards/unikorn/keymaps/via/rules.mk b/keyboards/unikorn/keymaps/via/rules.mk
new file mode 100644
index 0000000000..7b439d08c6
--- /dev/null
+++ b/keyboards/unikorn/keymaps/via/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+
+MOUSEKEY_ENABLE = no
+EXTRAKEY_ENABLE = no
+RGBLIGHT_ENABLE = yes
+