浏览代码

[Keyboard] Add S7 Elephant Rev2 Support (#9398)

* Add S7 Elephant Rev2 Support

* Apply suggestions from code review

I tested the changes on my board as well, thanks for the suggestions!

* Added a default folder in the makefile so that this would no longer be a breaking change
George Mao 5 年之前
父节点
当前提交
622e94c6cd

+ 7 - 4
keyboards/s7_elephant/readme.md

@@ -4,13 +4,16 @@
 
 
 A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
 A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
 
 
-Keyboard Maintainer: QMK Community  
-Hardware Supported: S7 Elephant  
-Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)  
+**Firmware files are SPECIFIC to each revision. Firmware files from rev1 will not work on rev2 and vice versa.** Please use the `.hex` appropriate for your board.
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: S7 Elephant rev1, rev2
+* Hardware Availability: [The GB has had 2 rounds with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
 
 
 Make example for this keyboard (after setting up your build environment):
 Make example for this keyboard (after setting up your build environment):
 
 
-    make s7_elephant:default:dfu
+    make s7_elephant/rev1:default # 2018 run
+    make s7_elephant/rev2:default # 2019 run
 
 
 To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
 To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
 
 

+ 10 - 4
keyboards/s7_elephant/config.h → keyboards/s7_elephant/rev1/config.h

@@ -3,7 +3,7 @@
 #include "config_common.h"
 #include "config_common.h"
 
 
 /* USB Device descriptor parameter */
 /* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
+#define VENDOR_ID       0xA13B // Hexidecimal A13B will be Jacky's vendor ID
 #define PRODUCT_ID      0x0007
 #define PRODUCT_ID      0x0007
 #define DEVICE_VER      0x0001
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    jacky
 #define MANUFACTURER    jacky
@@ -22,9 +22,6 @@
 /* COL2ROW or ROW2COL */
 /* COL2ROW or ROW2COL */
 #define DIODE_DIRECTION COL2ROW
 #define DIODE_DIRECTION COL2ROW
 
 
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 #define LOCKING_SUPPORT_ENABLE
 #define LOCKING_SUPPORT_ENABLE
 
 
@@ -40,3 +37,12 @@
 #define RGBLIGHT_VAL_STEP 8
 #define RGBLIGHT_VAL_STEP 8
 #define RGBLIGHT_SLEEP
 #define RGBLIGHT_SLEEP
 #endif
 #endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE

+ 0 - 0
keyboards/s7_elephant/info.json → keyboards/s7_elephant/rev1/info.json


+ 0 - 0
keyboards/s7_elephant/keymaps/default/config.h → keyboards/s7_elephant/rev1/keymaps/default/config.h


+ 0 - 0
keyboards/s7_elephant/keymaps/default/keymap.c → keyboards/s7_elephant/rev1/keymaps/default/keymap.c


+ 0 - 0
keyboards/s7_elephant/keymaps/default/readme.md → keyboards/s7_elephant/rev1/keymaps/default/readme.md


+ 17 - 0
keyboards/s7_elephant/rev1/readme.md

@@ -0,0 +1,17 @@
+# S7 Elephant
+
+![S7 Elephant](https://i.imgur.com/CaHxKBJ.jpg)
+
+A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: S7 Elephant
+* Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make s7_elephant/rev1:default
+
+To enter the bootloader, either short the pins on the PCB or the RESET button on the FN layer.
+
+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).

+ 1 - 0
keyboards/s7_elephant/rev1/rev1.c

@@ -0,0 +1 @@
+#include "rev1.h"

+ 1 - 3
keyboards/s7_elephant/s7_elephant.h → keyboards/s7_elephant/rev1/rev1.h

@@ -1,5 +1,4 @@
-#ifndef S7_ELEPHANT_H
-#define S7_ELEPHANT_H
+#pragma once
 
 
 #include "quantum.h"
 #include "quantum.h"
 
 
@@ -852,4 +851,3 @@ K400, K401, K402, K403,                   K407,             K410,             K4
 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
 { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 }  \
 { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 }  \
 }
 }
-#endif

+ 25 - 0
keyboards/s7_elephant/rev1/rules.mk

@@ -0,0 +1,25 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = no    # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes    # Mouse keys
+EXTRAKEY_ENABLE = yes    # Audio control and System control
+CONSOLE_ENABLE = no      # Console for debug
+COMMAND_ENABLE = no      # Commands for debug and configuration
+SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes        # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no    # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes    # Enable keyboard underlight functionality

+ 83 - 0
keyboards/s7_elephant/rev2/config.h

@@ -0,0 +1,83 @@
+/*
+Copyright 2020 MudkipMao
+
+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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xA13B // Hexidecimal A13B will be Jacky's vendor ID
+#define PRODUCT_ID      0x0008 // 8 for S7++
+#define DEVICE_VER      0x0002
+#define MANUFACTURER    Jacky
+#define PRODUCT         Jacky S7 Elephant Rev 2
+#define DESCRIPTION     A high-end 70% custom keyboard
+
+/* Don't remove this without also removing LTO_ENABLE=yes in rules.mk */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ *
+ *                        0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F   */
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
+#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0, E6 }
+
+/* Setting the matrix value of top left key for bootmagic lite */
+#define BOOTMAGIC_LITE_ROW      0
+#define BOOTMAGIC_LITE_COLUMN   15
+
+#define DIODE_DIRECTION ROW2COL
+
+#define BACKLIGHT_PIN B6
+// #define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 15
+
+#define RGB_DI_PIN E2
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 2
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+#define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#endif // RGB_DI_PIN
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/

+ 167 - 0
keyboards/s7_elephant/rev2/info.json

@@ -0,0 +1,167 @@
+{
+    "keyboard_name": "S7 Elephant Rev2",
+    "url": "https://geekhack.org/index.php?topic=103148.0",
+    "maintainer": "qmk",
+    "width": 17.25,
+    "height": 5,
+    "layouts": {
+        "LAYOUT_all": {
+            "key_count": 75,
+            "layout": [
+                {"label":"K0F (B0,E6)", "x":0, "y":0},
+                {"label":"K00 (B0,D0)", "x":1.25, "y":0},
+                {"label":"K01 (B0,D1)", "x":2.25, "y":0},
+                {"label":"K02 (B0,D2)", "x":3.25, "y":0},
+                {"label":"K03 (B0,D3)", "x":4.25, "y":0},
+                {"label":"K04 (B0,D5)", "x":5.25, "y":0},
+                {"label":"K05 (B0,D4)", "x":6.25, "y":0},
+                {"label":"K06 (B0,D6)", "x":7.25, "y":0},
+                {"label":"K07 (B0,D7)", "x":8.25, "y":0},
+                {"label":"K08 (B0,B4)", "x":9.25, "y":0},
+                {"label":"K09 (B0,F7)", "x":10.25, "y":0},
+                {"label":"K0A (B0,F6)", "x":11.25, "y":0},
+                {"label":"K0B (B0,F5)", "x":12.25, "y":0},
+                {"label":"K0C (B0,F4)", "x":13.25, "y":0},
+                {"label":"K0D (B0,F1)", "x":14.25, "y":0},
+                {"label":"K0E (B0,F0)", "x":15.25, "y":0},
+                {"label":"K4E (B7,F0)", "x":16.25, "y":0},
+                {"label":"K1F (B1,E6)", "x":0, "y":1},
+                {"label":"K10 (B1,D0)", "x":1.25, "y":1, "w":1.5},
+                {"label":"K11 (B1,D1)", "x":2.75, "y":1},
+                {"label":"K12 (B1,D2)", "x":3.75, "y":1},
+                {"label":"K13 (B1,D3)", "x":4.75, "y":1},
+                {"label":"K14 (B1,D5)", "x":5.75, "y":1},
+                {"label":"K15 (B1,D4)", "x":6.75, "y":1},
+                {"label":"K16 (B1,D6)", "x":7.75, "y":1},
+                {"label":"K17 (B1,D7)", "x":8.75, "y":1},
+                {"label":"K18 (B1,B4)", "x":9.75, "y":1},
+                {"label":"K19 (B1,F7)", "x":10.75, "y":1},
+                {"label":"K1A (B1,F6)", "x":11.75, "y":1},
+                {"label":"K1B (B1,F5)", "x":12.75, "y":1},
+                {"label":"K1C (B1,F4)", "x":13.75, "y":1},
+                {"label":"K2C (B2,F4)", "x":14.75, "y":1, "w":1.5},
+                {"label":"K1E (B1,F0)", "x":16.25, "y":1},
+                {"label":"K2F (B2,E6)", "x":0, "y":2},
+                {"label":"K20 (B2,D0)", "x":1.25, "y":2, "w":1.75},
+                {"label":"K21 (B2,D1)", "x":3, "y":2},
+                {"label":"K22 (B2,D2)", "x":4, "y":2},
+                {"label":"K23 (B2,D3)", "x":5, "y":2},
+                {"label":"K24 (B2,D5)", "x":6, "y":2},
+                {"label":"K25 (B2,D4)", "x":7, "y":2},
+                {"label":"K26 (B2,D6)", "x":8, "y":2},
+                {"label":"K27 (B2,D7)", "x":9, "y":2},
+                {"label":"K28 (B2,B4)", "x":10, "y":2},
+                {"label":"K29 (B2,F7)", "x":11, "y":2},
+                {"label":"K2A (B2,F6)", "x":12, "y":2},
+                {"label":"K2B (B2,F5)", "x":13, "y":2},
+                {"label":"K1D (B1,F1)", "x":14, "y":2, "w":2.25},
+                {"label":"K2E (B2,F0)", "x":16.25, "y":2},
+                {"label":"K3F (B3,E6)", "x":0, "y":3},
+                {"label":"K30 (B3,D0)", "x":1.25, "y":3, "w":1.25},
+                {"label":"K31 (B3,D1)", "x":2.5, "y":3},
+                {"label":"K32 (B3,D2)", "x":3.5, "y":3},
+                {"label":"K33 (B3,D3)", "x":4.5, "y":3},
+                {"label":"K34 (B3,D5)", "x":5.5, "y":3},
+                {"label":"K35 (B3,D4)", "x":6.5, "y":3},
+                {"label":"K36 (B3,D6)", "x":7.5, "y":3},
+                {"label":"K37 (B3,D7)", "x":8.5, "y":3},
+                {"label":"K38 (B3,B4)", "x":9.5, "y":3},
+                {"label":"K39 (B3,F7)", "x":10.5, "y":3},
+                {"label":"K3A (B3,F6)", "x":11.5, "y":3},
+                {"label":"K3B (B3,F5)", "x":12.5, "y":3},
+                {"label":"K3C (B3,F4)", "x":13.5, "y":3, "w":1.75},
+                {"label":"K3D (B3,F1)", "x":15.25, "y":3},
+                {"label":"K3E (B3,F0)", "x":16.25, "y":3},
+                {"label":"K4F (B7,E6)", "x":0, "y":4},
+                {"label":"K40 (B7,D0)", "x":1.25, "y":4, "w":1.25},
+                {"label":"K41 (B7,D1)", "x":2.5, "y":4, "w":1.25},
+                {"label":"K42 (B7,D2)", "x":3.75, "y":4, "w":1.25},
+                {"label":"K46 (B7,D6)", "x":5, "y":4, "w":6.25},
+                {"label":"K48 (B7,B4)", "x":11.25, "y":4},
+                {"label":"K49 (B7,F7)", "x":12.25, "y":4},
+                {"label":"K4A (B7,F6)", "x":13.25, "y":4},
+                {"label":"K4B (B7,F5)", "x":14.25, "y":4},
+                {"label":"K4C (B7,F4)", "x":15.25, "y":4},
+                {"label":"K4D (B7,F1)", "x":16.25, "y":4}
+            ]
+        },
+        "LAYOUT_ansi_1u": {
+            "key_count": 73,
+            "layout": [
+                {"label":"K0F", "x":0, "y":0},
+                {"label":"K00", "x":1.25, "y":0},
+                {"label":"K01", "x":2.25, "y":0},
+                {"label":"K02", "x":3.25, "y":0},
+                {"label":"K03", "x":4.25, "y":0},
+                {"label":"K04", "x":5.25, "y":0},
+                {"label":"K05", "x":6.25, "y":0},
+                {"label":"K06", "x":7.25, "y":0},
+                {"label":"K07", "x":8.25, "y":0},
+                {"label":"K08", "x":9.25, "y":0},
+                {"label":"K09", "x":10.25, "y":0},
+                {"label":"K0A", "x":11.25, "y":0},
+                {"label":"K0B", "x":12.25, "y":0},
+                {"label":"K0C", "x":13.25, "y":0},
+                {"label":"K0E", "x":14.25, "y":0, "w":2},
+                {"label":"K4E", "x":16.25, "y":0},
+                {"label":"K1F", "x":0, "y":1},
+                {"label":"K10", "x":1.25, "y":1, "w":1.5},
+                {"label":"K11", "x":2.75, "y":1},
+                {"label":"K12", "x":3.75, "y":1},
+                {"label":"K13", "x":4.75, "y":1},
+                {"label":"K14", "x":5.75, "y":1},
+                {"label":"K15", "x":6.75, "y":1},
+                {"label":"K16", "x":7.75, "y":1},
+                {"label":"K17", "x":8.75, "y":1},
+                {"label":"K18", "x":9.75, "y":1},
+                {"label":"K19", "x":10.75, "y":1},
+                {"label":"K1A", "x":11.75, "y":1},
+                {"label":"K1B", "x":12.75, "y":1},
+                {"label":"K1C", "x":13.75, "y":1},
+                {"label":"K2C", "x":14.75, "y":1, "w":1.5},
+                {"label":"K1E", "x":16.25, "y":1},
+                {"label":"K2F", "x":0, "y":2},
+                {"label":"K20", "x":1.25, "y":2, "w":1.75},
+                {"label":"K21", "x":3, "y":2},
+                {"label":"K22", "x":4, "y":2},
+                {"label":"K23", "x":5, "y":2},
+                {"label":"K24", "x":6, "y":2},
+                {"label":"K25", "x":7, "y":2},
+                {"label":"K26", "x":8, "y":2},
+                {"label":"K27", "x":9, "y":2},
+                {"label":"K28", "x":10, "y":2},
+                {"label":"K29", "x":11, "y":2},
+                {"label":"K2A", "x":12, "y":2},
+                {"label":"K2B", "x":13, "y":2},
+                {"label":"K1D", "x":14, "y":2, "w":2.25},
+                {"label":"K2E", "x":16.25, "y":2},
+                {"label":"K3F", "x":0, "y":3},
+                {"label":"K30", "x":1.25, "y":3, "w":2.25},
+                {"label":"K32", "x":3.5, "y":3},
+                {"label":"K33", "x":4.5, "y":3},
+                {"label":"K34", "x":5.5, "y":3},
+                {"label":"K35", "x":6.5, "y":3},
+                {"label":"K36", "x":7.5, "y":3},
+                {"label":"K37", "x":8.5, "y":3},
+                {"label":"K38", "x":9.5, "y":3},
+                {"label":"K39", "x":10.5, "y":3},
+                {"label":"K3A", "x":11.5, "y":3},
+                {"label":"K3B", "x":12.5, "y":3},
+                {"label":"K3C", "x":13.5, "y":3, "w":1.75},
+                {"label":"K3D", "x":15.25, "y":3},
+                {"label":"K3E", "x":16.25, "y":3},
+                {"label":"K4F", "x":0, "y":4},
+                {"label":"K40", "x":1.25, "y":4, "w":1.25},
+                {"label":"K41", "x":2.5, "y":4, "w":1.25},
+                {"label":"K42", "x":3.75, "y":4, "w":1.25},
+                {"label":"K46", "x":5, "y":4, "w":6.25},
+                {"label":"K48", "x":11.25, "y":4},
+                {"label":"K49", "x":12.25, "y":4},
+                {"label":"K4A", "x":13.25, "y":4},
+                {"label":"K4B", "x":14.25, "y":4},
+                {"label":"K4C", "x":15.25, "y":4},
+                {"label":"K4D", "x":16.25, "y":4}
+            ]
+        }
+    }
+}

+ 65 - 0
keyboards/s7_elephant/rev2/keymaps/default/keymap.c

@@ -0,0 +1,65 @@
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+    _QWERTY,
+    _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,------.   ,-------------------------------------------------------------------------------------------------.
+ * |  F1  |   | Esc`~ |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |   Bkspc   | Ins |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |  F2  |   | Tab    |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |    \     | Del |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |  F3  |   | Caps    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter      | Home|
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |  F4  |   | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |    RShift   |  U  | End |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |  F5  |   | Ctrl |  Gui  |  Alt  |              Space                | RAlt |  FN  | RCtrl |  L  | D  |  R  |
+ * `------'   `-------------------------------------------------------------------------------------------------'
+ */
+
+    [_QWERTY] = LAYOUT_ansi_1u(
+        KC_F1, 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_F2, 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_F3, 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_HOME,
+        KC_F4, 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_END,
+        KC_F5, KC_LCTL, KC_LGUI, KC_LALT,                          KC_SPC,             KC_RALT, MO(_FN), KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+
+/* FN
+ * ,------.   ,-------------------------------------------------------------------------------------------------.
+ * |Reset |   |  F1   | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 | PScr |  ScrLck  |Pause|
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |      |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |      |   |         |Prev |Play |Next |     |     |     |     |VolD |Mute |VolU |     |               |PgUp |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |      |   |           |     |     |     |     |     |     |     |     |     |     |             |     |PgDn |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |EEPRST|   |      |       |       |                                   |      |      |       |     |    |     |
+ * `------'   `-------------------------------------------------------------------------------------------------'
+ */
+
+    [_FN] = LAYOUT_ansi_1u(
+        RESET,   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_PAUS,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+        _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______,          KC_PGUP,
+        _______, _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+        EEP_RST, _______, _______, _______,                        _______,              _______, _______, _______,          _______, _______, _______
+    ),
+};
+
+bool led_update_user(led_t led_state) {
+    // Turn LEDs On/Off for Caps Lock
+    if (led_state.caps_lock) {
+        rgblight_enable_noeeprom();
+        rgblight_sethsv_noeeprom(0, 0, 80);
+    } else {
+        rgblight_sethsv_noeeprom(0, 0, 80);
+        rgblight_disable_noeeprom();
+    }
+    return false;
+}

+ 35 - 0
keyboards/s7_elephant/rev2/keymaps/default/readme.md

@@ -0,0 +1,35 @@
+# Default keymap for S7 Elephant
+
+**Features**
+
+* LEDs are functioning as Caps-Lock indicators
+
+## QWERTY (Normal) Layer
+```
+,------.   ,-------------------------------------------------------------------------------------------------.
+|  F1  |   | Esc`~ |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |   Bkspc   |Home |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F2  |   | Tab    |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |    \     | End |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F3  |   | Caps    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter      | Ins |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F4  |   | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |    RShift   |  U  | Del |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F5  |   | Ctrl |  Gui  |  Alt  |              Space                | FN | RAlt  | RCtrl |  L  |  D  |  R  |
+`------'   `-------------------------------------------------------------------------------------------------'
+```
+
+## FN Layer
+```
+,------.   ,-------------------------------------------------------------------------------------------------.
+|Reset |   |  F1   | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 | PScr |  ScrLck  |Pause|
+|------|   |-------------------------------------------------------------------------------------------------|
+|      |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+|------|   |-------------------------------------------------------------------------------------------------|
+|      |   |         |Prev |Play |Next |     |     |     |     |VolD |Mute |VolU |     |               |PgUp |
+|------|   |-------------------------------------------------------------------------------------------------|
+|      |   |           |     |     |     |     |     |     |     |     |     |     |             |     |PgDn |
+|------|   |-------------------------------------------------------------------------------------------------|
+|EPRM  |   |      |       |       |                                   |    |       |       |     |     |     |
+`------'   `-------------------------------------------------------------------------------------------------'
+```

+ 92 - 0
keyboards/s7_elephant/rev2/keymaps/via/keymap.c

@@ -0,0 +1,92 @@
+#include QMK_KEYBOARD_H
+
+// For readability
+enum layer_names {
+    _BASE,
+    _FN1,
+    _FN2,
+    _FN3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    /* Default layer
+    * ,------.   ,-------------------------------------------------------------------------------------------------.
+    * |  F1  |   | Esc   |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |   Bkspc   | Ins |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F2  |   | Tab    |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |    \     | Del |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F3  |   | Caps    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter      |Home |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F4  |   | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |    RShift   |  U  | End |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F5  |   | Ctrl |  Gui  |  Alt  |              Space                | RAlt |  FN  | RCtrl |  L  | D  |  R  |
+    * `------'   `-------------------------------------------------------------------------------------------------'
+    */
+    [_BASE] = LAYOUT_ansi_1u(
+        KC_F1, KC_ESC,  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_F2, 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_F3, 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_HOME,
+        KC_F4, 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_END,
+        KC_F5, KC_LCTL, KC_LGUI, KC_LALT,                      KC_SPC,                 KC_RALT, MO(1),   KC_RCTL,          KC_LEFT, KC_DOWN, KC_RGHT),
+
+    /* Fn1 Layer 
+    * ,------.   ,-------------------------------------------------------------------------------------------------.
+    * |  F6  |   |  `~   |     |     |     |     |     |     |     |     |     |     |     |      |          |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F7  |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F8  |   |         |VolD |VolU |Mute |     |     |     |     |     |     |     |     |               |PgUp |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F9  |   |           |Prev |Play |Next |     |     |     |     |     |     |     |             |     |PgDn |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |  F10 |   |      |       |       |                                   |      |      |       |     |    |     |
+    * `------'   `-------------------------------------------------------------------------------------------------'
+    */
+    [_FN1] = LAYOUT_ansi_1u(
+        KC_F6,   KC_GRV,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_F7,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_F8,   KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,       KC_PGUP,
+        KC_F9,   KC_TRNS,          KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN,
+        KC_F10,  KC_TRNS, KC_TRNS, KC_TRNS,                        KC_TRNS,              KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS),
+
+    /* Fn2 Layer 
+    * ,------.   ,-------------------------------------------------------------------------------------------------.
+    * |      |   |       |     |     |     |     |     |     |     |     |     |     |     |      |          |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |         |     |     |     |     |     |     |     |     |     |     |     |               |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |           |     |     |     |     |     |     |     |     |     |     |             |     |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |      |       |       |                                   |      |      |       |     |    |     |
+    * `------'   `-------------------------------------------------------------------------------------------------'
+    */
+    [_FN2] = LAYOUT_ansi_1u(
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,       KC_TRNS,
+        KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                        KC_TRNS,              KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS),
+
+    /* Fn3 Layer 
+    * ,------.   ,-------------------------------------------------------------------------------------------------.
+    * |      |   |       |     |     |     |     |     |     |     |     |     |     |     |      |          |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |         |     |     |     |     |     |     |     |     |     |     |     |               |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |           |     |     |     |     |     |     |     |     |     |     |             |     |     |
+    * |------|   |-------------------------------------------------------------------------------------------------|
+    * |      |   |      |       |       |                                   |      |      |       |     |    |     |
+    * `------'   `-------------------------------------------------------------------------------------------------'
+    */
+    [_FN3] = LAYOUT_ansi_1u(
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,       KC_TRNS,
+        KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                        KC_TRNS,              KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS),
+};

+ 35 - 0
keyboards/s7_elephant/rev2/keymaps/via/readme.md

@@ -0,0 +1,35 @@
+# Default keymap for S7 Elephant
+
+**Features**
+
+* LEDs are functioning as Caps-Lock indicators
+
+## QWERTY (Normal) Layer
+```
+,------.   ,-------------------------------------------------------------------------------------------------.
+|  F1  |   | Esc`~ |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |   Bkspc   |Home |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F2  |   | Tab    |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |    \     | End |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F3  |   | Caps    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter      | Ins |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F4  |   | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |    RShift   |  U  | Del |
+|------|   |-------------------------------------------------------------------------------------------------|
+|  F5  |   | Ctrl |  Gui  |  Alt  |              Space                | FN | RAlt  | RCtrl |  L  |  D  |  R  |
+`------'   `-------------------------------------------------------------------------------------------------'
+```
+
+## FN Layer
+```
+,------.   ,-------------------------------------------------------------------------------------------------.
+|Reset |   |  F1   | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 | PScr |  ScrLck  |Pause|
+|------|   |-------------------------------------------------------------------------------------------------|
+|      |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+|------|   |-------------------------------------------------------------------------------------------------|
+|      |   |         |Prev |Play |Next |     |     |     |     |VolD |Mute |VolU |     |               |PgUp |
+|------|   |-------------------------------------------------------------------------------------------------|
+|      |   |           |     |     |     |     |     |     |     |     |     |     |             |     |PgDn |
+|------|   |-------------------------------------------------------------------------------------------------|
+|EPRM  |   |      |       |       |                                   |    |       |       |     |     |     |
+`------'   `-------------------------------------------------------------------------------------------------'
+```

+ 1 - 0
keyboards/s7_elephant/rev2/keymaps/via/rules.mk

@@ -0,0 +1 @@
+VIA_ENABLE = yes

+ 17 - 0
keyboards/s7_elephant/rev2/readme.md

@@ -0,0 +1,17 @@
+# S7 Elephant
+
+![S7 Elephant](https://i.imgur.com/CaHxKBJ.jpg)
+
+A high-end 70% custom keyboard designed and produced by [jacky](https://geekhack.org/index.php?action=profile;u=63864) from Geekhack.
+
+* Keyboard Maintainer: QMK Community
+* Hardware Supported: S7 Elephant
+* Hardware Availability: [The GB has ended with little chance to run again.](https://geekhack.org/index.php?topic=96434.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make s7_elephant/rev2:default
+
+To enter the bootloader, either short the pins on the PCB next to CAPSLOCK or the press the RESET button on the FN layer.
+
+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).

+ 19 - 0
keyboards/s7_elephant/rev2/rev2.c

@@ -0,0 +1,19 @@
+/* Copyright 2020 MudkipMao 
+ *
+ * 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 "rev2.h"
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/

+ 61 - 0
keyboards/s7_elephant/rev2/rev2.h

@@ -0,0 +1,61 @@
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+/* ALL: This is an odd layout that the JSON file comes preloaded with. Split left-shift and ansi enter
+ * ,------.   ,-------------------------------------------------------------------------------------------------.
+ * |      |   |       |     |     |     |     |     |     |     |     |     |     |     |     |           |     |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+   |      |   |        |     |     |     |     |     |     |     |     |     |     |     |     |          |     |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |      |   |         |     |     |     |     |     |     |     |     |     |     |     |               |     |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |      |   |      |    |     |     |     |     |     |     |     |     |     |     |             |     |     |
+ * |------|   |-------------------------------------------------------------------------------------------------|
+ * |      |   |      |       |       |                                   |      |      |     |      |     |     |
+ * `------'   `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_all( \
+    K0F,  K00,  K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E,  \
+    K1F,  K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C,      K1E,  \
+    K2F,  K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D,           K2E,  \
+    K3F,  K30,  K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      K3D, K3E,  \
+    K4F,  K40,  K41, K42,                K46,                K48, K49, K4A, K4B, K4C, K4D   \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   ___,   K2E,   K2F   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E,   K3F   }, \
+    { K40,   K41,   K42,   ___,   ___,   ___,   K46,   ___,   K48,   K49,   K4A,   K4B,   K4C,   K4D,   K4E,   K4F   }  \
+}
+
+/* ANSI
+ * ,---.   ,---------------------------------------------------------------.
+ * |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |       |   |
+ * |---|   |---------------------------------------------------------------|
+ * |   |   |     |   |   |   |   |   |   |   |   |   |   |   |   |     |   |
+ * |---|   |---------------------------------------------------------------|
+ * |   |   |      |   |   |   |   |   |   |   |   |   |   |   |        |   |
+ * |---|   |---------------------------------------------------------------|
+ * |   |   |        |   |   |   |   |   |   |   |   |   |   |      |   |   |
+ * |---|   |---------------------------------------------------------------|
+ * |   |   |    |    |    |                        |   |   |   |   |   |   |
+ * `---'   `---------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u( \
+    K0F,  K00,  K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0E,   K4E,  \
+    K1F,  K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C,      K1E,  \
+    K2F,  K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D,           K2E,  \
+    K3F,    K30,     K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      K3D, K3E,  \
+    K4F,  K40,  K41, K42,                K46,                K48, K49, K4A, K4B, K4C, K4D   \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   ___,   K0E,   K0F   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   ___,   K2E,   K2F   }, \
+    { K30,   ___,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E,   K3F   }, \
+    { K40,   K41,   K42,   ___,   ___,   ___,   K46,   ___,   K48,   K49,   K4A,   K4B,   K4C,   K4D,   K4E,   K4F   }  \
+}

+ 33 - 0
keyboards/s7_elephant/rev2/rules.mk

@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite      # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes        # Mouse keys
+EXTRAKEY_ENABLE = yes        # Audio control and System control
+CONSOLE_ENABLE = no          # Console for debug
+COMMAND_ENABLE = no          # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no        # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no             # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow
+MIDI_ENABLE = no             # MIDI support
+UNICODE_ENABLE = no          # Unicode
+BLUETOOTH_ENABLE = no        # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no            # Audio output on port C6
+FAUXCLICKY_ENABLE = no       # Use buzzer to emulate clicky switches
+LTO_ENABLE = yes

+ 1 - 25
keyboards/s7_elephant/rules.mk

@@ -1,25 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-#   Teensy       halfkay
-#   Pro Micro    caterina
-#   Atmel DFU    atmel-dfu
-#   LUFA DFU     lufa-dfu
-#   QMK DFU      qmk-dfu
-#   ATmega32A    bootloadHID
-#   ATmega328P   USBasp
-BOOTLOADER = atmel-dfu
-
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no    # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes    # Mouse keys
-EXTRAKEY_ENABLE = yes    # Audio control and System control
-CONSOLE_ENABLE = no      # Console for debug
-COMMAND_ENABLE = no      # Commands for debug and configuration
-SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes        # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no    # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes    # Enable keyboard underlight functionality
+DEFAULT_FOLDER = s7_elephant/rev1

+ 0 - 1
keyboards/s7_elephant/s7_elephant.c

@@ -1 +0,0 @@
-#include "s7_elephant.h"