From fc9a2167b1cb44477257e02886395b768625d50c Mon Sep 17 00:00:00 2001
From: lukeski14 <73951271+lukeski14@users.noreply.github.com>
Date: Sun, 30 May 2021 17:55:58 -0400
Subject: [PATCH] [Keyboard] jabberwocky via support (#13029)

---
 keyboards/nopunin10did/jabberwocky/config.h   |  2 +
 .../jabberwocky/keymaps/via/keymap.c          | 46 +++++++++++++++++++
 .../jabberwocky/keymaps/via/rules.mk          |  2 +
 3 files changed, 50 insertions(+)
 create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c
 create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/via/rules.mk

diff --git a/keyboards/nopunin10did/jabberwocky/config.h b/keyboards/nopunin10did/jabberwocky/config.h
index 0aa141c1ab..b49a98ba80 100644
--- a/keyboards/nopunin10did/jabberwocky/config.h
+++ b/keyboards/nopunin10did/jabberwocky/config.h
@@ -50,3 +50,5 @@
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 
+/* Reducing layer count to 3 for via support */
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c b/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c
new file mode 100644
index 0000000000..375fc939b2
--- /dev/null
+++ b/keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
+/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
+ *
+ * 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_RH_ANY(
+
+KC_ESC ,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_PSCR,KC_SLCK,KC_INS ,KC_DEL ,KC_HOME,KC_END ,KC_PGUP,KC_PGDN,    
+        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_INT3,KC_BSPC,        KC_NLCK,KC_PSLS,KC_PAST,KC_PAUS,    
+        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_P7  ,KC_P8  ,KC_P9  ,KC_PMNS,     
+        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_NUHS,KC_ENT ,                KC_P4  ,KC_P5  ,KC_P6  ,KC_PPLS,     
+KC_LSFT,KC_NUBS,KC_Z   ,KC_X   ,KC_C   ,KC_V   ,KC_B   ,MO(1),  MO(1),  KC_N   ,KC_M   ,KC_COMM,KC_DOT ,KC_SLSH,KC_INT1,KC_RSFT,KC_UP  ,                KC_P1  ,KC_P2  ,KC_P3  ,KC_PENT,     
+        KC_LCTL,KC_LGUI,        KC_LALT,KC_MENU,KC_SPC ,                KC_SPC ,        KC_ALGR,        KC_RGUI,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT,        KC_P0  ,KC_P0  ,KC_PDOT,KC_PENT),     
+    
+    
+[1] = LAYOUT_RH_ANY(
+RESET  ,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,    
+        _______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,_______,_______,_______,    
+        _______,_______,_______,_______,RESET  ,_______,                _______,_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,     
+        _______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,     
+_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,     
+        _______,_______,        _______,_______,_______,                _______,        _______,        _______,_______,_______,_______,_______,        _______,_______,_______,_______),
+
+[2] = LAYOUT_RH_ANY(
+_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,    
+        _______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,_______,_______,_______,    
+        _______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,     
+        _______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,     
+_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,                _______,_______,_______,_______,     
+        _______,_______,        _______,_______,_______,                _______,        _______,        _______,_______,_______,_______,_______,        _______,_______,_______,_______),
+};
diff --git a/keyboards/nopunin10did/jabberwocky/keymaps/via/rules.mk b/keyboards/nopunin10did/jabberwocky/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/nopunin10did/jabberwocky/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes