From 101f5044359fed6455bccd9f99afa6d5cbdbbf13 Mon Sep 17 00:00:00 2001
From: Chuck Lauer Vose <vosechu@gmail.com>
Date: Mon, 10 Jan 2022 19:53:54 -0500
Subject: [PATCH] [Keyboard] Rename Laptreus to Shapeshifter4060 (#15655)

---
 keyboards/laptreus/keymaps/debug/keymap.c     | 11 ---
 keyboards/laptreus/keymaps/vosechu/readme.md  |  0
 keyboards/laptreus/laptreus.c                 |  6 --
 keyboards/laptreus/laptreus.h                 | 19 -----
 keyboards/laptreus/readme.md                  | 35 --------
 .../{laptreus => shapeshifter4060}/config.h   | 18 ++--
 .../{laptreus => shapeshifter4060}/info.json  |  4 +-
 .../shapeshifter4060/keymaps/debug/keymap.c   | 28 +++++++
 .../keymaps/debug/readme.md                   |  8 +-
 .../keymaps/default/keymap.c                  | 17 ++++
 .../keymaps/default/readme.md                 |  2 +-
 .../keymaps/vosechu/keymap.c                  | 17 ++++
 .../keymaps/vosechu/readme.md                 | 82 +++++++++++++++++++
 keyboards/shapeshifter4060/readme.md          | 37 +++++++++
 .../{laptreus => shapeshifter4060}/rules.mk   |  6 --
 keyboards/shapeshifter4060/shapeshifter4060.c | 18 ++++
 keyboards/shapeshifter4060/shapeshifter4060.h | 34 ++++++++
 17 files changed, 251 insertions(+), 91 deletions(-)
 delete mode 100644 keyboards/laptreus/keymaps/debug/keymap.c
 delete mode 100644 keyboards/laptreus/keymaps/vosechu/readme.md
 delete mode 100644 keyboards/laptreus/laptreus.c
 delete mode 100644 keyboards/laptreus/laptreus.h
 delete mode 100644 keyboards/laptreus/readme.md
 rename keyboards/{laptreus => shapeshifter4060}/config.h (79%)
 rename keyboards/{laptreus => shapeshifter4060}/info.json (95%)
 create mode 100644 keyboards/shapeshifter4060/keymaps/debug/keymap.c
 rename keyboards/{laptreus => shapeshifter4060}/keymaps/debug/readme.md (94%)
 rename keyboards/{laptreus => shapeshifter4060}/keymaps/default/keymap.c (84%)
 rename keyboards/{laptreus => shapeshifter4060}/keymaps/default/readme.md (98%)
 rename keyboards/{laptreus => shapeshifter4060}/keymaps/vosechu/keymap.c (79%)
 create mode 100644 keyboards/shapeshifter4060/keymaps/vosechu/readme.md
 create mode 100644 keyboards/shapeshifter4060/readme.md
 rename keyboards/{laptreus => shapeshifter4060}/rules.mk (85%)
 create mode 100644 keyboards/shapeshifter4060/shapeshifter4060.c
 create mode 100644 keyboards/shapeshifter4060/shapeshifter4060.h

diff --git a/keyboards/laptreus/keymaps/debug/keymap.c b/keyboards/laptreus/keymaps/debug/keymap.c
deleted file mode 100644
index 8ffb06fa25..0000000000
--- a/keyboards/laptreus/keymaps/debug/keymap.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  /* ============================= DEBUG LAYER ============================= */
-  [0] = LAYOUT(
-    KC_A, KC_1, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,
-    KC_A, KC_2, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,
-    KC_A, KC_3, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,
-    KC_A, KC_4, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L
-  )
-};
diff --git a/keyboards/laptreus/keymaps/vosechu/readme.md b/keyboards/laptreus/keymaps/vosechu/readme.md
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/keyboards/laptreus/laptreus.c b/keyboards/laptreus/laptreus.c
deleted file mode 100644
index 2e59ffd622..0000000000
--- a/keyboards/laptreus/laptreus.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "laptreus.h"
-
-void matrix_init_kb() {
-  // auto detect output on init
-  set_output(OUTPUT_AUTO);
-}
diff --git a/keyboards/laptreus/laptreus.h b/keyboards/laptreus/laptreus.h
deleted file mode 100644
index 2e7932e494..0000000000
--- a/keyboards/laptreus/laptreus.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-#include "outputselect.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-    k40, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k49, \
-    k41, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k48, \
-    k42, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k47, \
-    k43, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k46 \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \
-    { k40, k41, k42, k43, XXX, XXX, k46, k47, k48, k49 } \
-}
diff --git a/keyboards/laptreus/readme.md b/keyboards/laptreus/readme.md
deleted file mode 100644
index e27c206048..0000000000
--- a/keyboards/laptreus/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Laptreus
-
-TODO: Insert cool photo
-
-Laptreus is a 40% bluetooth keyboard in the style of the Atreus, which is specifically designed to sit atop your laptop keyboard.
-
-Maintainer: [Chuck Lauer Vose](https://github.com/vosechu)
-MCU: Adafruit Feather 32u4 BLE
-Purchase link: GB coming soon
-Case link: GB coming soon
-Case design files: TODO
-
-## Flashing
-
-**NOTE**: Make sure you don't have a second QMK keyboard plugged in when you do this!
-
-[Default layout documentation](https://github.com/qmk/qmk_firmware/tree/master/keyboards/laptreus/keymaps/default)
-
-To compile and flash to the board:
-
-    make laptreus:default:avrdude
-
-To just compile:
-
-    make laptreus:default
-
-Then use QMK toolbox to write the file
-
-## Changelog
-
-v1.2: Mostly working, but JST connector is a little too tight and the reset switch is not connected.
-
-## Build log
-
-TODO
diff --git a/keyboards/laptreus/config.h b/keyboards/shapeshifter4060/config.h
similarity index 79%
rename from keyboards/laptreus/config.h
rename to keyboards/shapeshifter4060/config.h
index 0c13da4bd6..c8953821a7 100644
--- a/keyboards/laptreus/config.h
+++ b/keyboards/shapeshifter4060/config.h
@@ -1,5 +1,5 @@
 /*
-Copyright 2019 Chuck "@vosechu" Lauer Vose <vosechu@gmail.com>
+Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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
@@ -22,18 +22,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* USB Device descriptor parameter */
 
 #define VENDOR_ID       0x1209 // pid.codes Vendor ID
-#define PRODUCT_ID      0xA1F1 // FIXME: Need to send PR to pid.codes to make this official
-#define DEVICE_VER      0x0001
+#define PRODUCT_ID      0xA1F1 // Shapeshifter 4060: https://pid.codes/1209/A1F1/
+#define DEVICE_VER      0x0002
 #define MANUFACTURER    Vosechu
-#define PRODUCT         Laptreus
+#define PRODUCT         Shapeshifter 4060
 
 /* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 10
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
 
-#define MATRIX_ROW_PINS { F7, F6, F5, F1, F4 }
-#define MATRIX_COL_PINS { D6, B7, B6, D7, C6, D1, D0, D3, D2, F0 }
-#define UNUSED_PINS     { }
+#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { D0, D1, B1, B3, B2, B6, B5, B4, E6, D7, C6, D4 }
+#define UNUSED_PINS     { D2, D3 }
 
 /* COL2ROW or ROW2COL */
 #define DIODE_DIRECTION ROW2COL
diff --git a/keyboards/laptreus/info.json b/keyboards/shapeshifter4060/info.json
similarity index 95%
rename from keyboards/laptreus/info.json
rename to keyboards/shapeshifter4060/info.json
index f82cc8419d..5ec2bc2b03 100644
--- a/keyboards/laptreus/info.json
+++ b/keyboards/shapeshifter4060/info.json
@@ -1,6 +1,6 @@
 {
-    "keyboard_name": "Laptreus",
-    "url": "",
+    "keyboard_name": "Shapeshifter 4060",
+    "url": "kitsunekeyboards.com",
     "maintainer": "vosechu",
     "layouts": {
         "LAYOUT": {
diff --git a/keyboards/shapeshifter4060/keymaps/debug/keymap.c b/keyboards/shapeshifter4060/keymaps/debug/keymap.c
new file mode 100644
index 0000000000..06f9d8ea8f
--- /dev/null
+++ b/keyboards/shapeshifter4060/keymaps/debug/keymap.c
@@ -0,0 +1,28 @@
+/*
+Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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] = {
+  /* ============================= DEBUG LAYER ============================= */
+  [0] = LAYOUT(
+    KC_A, KC_1, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,
+    KC_A, KC_2, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,
+    KC_A, KC_3, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,
+    KC_A, KC_4, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L
+  )
+};
diff --git a/keyboards/laptreus/keymaps/debug/readme.md b/keyboards/shapeshifter4060/keymaps/debug/readme.md
similarity index 94%
rename from keyboards/laptreus/keymaps/debug/readme.md
rename to keyboards/shapeshifter4060/keymaps/debug/readme.md
index fa4a27eda8..3dcbc27ae7 100644
--- a/keyboards/laptreus/keymaps/debug/readme.md
+++ b/keyboards/shapeshifter4060/keymaps/debug/readme.md
@@ -8,11 +8,15 @@ This layout is expressly for debugging to see if your keys are working.
 
 To compile and flash to the board:
 
-    make laptreus:debug:avrdude
+    make shapeshifter4060:debug:avrdude
+    
+If you want to use this with a Proton C, do this instead:
+
+    make shapeshifter4060:debug CTPC=yes
 
 To just compile:
 
-    make laptreus:debug
+    make shapeshifter4060:debug
 
 Then use QMK toolbox to write the file
 
diff --git a/keyboards/laptreus/keymaps/default/keymap.c b/keyboards/shapeshifter4060/keymaps/default/keymap.c
similarity index 84%
rename from keyboards/laptreus/keymaps/default/keymap.c
rename to keyboards/shapeshifter4060/keymaps/default/keymap.c
index b0e1c9f023..e390b5a36f 100644
--- a/keyboards/laptreus/keymaps/default/keymap.c
+++ b/keyboards/shapeshifter4060/keymaps/default/keymap.c
@@ -1,3 +1,20 @@
+/*
+Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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
 
 enum layer_names {
diff --git a/keyboards/laptreus/keymaps/default/readme.md b/keyboards/shapeshifter4060/keymaps/default/readme.md
similarity index 98%
rename from keyboards/laptreus/keymaps/default/readme.md
rename to keyboards/shapeshifter4060/keymaps/default/readme.md
index 0124ab9a9f..9dbe80e645 100644
--- a/keyboards/laptreus/keymaps/default/readme.md
+++ b/keyboards/shapeshifter4060/keymaps/default/readme.md
@@ -1,6 +1,6 @@
 # Default layout
 
-This is the default layout for the Laptreus
+This is the default layout for the Shapeshifter 4060
 
 ## Layout
 
diff --git a/keyboards/laptreus/keymaps/vosechu/keymap.c b/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c
similarity index 79%
rename from keyboards/laptreus/keymaps/vosechu/keymap.c
rename to keyboards/shapeshifter4060/keymaps/vosechu/keymap.c
index 8bb08a8732..eb04506ec0 100644
--- a/keyboards/laptreus/keymaps/vosechu/keymap.c
+++ b/keyboards/shapeshifter4060/keymaps/vosechu/keymap.c
@@ -1,3 +1,20 @@
+/*
+Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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
 
 #include "vosechu.h"
diff --git a/keyboards/shapeshifter4060/keymaps/vosechu/readme.md b/keyboards/shapeshifter4060/keymaps/vosechu/readme.md
new file mode 100644
index 0000000000..a438e5536d
--- /dev/null
+++ b/keyboards/shapeshifter4060/keymaps/vosechu/readme.md
@@ -0,0 +1,82 @@
+# Vosechu layout
+
+This is my personal layout for the Shapeshifter. It's taken a long time to get 
+to this point, but I think there are some things that are cool and special about
+it. 
+
+## Layout
+
+Some special things:
+
+* Lower/Raise are on the F/J keys. Tap to type the character, hold to activate the layer
+* Enter and Backspace also activate the Lift layer.
+* -- To get repeated backspace, hold BkLft and then press Shift
+
+
+### Dvorak
+
+    ,-----------------------------------------------------------------------------------.
+    | Nada |   '  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Reset|
+    |------+------+------+------+------+-------------+------+------+------+------+------|
+    |  Esc |   A  |   O  |   E  | Lwr/U|   I  |   D  | Rse/H|   T  |   N  |   S  | Nada |
+    |------+------+------+------+------+------|------+------+------+------+------+------|
+    | Nada |   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  | Enter|
+    |------+------+------+------+------+------+------+------+------+------+------+------|
+    | Nada |Ctrl/~|AltTab|  Cmd | BkLft| Shift| Space|EntLft|   -  |   =  |   /  |   \  |
+    `-----------------------------------------------------------------------------------'
+
+### Qwerty
+
+    ,-----------------------------------------------------------------------------------.
+    |  Tab |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Back |
+    |------+------+------+------+------+-------------+------+------+------+------+------|
+    |  Esc |   A  |   S  |   D  | Lwr/F|   G  |   H  | Rse/J|   K  |   L  |   ;  |   "  |
+    |------+------+------+------+------+------|------+------+------+------+------+------|
+    | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Enter|
+    |------+------+------+------+------+------+------+------+------+------+------+------|
+    | Hyper|Ctrl/~|AltTab|  Cmd | BkLft| Shift| Space|EntLft| Left | Down |  Up  | Right|
+    `-----------------------------------------------------------------------------------'
+
+### Raise
+
+    ,-----------------------------------------------------------------------------------.
+    |      |  <   |  >   |  {   |  }   |      |      |      |      |      |      |      |
+    |------+------+------+------+------+-------------+------+------+------+------+------|
+    |      |  (   |  )   |  [   |  ]   |      |      |      |      |      |      |      |
+    |------+------+------+------+------+------|------+------+------+------+------+------|
+    |      |      |      |      |      |      |      |      |      |      |      |      |
+    |------+------+------+------+------+------+------+------+------+------+------+------|
+    |      |      |      |      | BkLft| Shift| Space|EntLft|      |      |      |      |
+    `-----------------------------------------------------------------------------------'
+
+### Lower
+
+    ,-----------------------------------------------------------------------------------.
+    |      |      |      |      |      |      |      |   7  |   8  |   9  |      |      |
+    |------+------+------+------+------+-------------+------+------+------+------+------|
+    |      |      |      |      |      |      |      |   4  |   5  |   6  |      |      |
+    |------+------+------+------+------+------|------+------+------+------+------+------|
+    |      |      |      |      |      |      |      |   1  |   2  |   3  |      |      |
+    |------+------+------+------+------+------+------+------+------+------+------+------|
+    |      |      |      |      | BkLft| Shift| Space|   0  |   0  |   .  |      |      |
+    `-----------------------------------------------------------------------------------'
+
+### Lift
+
+    ,-----------------------------------------------------------------------------------.
+    |      |Hist ←| Tab ←|  ↑   | Tab →|Hist →| Mute |      |ScrLft|ScrFul|ScrRgt|      |
+    |------+------+------+------+------+-------------+------+------+------+------+------|
+    |      |      |  ←   |  ↓   |  →   | Pg Up|Vol up|Slk up|      |      |Qwerty|      |
+    |------+------+------+------+------+------|------+------+------+------+------+------|
+    |      |      |      |      |      | Pg Dn|Vol dn|Slk dn|      |      |Dvorak|      |
+    |------+------+------+------+------+------+------+------+------+------+------+------|
+    |      | Reset|      |      |      | Bksp |      | Shift|  Cmd |  Opt | Ctrl |      |
+    `-----------------------------------------------------------------------------------'
+
+Special things:
+
+* Hist: Back button in your browser
+* Tab: Move one tab left/right in most mac apps
+* Slk: Go to the previous/next unread conversation in Slack
+* Scr: Make this app fill the left/right side of your monitor (or full screen)
+* Since arrows are on this layer, the command keys are moved to the right side
diff --git a/keyboards/shapeshifter4060/readme.md b/keyboards/shapeshifter4060/readme.md
new file mode 100644
index 0000000000..2f134ce15b
--- /dev/null
+++ b/keyboards/shapeshifter4060/readme.md
@@ -0,0 +1,37 @@
+Shapeshifter 4060
+![Shapeshifter 4060](#TODO)
+
+The Shapeshifter 4060 is a 40% keyboard that takes inspiration from the Atreus and makes it accessible by putting it on a standard-sized 60% keyboard pcb. Ergonomics should be accessible by anyone!
+
+Keyboard Maintainer: [Chuck Lauer Vose](https://github.com/vosechu)
+Hardware Supported: Kitsune Shapeshifter 4060 (v3.0.3) with a Pro Micro Compatible board / Proton C
+Hardware Availability: GB coming soon
+
+Make example for this keyboard (after setting up your build environment):
+
+    make shapeshifter4060:default
+    
+For use with the Proton C
+    
+    make shapeshifter4060:default CTPC=yes
+    
+Flashing example for this keyboard:
+
+    make shapeshifter4060:default:flash
+    
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+-   **Physical reset button**: Briefly press the button on the top of the PCB
+-   **Keycode in layout**: Press the key mapped to `RESET` if it is available
+
+## Changelog
+
+v3.0.3: Complete rewrite using a standard pro micro pinout.
+
+## Build log
+
+https://docs.google.com/document/d/1ml2rBdiO6GhrUx2HyLqip0i24bCU8d-fQR8adSEPWzQ/edit
diff --git a/keyboards/laptreus/rules.mk b/keyboards/shapeshifter4060/rules.mk
similarity index 85%
rename from keyboards/laptreus/rules.mk
rename to keyboards/shapeshifter4060/rules.mk
index 687d837857..00cb7fbcf7 100644
--- a/keyboards/laptreus/rules.mk
+++ b/keyboards/shapeshifter4060/rules.mk
@@ -1,9 +1,6 @@
 # MCU name
 MCU = atmega32u4
 
-# Processor frequency
-F_CPU = 8000000
-
 # Bootloader selection
 BOOTLOADER = caterina
 
@@ -18,6 +15,3 @@ COMMAND_ENABLE = yes        # Commands for debug and configuration
 NKRO_ENABLE = no            # Enable N-Key Rollover
 #BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
 KEY_LOCK_ENABLE = no
-
-BLUETOOTH_ENABLE = yes
-BLUETOOTH_DRIVER = AdafruitBLE
diff --git a/keyboards/shapeshifter4060/shapeshifter4060.c b/keyboards/shapeshifter4060/shapeshifter4060.c
new file mode 100644
index 0000000000..abe6d65e76
--- /dev/null
+++ b/keyboards/shapeshifter4060/shapeshifter4060.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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 "shapeshifter4060.h"
diff --git a/keyboards/shapeshifter4060/shapeshifter4060.h b/keyboards/shapeshifter4060/shapeshifter4060.h
new file mode 100644
index 0000000000..0c5bd7e089
--- /dev/null
+++ b/keyboards/shapeshifter4060/shapeshifter4060.h
@@ -0,0 +1,34 @@
+/*
+Copyright 2021 Chuck "@vosechu" Lauer Vose <vosechu@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/>.
+*/
+
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+#define LAYOUT( \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
+    k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
+    k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
+    k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11 }, \
+    { k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23 }, \
+    { k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35 }, \
+    { k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 }, \
+}