From 4846c8eba07b3177cf217cc10ea57a7832929f0b Mon Sep 17 00:00:00 2001
From: "Eriq M. Adams" <eriq.adams@gmail.com>
Date: Fri, 1 May 2020 10:16:59 +0700
Subject: [PATCH] Add Via Keymap to Blackplum (#8975)

---
 keyboards/blackplum/config.h             |  6 ++--
 keyboards/blackplum/keymaps/via/keymap.c | 38 ++++++++++++++++++++++++
 keyboards/blackplum/keymaps/via/rules.mk |  2 ++
 3 files changed, 43 insertions(+), 3 deletions(-)
 create mode 100644 keyboards/blackplum/keymaps/via/keymap.c
 create mode 100644 keyboards/blackplum/keymaps/via/rules.mk

diff --git a/keyboards/blackplum/config.h b/keyboards/blackplum/config.h
index 256603744e..e74aba6234 100644
--- a/keyboards/blackplum/config.h
+++ b/keyboards/blackplum/config.h
@@ -3,9 +3,9 @@
 #include "config_common.h"
 
 /* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0xFADE
-#define DEVICE_VER      0x0001
+#define VENDOR_ID       0x5058 // "PX"
+#define PRODUCT_ID      0x4250 // "BP"
+#define DEVICE_VER      0x1001
 #define MANUFACTURER    Pixlup
 #define PRODUCT         Blackplum Keeb
 #define DESCRIPTION     Blackplum 68 Percent Mechanical Keyboard
diff --git a/keyboards/blackplum/keymaps/via/keymap.c b/keyboards/blackplum/keymaps/via/keymap.c
new file mode 100644
index 0000000000..6c68a2fad5
--- /dev/null
+++ b/keyboards/blackplum/keymaps/via/keymap.c
@@ -0,0 +1,38 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [0] = LAYOUT_68_ansi(
+    KC_GESC, 	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_INS,		KC_PGUP,\
+    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_DEL,		KC_PGDOWN,\
+    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_UP,\
+    KC_LCTL , 	KC_LGUI , 	KC_LALT ,                      	KC_SPC ,											KC_RALT , 	MO(1) ,		KC_RCTL, 	KC_LEFT,	KC_DOWN,	KC_RIGHT
+  ),
+
+  [1] = LAYOUT_68_ansi(
+    KC_GRV, 	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_TRNS,	KC_MPLY,	KC_HOME,\
+    KC_TRNS, 	RGB_MOD, 	RGB_HUI,   	RGB_SAI, RGB_VAI, 	KC_TRNS, KC_TRNS, KC_TRNS, 	KC_TRNS, 	KC_TRNS, 	KC_PSCR, 	KC_SLCK, 	KC_PAUSE,  	KC_TRNS,	KC_MUTE,	KC_END,\
+    KC_TRNS,	RGB_TOG, 	RGB_HUD, 	RGB_SAD, RGB_VAD, 	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_VOLU,\
+    KC_TRNS, 	KC_TRNS,	KC_TRNS, 						RESET, 												KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_MPRV,    KC_VOLD, 	KC_MNXT
+  ),
+  
+  [2] = LAYOUT_68_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, 						KC_TRNS, 											KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,    KC_TRNS, 	KC_TRNS
+  ),
+  
+  [3] = LAYOUT_68_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, 						KC_TRNS, 											KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,    KC_TRNS, 	KC_TRNS
+  )
+  
+};
+
+
diff --git a/keyboards/blackplum/keymaps/via/rules.mk b/keyboards/blackplum/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/blackplum/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes