From cf45a0529671e33fdb63e3003d4340d7320b3e8e Mon Sep 17 00:00:00 2001
From: beelzebubi <59477216+beelzebubi@users.noreply.github.com>
Date: Wed, 8 Feb 2023 05:54:27 +0100
Subject: [PATCH] [Keyboard] Add Bear65 v2 (#19578)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Tom Sennewald <tom@sennewald.me>
---
 keyboards/jacky_studio/bear_65/bear_65.h      |  32 +-
 keyboards/jacky_studio/bear_65/config.h       |  59 ++--
 keyboards/jacky_studio/bear_65/info.json      |  19 -
 keyboards/jacky_studio/bear_65/rev1/info.json | 165 +++++++++
 keyboards/jacky_studio/bear_65/rev1/rev1.h    |  47 +++
 keyboards/jacky_studio/bear_65/rev1/rules.mk  |  17 +
 keyboards/jacky_studio/bear_65/rev2/info.json | 324 ++++++++++++++++++
 keyboards/jacky_studio/bear_65/rev2/rev2.h    |  76 ++++
 keyboards/jacky_studio/bear_65/rev2/rules.mk  |  17 +
 keyboards/jacky_studio/bear_65/rules.mk       |  24 +-
 10 files changed, 677 insertions(+), 103 deletions(-)
 delete mode 100644 keyboards/jacky_studio/bear_65/info.json
 create mode 100644 keyboards/jacky_studio/bear_65/rev1/info.json
 create mode 100644 keyboards/jacky_studio/bear_65/rev1/rev1.h
 create mode 100644 keyboards/jacky_studio/bear_65/rev1/rules.mk
 create mode 100644 keyboards/jacky_studio/bear_65/rev2/info.json
 create mode 100644 keyboards/jacky_studio/bear_65/rev2/rev2.h
 create mode 100644 keyboards/jacky_studio/bear_65/rev2/rules.mk

diff --git a/keyboards/jacky_studio/bear_65/bear_65.h b/keyboards/jacky_studio/bear_65/bear_65.h
index 872436fcd4..be8a14a86f 100644
--- a/keyboards/jacky_studio/bear_65/bear_65.h
+++ b/keyboards/jacky_studio/bear_65/bear_65.h
@@ -18,30 +18,8 @@
 
 #include "quantum.h"
 
-#define LAYOUT_all( \
-      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C, K0D, K0E,   K4E, \
-     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
-    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
-           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
-           K40,     K43,    K45,      K46,               K48,     K4A,             K4B, K4C, K4D  \
-) { \
-    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E   }, \
-    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
-    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
-    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
-    { K40,   KC_NO, KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   KC_NO, K4A,   K4B,   K4C,   K4D,   K4E   }, \
-}
-
-#define LAYOUT_full_bs( \
-      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C,   K0D,      K4E, \
-     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
-    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
-           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
-           K40,     K43,    K45,      K46,               K48,     K4A,             K4B, K4C, K4D  \
-) { \
-    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   KC_NO }, \
-    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
-    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
-    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
-    { K40,   KC_NO, KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   KC_NO, K4A,   K4B,   K4C,   K4D,   K4E   }, \
-}
+#if defined(KEYBOARD_jacky_studio_bear_65_rev1)
+    #include "rev1.h"
+#elif defined(KEYBOARD_jacky_studio_bear_65_rev2)
+    #include "rev2.h"
+#endif
diff --git a/keyboards/jacky_studio/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h
index c2ff9c38c8..391697633c 100644
--- a/keyboards/jacky_studio/bear_65/config.h
+++ b/keyboards/jacky_studio/bear_65/config.h
@@ -1,18 +1,5 @@
-/* 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/>.
- */
+// Copyright 2017-2021 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
 
 #pragma once
 
@@ -35,26 +22,31 @@
 #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 }
 
-/* Setting the matrix value of top left key for bootmagic lite */
-#define BOOTMAGIC_LITE_ROW      3
-#define BOOTMAGIC_LITE_COLUMN   1
-
+/* COL2ROW or ROW2COL */
 #define DIODE_DIRECTION ROW2COL
 
 #define LED_CAPS_LOCK_PIN C7
+#define LED_PIN_ON_STATE 0
 
+/* number of backlight levels */
 #define BACKLIGHT_PIN B6
-#define BACKLIGHT_BREATHING
-#define BACKLIGHT_LEVELS 4
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 3
+#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
 
 #define RGB_DI_PIN E2
 #ifdef RGB_DI_PIN
-    #define RGBLED_NUM 15
-    #define RGBLIGHT_HUE_STEP 8
-    #define RGBLIGHT_SAT_STEP 8
-    #define RGBLIGHT_VAL_STEP 8
-    #define RGBLIGHT_LIMIT_VAL 139 /* The maximum brightness level */
-    #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#define RGBLIGHT_LIMIT_VAL 200
+#define RGBLIGHT_DEFAULT_VAL 50
 #define RGBLIGHT_EFFECT_BREATHING
 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -65,12 +57,11 @@
 #define RGBLIGHT_EFFECT_RGB_TEST
 #define RGBLIGHT_EFFECT_ALTERNATING
 #define RGBLIGHT_EFFECT_TWINKLE
-#endif
+#define RGBLED_NUM 20
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+/* If defined, the RGB lighting will be switched off when the host goes to sleep */
+#define RGBLIGHT_SLEEP
 
-/* RGB matrix support */
-#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_LED_COUNT 12 // Number of LEDs
 #endif
diff --git a/keyboards/jacky_studio/bear_65/info.json b/keyboards/jacky_studio/bear_65/info.json
deleted file mode 100644
index 151fd6fa5f..0000000000
--- a/keyboards/jacky_studio/bear_65/info.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "keyboard_name": "Bear 65",
-    "manufacturer": "Jacky",
-    "url": "https://qmk.fm/keyboards",
-    "maintainer": "qmk",
-    "usb": {
-        "vid": "0xA13B",
-        "pid": "0x000A",
-        "device_version": "0.0.1"
-    },
-    "layouts": {
-        "LAYOUT_all": {
-             "layout": [{"label":"Esc", "x":0.5, "y":0}, {"label":"~", "x":1.75, "y":0}, {"label":"!", "x":2.75, "y":0}, {"label":"@", "x":3.75, "y":0}, {"label":"#", "x":4.75, "y":0}, {"label":"$", "x":5.75, "y":0}, {"label":"%", "x":6.75, "y":0}, {"label":"^", "x":7.75, "y":0}, {"label":"&", "x":11.25, "y":0}, {"label":"*", "x":12.25, "y":0}, {"label":"(", "x":13.25, "y":0}, {"label":")", "x":14.25, "y":0}, {"label":"_", "x":15.25, "y":0}, {"label":"+", "x":16.25, "y":0}, {"label":"|", "x":17.25, "y":0}, {"label":"~", "x":18.25, "y":0}, {"label":"Del", "x":19.75, "y":0}, {"label":"PgUp", "x":0.25, "y":1}, {"label":"Tab", "x":1.75, "y":1, "w":1.5}, {"label":"Q", "x":3.25, "y":1}, {"label":"W", "x":4.25, "y":1}, {"label":"E", "x":5.25, "y":1}, {"label":"R", "x":6.25, "y":1}, {"label":"T", "x":7.25, "y":1}, {"label":"Y", "x":10.75, "y":1}, {"label":"U", "x":11.75, "y":1}, {"label":"I", "x":12.75, "y":1}, {"label":"O", "x":13.75, "y":1}, {"label":"P", "x":14.75, "y":1}, {"label":"{", "x":15.75, "y":1}, {"label":"}", "x":16.75, "y":1}, {"label":"Backspace", "x":17.75, "y":1, "w":1.5}, {"label":"PgDn", "x":0, "y":2}, {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75}, {"label":"A", "x":3.5, "y":2}, {"label":"S", "x":4.5, "y":2}, {"label":"D", "x":5.5, "y":2}, {"label":"F", "x":6.5, "y":2}, {"label":"G", "x":7.5, "y":2}, {"label":"H", "x":11, "y":2}, {"label":"J", "x":12, "y":2}, {"label":"K", "x":13, "y":2}, {"label":"L", "x":14, "y":2}, {"label":":", "x":15, "y":2}, {"label":"\"", "x":16, "y":2}, {"label":"Enter", "x":17, "y":2, "w":2.25}, {"label":"Shift", "x":1.75, "y":3, "w":2.25}, {"label":"Z", "x":4, "y":3}, {"label":"X", "x":5, "y":3}, {"label":"C", "x":6, "y":3}, {"label":"V", "x":7, "y":3}, {"label":"B", "x":8, "y":3}, {"label":"B", "x":10.5, "y":3}, {"label":"N", "x":11.5, "y":3}, {"label":"M", "x":12.5, "y":3}, {"label":"<", "x":13.5, "y":3}, {"label":">", "x":14.5, "y":3}, {"label":"?", "x":15.5, "y":3}, {"label":"Shift", "x":16.5, "y":3, "w":1.75}, {"label":"Up", "x":18.25, "y":3}, {"label":"Ctrl", "x":1.75, "y":4, "w":1.5}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.25}, {"label":"Win", "x":8.25, "y":4}, {"x":10.5, "y":4, "w":2.75}, {"label":"Alt", "x":13.25, "y":4, "w":1.5}, {"label":"Left", "x":17.25, "y":4}, {"label":"Down", "x":18.25, "y":4}, {"label":"Right", "x":19.25, "y":4}]
-        },
-        "LAYOUT_full_bs": {
-            "layout": [{"label":"Esc", "x":0.5, "y":0}, {"label":"~", "x":1.75, "y":0}, {"label":"!", "x":2.75, "y":0}, {"label":"@", "x":3.75, "y":0}, {"label":"#", "x":4.75, "y":0}, {"label":"$", "x":5.75, "y":0}, {"label":"%", "x":6.75, "y":0}, {"label":"^", "x":7.75, "y":0}, {"label":"&", "x":11.25, "y":0}, {"label":"*", "x":12.25, "y":0}, {"label":"(", "x":13.25, "y":0}, {"label":")", "x":14.25, "y":0}, {"label":"_", "x":15.25, "y":0}, {"label":"+", "x":16.25, "y":0}, {"label":"Backspace", "x":17.25, "y":0, "w":2}, {"label":"Del", "x":19.75, "y":0}, {"label":"PgUp", "x":0.25, "y":1}, {"label":"Tab", "x":1.75, "y":1, "w":1.5}, {"label":"Q", "x":3.25, "y":1}, {"label":"W", "x":4.25, "y":1}, {"label":"E", "x":5.25, "y":1}, {"label":"R", "x":6.25, "y":1}, {"label":"T", "x":7.25, "y":1}, {"label":"Y", "x":10.75, "y":1}, {"label":"U", "x":11.75, "y":1}, {"label":"I", "x":12.75, "y":1}, {"label":"O", "x":13.75, "y":1}, {"label":"P", "x":14.75, "y":1}, {"label":"{", "x":15.75, "y":1}, {"label":"}", "x":16.75, "y":1}, {"label":"|", "x":17.75, "y":1, "w":1.5}, {"label":"PgDn", "x":0, "y":2}, {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75}, {"label":"A", "x":3.5, "y":2}, {"label":"S", "x":4.5, "y":2}, {"label":"D", "x":5.5, "y":2}, {"label":"F", "x":6.5, "y":2}, {"label":"G", "x":7.5, "y":2}, {"label":"H", "x":11, "y":2}, {"label":"J", "x":12, "y":2}, {"label":"K", "x":13, "y":2}, {"label":"L", "x":14, "y":2}, {"label":":", "x":15, "y":2}, {"label":"\"", "x":16, "y":2}, {"label":"Enter", "x":17, "y":2, "w":2.25}, {"label":"Shift", "x":1.75, "y":3, "w":2.25}, {"label":"Z", "x":4, "y":3}, {"label":"X", "x":5, "y":3}, {"label":"C", "x":6, "y":3}, {"label":"V", "x":7, "y":3}, {"label":"B", "x":8, "y":3}, {"label":"B", "x":10.5, "y":3}, {"label":"N", "x":11.5, "y":3}, {"label":"M", "x":12.5, "y":3}, {"label":"<", "x":13.5, "y":3}, {"label":">", "x":14.5, "y":3}, {"label":"?", "x":15.5, "y":3}, {"label":"Shift", "x":16.5, "y":3, "w":1.75}, {"label":"Up", "x":18.25, "y":3}, {"label":"Ctrl", "x":1.75, "y":4, "w":1.5}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.25}, {"label":"Win", "x":8.25, "y":4}, {"x":10.5, "y":4, "w":2.75}, {"label":"Alt", "x":13.25, "y":4, "w":1.5}, {"label":"Left", "x":17.25, "y":4}, {"label":"Down", "x":18.25, "y":4}, {"label":"Right", "x":19.25, "y":4}]
-        }
-    }
-}
diff --git a/keyboards/jacky_studio/bear_65/rev1/info.json b/keyboards/jacky_studio/bear_65/rev1/info.json
new file mode 100644
index 0000000000..e87eeb5484
--- /dev/null
+++ b/keyboards/jacky_studio/bear_65/rev1/info.json
@@ -0,0 +1,165 @@
+{
+    "keyboard_name": "Bear 65",
+    "manufacturer": "Jacky",
+    "url": "https://qmk.fm/keyboards",
+    "maintainer": "qmk",
+    "processor": "atmega32u4",
+    "bootloader": "atmel-dfu",
+    "usb": {
+        "vid": "0xA13B",
+        "pid": "0x000A",
+        "device_version": "0.0.1"
+    },
+    "layouts": {
+        "LAYOUT_all": {
+            "layout": [
+                {"label":"Esc", "x":0.5, "y":0},
+                {"label":"~", "x":1.75, "y":0},
+                {"label":"!", "x":2.75, "y":0},
+                {"label":"@", "x":3.75, "y":0},
+                {"label":"#", "x":4.75, "y":0},
+                {"label":"$", "x":5.75, "y":0},
+                {"label":"%", "x":6.75, "y":0},
+                {"label":"^", "x":7.75, "y":0},
+                {"label":"&", "x":11.25, "y":0},
+                {"label":"*", "x":12.25, "y":0},
+                {"label":"(", "x":13.25, "y":0},
+                {"label":")", "x":14.25, "y":0},
+                {"label":"_", "x":15.25, "y":0},
+                {"label":"+", "x":16.25, "y":0},
+                {"label":"|", "x":17.25, "y":0},
+                {"label":"~", "x":18.25, "y":0},
+                {"label":"Del", "x":19.75, "y":0},
+
+                {"label":"PgUp", "x":0.25, "y":1},
+                {"label":"Tab", "x":1.75, "y":1, "w":1.5},
+                {"label":"Q", "x":3.25, "y":1},
+                {"label":"W", "x":4.25, "y":1},
+                {"label":"E", "x":5.25, "y":1},
+                {"label":"R", "x":6.25, "y":1},
+                {"label":"T", "x":7.25, "y":1},
+                {"label":"Y", "x":10.75, "y":1},
+                {"label":"U", "x":11.75, "y":1},
+                {"label":"I", "x":12.75, "y":1},
+                {"label":"O", "x":13.75, "y":1},
+                {"label":"P", "x":14.75, "y":1},
+                {"label":"{", "x":15.75, "y":1},
+                {"label":"}", "x":16.75, "y":1},
+                {"label":"Backspace", "x":17.75, "y":1, "w":1.5},
+
+                {"label":"PgDn", "x":0, "y":2},
+                {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75},
+                {"label":"A", "x":3.5, "y":2},
+                {"label":"S", "x":4.5, "y":2},
+                {"label":"D", "x":5.5, "y":2},
+                {"label":"F", "x":6.5, "y":2},
+                {"label":"G", "x":7.5, "y":2},
+                {"label":"H", "x":11, "y":2},
+                {"label":"J", "x":12, "y":2},
+                {"label":"K", "x":13, "y":2},
+                {"label":"L", "x":14, "y":2},
+                {"label":":", "x":15, "y":2},
+                {"label":"\"", "x":16, "y":2},
+                {"label":"Enter", "x":17, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":1.75, "y":3, "w":2.25},
+                {"label":"Z", "x":4, "y":3},
+                {"label":"X", "x":5, "y":3},
+                {"label":"C", "x":6, "y":3},
+                {"label":"V", "x":7, "y":3},
+                {"label":"B", "x":8, "y":3},
+                {"label":"B", "x":10.5, "y":3},
+                {"label":"N", "x":11.5, "y":3},
+                {"label":"M", "x":12.5, "y":3},
+                {"label":"<", "x":13.5, "y":3},
+                {"label":">", "x":14.5, "y":3},
+                {"label":"?", "x":15.5, "y":3},
+                {"label":"Shift", "x":16.5, "y":3, "w":1.75},
+                {"label":"Up", "x":18.25, "y":3},
+
+                {"label":"Ctrl", "x":1.75, "y":4, "w":1.5},
+                {"label":"Alt", "x":4.75, "y":4, "w":1.25},
+                {"x":6, "y":4, "w":2.25},
+                {"label":"Win", "x":8.25, "y":4},
+                {"x":10.5, "y":4, "w":2.75},
+                {"label":"Alt", "x":13.25, "y":4, "w":1.5},
+                {"label":"Left", "x":17.25, "y":4},
+                {"label":"Down", "x":18.25, "y":4},
+                {"label":"Right", "x":19.25, "y":4}]
+        },
+        "LAYOUT_full_bs": {
+            "layout": [
+                {"label":"Esc", "x":0.5, "y":0},
+                {"label":"~", "x":1.75, "y":0},
+                {"label":"!", "x":2.75, "y":0},
+                {"label":"@", "x":3.75, "y":0},
+                {"label":"#", "x":4.75, "y":0},
+                {"label":"$", "x":5.75, "y":0},
+                {"label":"%", "x":6.75, "y":0},
+                {"label":"^", "x":7.75, "y":0},
+                {"label":"&", "x":11.25, "y":0},
+                {"label":"*", "x":12.25, "y":0},
+                {"label":"(", "x":13.25, "y":0},
+                {"label":")", "x":14.25, "y":0},
+                {"label":"_", "x":15.25, "y":0},
+                {"label":"+", "x":16.25, "y":0},
+                {"label":"Backspace", "x":17.25, "y":0, "w":2},
+                {"label":"Del", "x":19.75, "y":0},
+
+                {"label":"PgUp", "x":0.25, "y":1},
+                {"label":"Tab", "x":1.75, "y":1, "w":1.5},
+                {"label":"Q", "x":3.25, "y":1},
+                {"label":"W", "x":4.25, "y":1},
+                {"label":"E", "x":5.25, "y":1},
+                {"label":"R", "x":6.25, "y":1},
+                {"label":"T", "x":7.25, "y":1},
+                {"label":"Y", "x":10.75, "y":1},
+                {"label":"U", "x":11.75, "y":1},
+                {"label":"I", "x":12.75, "y":1},
+                {"label":"O", "x":13.75, "y":1},
+                {"label":"P", "x":14.75, "y":1},
+                {"label":"{", "x":15.75, "y":1},
+                {"label":"}", "x":16.75, "y":1},
+                {"label":"|", "x":17.75, "y":1, "w":1.5},
+
+                {"label":"PgDn", "x":0, "y":2},
+                {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75},
+                {"label":"A", "x":3.5, "y":2},
+                {"label":"S", "x":4.5, "y":2},
+                {"label":"D", "x":5.5, "y":2},
+                {"label":"F", "x":6.5, "y":2},
+                {"label":"G", "x":7.5, "y":2},
+                {"label":"H", "x":11, "y":2},
+                {"label":"J", "x":12, "y":2},
+                {"label":"K", "x":13, "y":2},
+                {"label":"L", "x":14, "y":2},
+                {"label":":", "x":15, "y":2},
+                {"label":"\"", "x":16, "y":2},
+                {"label":"Enter", "x":17, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":1.75, "y":3, "w":2.25},
+                {"label":"Z", "x":4, "y":3},
+                {"label":"X", "x":5, "y":3},
+                {"label":"C", "x":6, "y":3},
+                {"label":"V", "x":7, "y":3},
+                {"label":"B", "x":8, "y":3},
+                {"label":"B", "x":10.5, "y":3}, {"label":"N", "x":11.5, "y":3},
+                {"label":"M", "x":12.5, "y":3},
+                {"label":"<", "x":13.5, "y":3},
+                {"label":">", "x":14.5, "y":3},
+                {"label":"?", "x":15.5, "y":3},
+                {"label":"Shift", "x":16.5, "y":3, "w":1.75},
+                {"label":"Up", "x":18.25, "y":3},
+
+                {"label":"Ctrl", "x":1.75, "y":4, "w":1.5},
+                {"label":"Alt", "x":4.75, "y":4, "w":1.25},
+                {"x":6, "y":4, "w":2.25},
+                {"label":"Win", "x":8.25, "y":4},
+                {"x":10.5, "y":4, "w":2.75},
+                {"label":"Alt", "x":13.25, "y":4, "w":1.5},
+                {"label":"Left", "x":17.25, "y":4},
+                {"label":"Down", "x":18.25, "y":4},
+                {"label":"Right", "x":19.25, "y":4}]
+        }
+    }
+}
diff --git a/keyboards/jacky_studio/bear_65/rev1/rev1.h b/keyboards/jacky_studio/bear_65/rev1/rev1.h
new file mode 100644
index 0000000000..901efe70b7
--- /dev/null
+++ b/keyboards/jacky_studio/bear_65/rev1/rev1.h
@@ -0,0 +1,47 @@
+/* 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 "bear_65.h"
+
+#define LAYOUT_all( \
+      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C, K0D, K0E,   K4E, \
+     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
+    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
+           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
+           K40,     K43,    K45,      K46,               K48,     K4A,             K4B, K4C, K4D  \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
+    { K40,   KC_NO, KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   KC_NO, K4A,   K4B,   K4C,   K4D,   K4E   }, \
+}
+
+#define LAYOUT_full_bs( \
+      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C,   K0D,      K4E, \
+     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
+    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
+           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
+           K40,     K43,    K45,      K46,               K48,     K4A,             K4B, K4C, K4D  \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   KC_NO }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
+    { K40,   KC_NO, KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   KC_NO, K4A,   K4B,   K4C,   K4D,   K4E   }, \
+}
diff --git a/keyboards/jacky_studio/bear_65/rev1/rules.mk b/keyboards/jacky_studio/bear_65/rev1/rules.mk
new file mode 100644
index 0000000000..5d90baa2af
--- /dev/null
+++ b/keyboards/jacky_studio/bear_65/rev1/rules.mk
@@ -0,0 +1,17 @@
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+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
+NKRO_ENABLE = no            # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
+
+LTO_ENABLE = yes            # Use LTO flags to reduce firmware size
+
+RGB_MATRIX_ENABLE = no		# Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812	# RGB matrix driver support
diff --git a/keyboards/jacky_studio/bear_65/rev2/info.json b/keyboards/jacky_studio/bear_65/rev2/info.json
new file mode 100644
index 0000000000..661ebecc92
--- /dev/null
+++ b/keyboards/jacky_studio/bear_65/rev2/info.json
@@ -0,0 +1,324 @@
+{
+    "keyboard_name": "Bear65 V2",
+    "manufacturer": "Jacky",
+    "url": "https://qmk.fm/keyboards",
+    "maintainer": "qmk",
+    "processor": "atmega32u4",
+    "bootloader": "atmel-dfu",
+    "usb": {
+        "vid": "0x45D4",
+        "pid": "0x0428",
+        "device_version": "0.0.1"
+    },
+    "layout_aliases": {
+        "LAYOUT_all": "LAYOUT_wkl_full",
+        "LAYOUT_full_bs": "LAYOUT_wkl_bs"
+    },
+    "layouts": {
+        "LAYOUT_wk_full": {
+            "layout": [
+                {"label":"Esc", "x":0.5, "y":0},
+                {"label":"~", "x":1.75, "y":0},
+                {"label":"!", "x":2.75, "y":0},
+                {"label":"@", "x":3.75, "y":0},
+                {"label":"#", "x":4.75, "y":0},
+                {"label":"$", "x":5.75, "y":0},
+                {"label":"%", "x":6.75, "y":0},
+                {"label":"^", "x":7.75, "y":0},
+                {"label":"&", "x":11.25, "y":0},
+                {"label":"*", "x":12.25, "y":0},
+                {"label":"(", "x":13.25, "y":0},
+                {"label":")", "x":14.25, "y":0},
+                {"label":"_", "x":15.25, "y":0},
+                {"label":"+", "x":16.25, "y":0},
+                {"label":"|", "x":17.25, "y":0},
+                {"label":"~", "x":18.25, "y":0},
+                {"label":"Del", "x":19.75, "y":0},
+
+                {"label":"PgUp", "x":0.25, "y":1},
+                {"label":"Tab", "x":1.75, "y":1, "w":1.5},
+                {"label":"Q", "x":3.25, "y":1},
+                {"label":"W", "x":4.25, "y":1},
+                {"label":"E", "x":5.25, "y":1},
+                {"label":"R", "x":6.25, "y":1},
+                {"label":"T", "x":7.25, "y":1},
+                {"label":"Y", "x":10.75, "y":1},
+                {"label":"U", "x":11.75, "y":1},
+                {"label":"I", "x":12.75, "y":1},
+                {"label":"O", "x":13.75, "y":1},
+                {"label":"P", "x":14.75, "y":1},
+                {"label":"{", "x":15.75, "y":1},
+                {"label":"}", "x":16.75, "y":1},
+                {"label":"Backspace", "x":17.75, "y":1, "w":1.5},
+
+                {"label":"PgDn", "x":0, "y":2},
+                {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75},
+                {"label":"A", "x":3.5, "y":2},
+                {"label":"S", "x":4.5, "y":2},
+                {"label":"D", "x":5.5, "y":2},
+                {"label":"F", "x":6.5, "y":2},
+                {"label":"G", "x":7.5, "y":2},
+                {"label":"H", "x":11, "y":2},
+                {"label":"J", "x":12, "y":2},
+                {"label":"K", "x":13, "y":2},
+                {"label":"L", "x":14, "y":2},
+                {"label":":", "x":15, "y":2},
+                {"label":"\"", "x":16, "y":2},
+                {"label":"Enter", "x":17, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":1.75, "y":3, "w":2.25},
+                {"label":"Z", "x":4, "y":3},
+                {"label":"X", "x":5, "y":3},
+                {"label":"C", "x":6, "y":3},
+                {"label":"V", "x":7, "y":3},
+                {"label":"B", "x":8, "y":3},
+                {"label":"B", "x":10.5, "y":3},
+                {"label":"N", "x":11.5, "y":3},
+                {"label":"M", "x":12.5, "y":3},
+                {"label":"<", "x":13.5, "y":3},
+                {"label":">", "x":14.5, "y":3},
+                {"label":"?", "x":15.5, "y":3},
+                {"label":"Shift", "x":16.5, "y":3, "w":1.75},
+                {"label":"Up", "x":18.25, "y":3},
+
+                {"label":"Ctrl", "x":1.75, "y":4, "w":1.25},
+                {"label":"Super", "x":3, "y":4},
+                {"label":"Alt", "x":4, "y":4, "w":1.25},
+                {"x":5.25, "y":4, "w":2.25},
+                {"label":"Fn", "x":8.25, "y":4},
+                {"x":11, "y":4, "w":2.75},
+                {"label":"Alt", "x":13.75, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":15, "y":4},
+                {"label":"Left", "x":17.25, "y":4},
+                {"label":"Down", "x":18.25, "y":4},
+                {"label":"Right", "x":19.25, "y":4}]
+        },
+        "LAYOUT_wkl_full": {
+            "layout": [
+                {"label":"Esc", "x":0.5, "y":0},
+                {"label":"~", "x":1.75, "y":0},
+                {"label":"!", "x":2.75, "y":0},
+                {"label":"@", "x":3.75, "y":0},
+                {"label":"#", "x":4.75, "y":0},
+                {"label":"$", "x":5.75, "y":0},
+                {"label":"%", "x":6.75, "y":0},
+                {"label":"^", "x":7.75, "y":0},
+                {"label":"&", "x":11.25, "y":0},
+                {"label":"*", "x":12.25, "y":0},
+                {"label":"(", "x":13.25, "y":0},
+                {"label":")", "x":14.25, "y":0},
+                {"label":"_", "x":15.25, "y":0},
+                {"label":"+", "x":16.25, "y":0},
+                {"label":"|", "x":17.25, "y":0},
+                {"label":"~", "x":18.25, "y":0},
+                {"label":"Del", "x":19.75, "y":0},
+
+                {"label":"PgUp", "x":0.25, "y":1},
+                {"label":"Tab", "x":1.75, "y":1, "w":1.5},
+                {"label":"Q", "x":3.25, "y":1},
+                {"label":"W", "x":4.25, "y":1},
+                {"label":"E", "x":5.25, "y":1},
+                {"label":"R", "x":6.25, "y":1},
+                {"label":"T", "x":7.25, "y":1},
+                {"label":"Y", "x":10.75, "y":1},
+                {"label":"U", "x":11.75, "y":1},
+                {"label":"I", "x":12.75, "y":1},
+                {"label":"O", "x":13.75, "y":1},
+                {"label":"P", "x":14.75, "y":1},
+                {"label":"{", "x":15.75, "y":1},
+                {"label":"}", "x":16.75, "y":1},
+                {"label":"Backspace", "x":17.75, "y":1, "w":1.5},
+
+                {"label":"PgDn", "x":0, "y":2},
+                {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75},
+                {"label":"A", "x":3.5, "y":2},
+                {"label":"S", "x":4.5, "y":2},
+                {"label":"D", "x":5.5, "y":2},
+                {"label":"F", "x":6.5, "y":2},
+                {"label":"G", "x":7.5, "y":2},
+                {"label":"H", "x":11, "y":2},
+                {"label":"J", "x":12, "y":2},
+                {"label":"K", "x":13, "y":2},
+                {"label":"L", "x":14, "y":2},
+                {"label":":", "x":15, "y":2},
+                {"label":"\"", "x":16, "y":2},
+                {"label":"Enter", "x":17, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":1.75, "y":3, "w":2.25},
+                {"label":"Z", "x":4, "y":3},
+                {"label":"X", "x":5, "y":3},
+                {"label":"C", "x":6, "y":3},
+                {"label":"V", "x":7, "y":3},
+                {"label":"B", "x":8, "y":3},
+                {"label":"B", "x":10.5, "y":3},
+                {"label":"N", "x":11.5, "y":3},
+                {"label":"M", "x":12.5, "y":3},
+                {"label":"<", "x":13.5, "y":3},
+                {"label":">", "x":14.5, "y":3},
+                {"label":"?", "x":15.5, "y":3},
+                {"label":"Shift", "x":16.5, "y":3, "w":1.75},
+                {"label":"Up", "x":18.25, "y":3},
+
+                {"label":"Ctrl", "x":1.75, "y":4, "w":1.25},
+                {"label":"Alt", "x":3, "y":4},
+                {"x":5.25, "y":4, "w":2.25},
+                {"label":"Fn", "x":8.25, "y":4},
+                {"x":11, "y":4, "w":2.75},
+                {"label":"Alt", "x":13.75, "y":4, "w":1.25},
+                {"label":"Left", "x":17.25, "y":4},
+                {"label":"Down", "x":18.25, "y":4},
+                {"label":"Right", "x":19.25, "y":4}]
+        }
+        "LAYOUT_wk_bs": {
+            "layout": [
+                {"label":"Esc", "x":0.5, "y":0},
+                {"label":"~", "x":1.75, "y":0},
+                {"label":"!", "x":2.75, "y":0},
+                {"label":"@", "x":3.75, "y":0},
+                {"label":"#", "x":4.75, "y":0},
+                {"label":"$", "x":5.75, "y":0},
+                {"label":"%", "x":6.75, "y":0},
+                {"label":"^", "x":7.75, "y":0},
+                {"label":"&", "x":11.25, "y":0},
+                {"label":"*", "x":12.25, "y":0},
+                {"label":"(", "x":13.25, "y":0},
+                {"label":")", "x":14.25, "y":0},
+                {"label":"_", "x":15.25, "y":0},
+                {"label":"+", "x":16.25, "y":0},
+                {"label":"Back Space", "x":17.25, "y":0},
+                {"label":"Del", "x":19.75, "y":0},
+
+                {"label":"PgUp", "x":0.25, "y":1},
+                {"label":"Tab", "x":1.75, "y":1, "w":1.5},
+                {"label":"Q", "x":3.25, "y":1},
+                {"label":"W", "x":4.25, "y":1},
+                {"label":"E", "x":5.25, "y":1},
+                {"label":"R", "x":6.25, "y":1},
+                {"label":"T", "x":7.25, "y":1},
+                {"label":"Y", "x":10.75, "y":1},
+                {"label":"U", "x":11.75, "y":1},
+                {"label":"I", "x":12.75, "y":1},
+                {"label":"O", "x":13.75, "y":1},
+                {"label":"P", "x":14.75, "y":1},
+                {"label":"{", "x":15.75, "y":1},
+                {"label":"}", "x":16.75, "y":1},
+                {"label":"|", "x":17.75, "y":1, "w":1.5},
+
+                {"label":"PgDn", "x":0, "y":2},
+                {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75},
+                {"label":"A", "x":3.5, "y":2},
+                {"label":"S", "x":4.5, "y":2},
+                {"label":"D", "x":5.5, "y":2},
+                {"label":"F", "x":6.5, "y":2},
+                {"label":"G", "x":7.5, "y":2},
+                {"label":"H", "x":11, "y":2},
+                {"label":"J", "x":12, "y":2},
+                {"label":"K", "x":13, "y":2},
+                {"label":"L", "x":14, "y":2},
+                {"label":":", "x":15, "y":2},
+                {"label":"\"", "x":16, "y":2},
+                {"label":"Enter", "x":17, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":1.75, "y":3, "w":2.25},
+                {"label":"Z", "x":4, "y":3},
+                {"label":"X", "x":5, "y":3},
+                {"label":"C", "x":6, "y":3},
+                {"label":"V", "x":7, "y":3},
+                {"label":"B", "x":8, "y":3},
+                {"label":"B", "x":10.5, "y":3},
+                {"label":"N", "x":11.5, "y":3},
+                {"label":"M", "x":12.5, "y":3},
+                {"label":"<", "x":13.5, "y":3},
+                {"label":">", "x":14.5, "y":3},
+                {"label":"?", "x":15.5, "y":3},
+                {"label":"Shift", "x":16.5, "y":3, "w":1.75},
+                {"label":"Up", "x":18.25, "y":3},
+
+                {"label":"Ctrl", "x":1.75, "y":4, "w":1.25},
+                {"label":"Super", "x":3, "y":4},
+                {"label":"Alt", "x":4, "y":4, "w":1.25},
+                {"x":5.25, "y":4, "w":2.25},
+                {"label":"Fn", "x":8.25, "y":4},
+                {"x":11, "y":4, "w":2.75},
+                {"label":"Alt", "x":13.75, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":15, "y":4},
+                {"label":"Left", "x":17.25, "y":4},
+                {"label":"Down", "x":18.25, "y":4},
+                {"label":"Right", "x":19.25, "y":4}]
+        },
+        "LAYOUT_wkl_bs": {
+            "layout": [
+                {"label":"Esc", "x":0.5, "y":0},
+                {"label":"~", "x":1.75, "y":0},
+                {"label":"!", "x":2.75, "y":0},
+                {"label":"@", "x":3.75, "y":0},
+                {"label":"#", "x":4.75, "y":0},
+                {"label":"$", "x":5.75, "y":0},
+                {"label":"%", "x":6.75, "y":0},
+                {"label":"^", "x":7.75, "y":0},
+                {"label":"&", "x":11.25, "y":0},
+                {"label":"*", "x":12.25, "y":0},
+                {"label":"(", "x":13.25, "y":0},
+                {"label":")", "x":14.25, "y":0},
+                {"label":"_", "x":15.25, "y":0},
+                {"label":"+", "x":16.25, "y":0},
+                {"label":"Back Space", "x":17.25, "y":0},
+                {"label":"Del", "x":19.75, "y":0},
+
+                {"label":"PgUp", "x":0.25, "y":1},
+                {"label":"Tab", "x":1.75, "y":1, "w":1.5},
+                {"label":"Q", "x":3.25, "y":1},
+                {"label":"W", "x":4.25, "y":1},
+                {"label":"E", "x":5.25, "y":1},
+                {"label":"R", "x":6.25, "y":1},
+                {"label":"T", "x":7.25, "y":1},
+                {"label":"Y", "x":10.75, "y":1},
+                {"label":"U", "x":11.75, "y":1},
+                {"label":"I", "x":12.75, "y":1},
+                {"label":"O", "x":13.75, "y":1},
+                {"label":"P", "x":14.75, "y":1},
+                {"label":"{", "x":15.75, "y":1},
+                {"label":"}", "x":16.75, "y":1},
+                {"label":"|", "x":17.75, "y":1, "w":1.5},
+
+                {"label":"PgDn", "x":0, "y":2},
+                {"label":"Caps Lock", "x":1.75, "y":2, "w":1.75},
+                {"label":"A", "x":3.5, "y":2},
+                {"label":"S", "x":4.5, "y":2},
+                {"label":"D", "x":5.5, "y":2},
+                {"label":"F", "x":6.5, "y":2},
+                {"label":"G", "x":7.5, "y":2},
+                {"label":"H", "x":11, "y":2},
+                {"label":"J", "x":12, "y":2},
+                {"label":"K", "x":13, "y":2},
+                {"label":"L", "x":14, "y":2},
+                {"label":":", "x":15, "y":2},
+                {"label":"\"", "x":16, "y":2},
+                {"label":"Enter", "x":17, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":1.75, "y":3, "w":2.25},
+                {"label":"Z", "x":4, "y":3},
+                {"label":"X", "x":5, "y":3},
+                {"label":"C", "x":6, "y":3},
+                {"label":"V", "x":7, "y":3},
+                {"label":"B", "x":8, "y":3},
+                {"label":"B", "x":10.5, "y":3}, {"label":"N", "x":11.5, "y":3},
+                {"label":"M", "x":12.5, "y":3},
+                {"label":"<", "x":13.5, "y":3},
+                {"label":">", "x":14.5, "y":3},
+                {"label":"?", "x":15.5, "y":3},
+                {"label":"Shift", "x":16.5, "y":3, "w":1.75},
+                {"label":"Up", "x":18.25, "y":3},
+
+                {"label":"Ctrl", "x":1.75, "y":4, "w":1.5},
+                {"label":"Alt", "x":4.75, "y":4, "w":1.25},
+                {"x":6, "y":4, "w":2.25},
+                {"label":"Win", "x":8.25, "y":4},
+                {"x":10.5, "y":4, "w":2.75},
+                {"label":"Alt", "x":13.25, "y":4, "w":1.5},
+                {"label":"Left", "x":17.25, "y":4},
+                {"label":"Down", "x":18.25, "y":4},
+                {"label":"Right", "x":19.25, "y":4}]
+        }
+    }
+}
diff --git a/keyboards/jacky_studio/bear_65/rev2/rev2.h b/keyboards/jacky_studio/bear_65/rev2/rev2.h
new file mode 100644
index 0000000000..31cc430504
--- /dev/null
+++ b/keyboards/jacky_studio/bear_65/rev2/rev2.h
@@ -0,0 +1,76 @@
+/* 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 "bear_65.h"
+
+#define LAYOUT_wk_full( \
+      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C, K0D, K0E,   K4E, \
+     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
+    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
+           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
+           K40, K41, K43,    K45,     K46,               K48,     K49, K4A,        K4B, K4C, K4D  \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
+    { K40,   K41,   KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   K49,   K4A,   K4B,   K4C,   K4D,   K4E   }, \
+}
+
+#define LAYOUT_wkl_full( \
+      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C, K0D, K0E,   K4E, \
+     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
+    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
+           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
+           K40,     K43,    K45,      K46,               K48,     K49,             K4B, K4C, K4D  \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
+    { K40,   KC_NO, KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   K49,   KC_NO, K4B,   K4C,   K4D,   K4E   }, \
+}
+
+#define LAYOUT_wk_bs( \
+      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C,   K0D,      K4E, \
+     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
+    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
+           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
+           K40, K41, K43,    K45,     K46,               K48,     K49, K4A,        K4B, K4C, K4D  \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   KC_NO }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
+    { K40,   K41,   KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   K49,   K4A,   K4B,   K4C,   K4D,   K4E   }, \
+}
+
+#define LAYOUT_wkl_bs( \
+      K31, K00, K01, K02, K03, K04, K05, K06,      K07, K08, K09, K0A, K0B, K0C,   K0D,      K4E, \
+     K1E,  K10, K11, K12, K13, K14, K15,           K16, K17, K18, K19, K1A, K1B, K1C, K1D,        \
+    K2E,   K20, K21, K22, K23, K24, K25,           K26, K27, K28, K29,  K2A,  K2B,   K2D,         \
+           K30,   K32, K33, K34, K35, K36,         K37, K38, K39, K3A, K3B, K3C,   K3D, K3E,      \
+           K40,     K43,    K45,      K46,               K48,     K4A,             K4B, K4C, K4D  \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   KC_NO }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D,   K2E   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
+    { K40,   KC_NO, KC_NO, K43,   KC_NO, K45,   K46,   KC_NO, K48,   KC_NO, K4A,   K4B,   K4C,   K4D,   K4E   }, \
+}
+
diff --git a/keyboards/jacky_studio/bear_65/rev2/rules.mk b/keyboards/jacky_studio/bear_65/rev2/rules.mk
new file mode 100644
index 0000000000..5d90baa2af
--- /dev/null
+++ b/keyboards/jacky_studio/bear_65/rev2/rules.mk
@@ -0,0 +1,17 @@
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+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
+NKRO_ENABLE = no            # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
+
+LTO_ENABLE = yes            # Use LTO flags to reduce firmware size
+
+RGB_MATRIX_ENABLE = no		# Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812	# RGB matrix driver support
diff --git a/keyboards/jacky_studio/bear_65/rules.mk b/keyboards/jacky_studio/bear_65/rules.mk
index 684173395e..67e93335d8 100644
--- a/keyboards/jacky_studio/bear_65/rules.mk
+++ b/keyboards/jacky_studio/bear_65/rules.mk
@@ -1,23 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-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
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
-LTO_ENABLE = yes            # Use LTO flags to reduce firmware size
-
-RGB_MATRIX_ENABLE = no		# Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
-RGB_MATRIX_DRIVER = WS2812	# RGB matrix driver support
+DEFAULT_FOLDER = jacky_studio/bear65/rev1