From 6a59198a42d49422297ee9320e5d842592573297 Mon Sep 17 00:00:00 2001
From: moyi4681 <moyi4681@users.noreply.github.com>
Date: Fri, 3 May 2019 21:19:33 +0800
Subject: [PATCH] add dz65rgb (#5756)

* add dz68rgb

* Update dz68rgb.c

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Rename keyboards/dztech/dz68rgb/rules.mk to keyboards/dztech/dz65rgb/rules.mk

* Update and rename keyboards/dztech/dz68rgb/config.h to keyboards/dztech/dz65rgb/config.h

* Update and rename keyboards/dztech/dz68rgb/dz68rgb.c to keyboards/dztech/dz65rgb/dz65rgb.c

* Rename keyboards/dztech/dz68rgb/dz68rgb.h to keyboards/dztech/dz65rgb/dz65rgb.h

* Update and rename keyboards/dztech/dz68rgb/info.json to keyboards/dztech/dz65rgb/info.json

* Update readme.md

* Rename keyboards/dztech/dz68rgb/readme.md to keyboards/dztech/dz65rgb/readme.md

* Rename keyboards/dztech/dz68rgb/keymaps/default/keymap.c to keyboards/dztech/dz65rgb/keymaps/default/keymap.c

* Update dz65rgb.c

* Update readme.md

* Update keyboards/dztech/dz65rgb/keymaps/default/keymap.c

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz65rgb/keymaps/default/keymap.c

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>
---
 keyboards/dztech/dz65rgb/config.h             |  29 ++++
 keyboards/dztech/dz65rgb/dz65rgb.c            | 156 ++++++++++++++++++
 keyboards/dztech/dz65rgb/dz65rgb.h            |  16 ++
 keyboards/dztech/dz65rgb/info.json            |  12 ++
 .../dztech/dz65rgb/keymaps/default/keymap.c   |  41 +++++
 keyboards/dztech/dz65rgb/readme.md            |  14 ++
 keyboards/dztech/dz65rgb/rules.mk             |  12 ++
 7 files changed, 280 insertions(+)
 create mode 100644 keyboards/dztech/dz65rgb/config.h
 create mode 100644 keyboards/dztech/dz65rgb/dz65rgb.c
 create mode 100644 keyboards/dztech/dz65rgb/dz65rgb.h
 create mode 100644 keyboards/dztech/dz65rgb/info.json
 create mode 100644 keyboards/dztech/dz65rgb/keymaps/default/keymap.c
 create mode 100644 keyboards/dztech/dz65rgb/readme.md
 create mode 100644 keyboards/dztech/dz65rgb/rules.mk

diff --git a/keyboards/dztech/dz65rgb/config.h b/keyboards/dztech/dz65rgb/config.h
new file mode 100644
index 0000000000..8ef9c23904
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/config.h
@@ -0,0 +1,29 @@
+#pragma once
+#include "config_common.h"
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x1224
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    DZTECH
+#define PRODUCT         DZ65RGB
+#define DESCRIPTION     DZ65 ARM RGB keyboard
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
+#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14, C15 }
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_MATRIX_LED_PROCESS_LIMIT 4
+#define RGB_MATRIX_LED_FLUSH_LIMIT 26
+#define DEBOUNCE 3
+#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
+
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110111
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 35
+#define DRIVER_2_LED_TOTAL 33
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL
diff --git a/keyboards/dztech/dz65rgb/dz65rgb.c b/keyboards/dztech/dz65rgb/dz65rgb.c
new file mode 100644
index 0000000000..78b345843c
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/dz65rgb.c
@@ -0,0 +1,156 @@
+#include "dz65rgb.h"
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+	{0, C2_1,  C3_1,  C4_1},  // LA0
+	{0, C1_1,  C3_2, C4_2},   // LA1
+	{0, C1_2,  C2_2, C4_3},   // LA2
+	{0, C1_3,  C2_3, C3_3},   // LA3
+	{0, C1_4,  C2_4, C3_4},   // LA4
+	{0, C1_5,  C2_5, C3_5},   // LA5
+	{0, C1_6,  C2_6, C3_6},   // LA6
+	{0, C1_7,  C2_7, C3_7},   // LA7
+    {0, C1_8,  C2_8, C3_8},   // LA8
+	{0, C9_1,  C8_1,  C7_1},  // LA9
+	{0, C9_2,  C8_2, C7_2},   // LA10
+	{0, C9_3,  C8_3, C7_3},   // LA11
+	{0, C9_4,  C8_4, C7_4},   // LA12
+	{0, C9_5,  C8_5, C7_5},   // LA13
+	{0, C9_6,  C8_6, C7_6},   // LA14
+	{0, C9_7,  C8_7, C6_6},   // LA15
+	{0, C9_8,  C7_7, C6_7},   // LA16
+	{0, C8_8,  C7_8, C6_8},   // LA17
+	{0, C2_9,  C3_9,  C4_9},  // LB0
+	{0, C1_9,  C3_10, C4_10}, // LB1
+	{0, C1_10, C2_10, C4_11}, // LB2
+	{0, C1_11, C2_11, C3_11}, // LB3
+  //{0, C1_12, C2_12, C3_12}, // LB4
+	{0, C1_13, C2_13, C3_13}, // LB5
+	{0, C1_14, C2_14, C3_14}, // LB6
+	{0, C1_15, C2_15, C3_15}, // LB7
+	{0, C1_16, C2_16, C3_16}, // LB8
+	{0, C9_9,  C8_9,  C7_9},  // LB9
+	{0, C9_10, C8_10, C7_10}, // LB10
+	{0, C9_11, C8_11, C7_11}, // LB11
+	{0, C9_12, C8_12, C7_12}, // LB12
+	{0, C9_13, C8_13, C7_13}, // LB13
+	{0, C9_14, C8_14, C7_14}, // LB14
+	{0, C9_15, C8_15, C6_14}, // LB15
+	{0, C9_16, C7_15, C6_15}, // LB16
+	{0, C8_16, C7_16, C6_16}, // LB17
+	{1, C2_1,  C3_1,  C4_1},  // LC0
+	{1, C1_1,  C3_2, C4_2},   // LC1
+	{1, C1_2,  C2_2, C4_3},   // LC2
+	{1, C1_3,  C2_3, C3_3},   // LC3
+	{1, C1_4,  C2_4, C3_4},   // LC4
+	{1, C1_5,  C2_5, C3_5},   // LC5
+  //{1, C1_6,  C2_6, C3_6},   // LC6
+	{1, C1_7,  C2_7, C3_7},   // LC7
+	{1, C1_8,  C2_8, C3_8},   // LC8
+	{1, C9_1,  C8_1,  C7_1},  // LC9
+	{1, C9_2,  C8_2, C7_2},   // LC10
+	{1, C9_3,  C8_3, C7_3},   // LC11
+	{1, C9_4,  C8_4, C7_4},   // LC12
+	{1, C9_5,  C8_5, C7_5},   // LC13
+	{1, C9_6,  C8_6, C7_6},   // LC14
+	//{1, C9_7,  C8_7, C6_6},   // LC15
+	{1, C9_8,  C7_7, C6_7},   // LC16
+	{1, C8_8,  C7_8, C6_8},   // LC17
+	{1, C2_9,  C3_9,  C4_9},  // LD0
+	{1, C1_9,  C3_10, C4_10}, // LD1
+	{1, C1_10, C2_10, C4_11}, // LD2
+	{1, C1_11, C2_11, C3_11}, // LD3
+	{1, C1_12, C2_12, C3_12}, // LD4
+	{1, C1_13, C2_13, C3_13}, // LD5
+	{1, C1_14, C2_14, C3_14}, // LD6
+	{1, C1_15, C2_15, C3_15}, // LD7
+	{1, C1_16, C2_16, C3_16}, // LD8
+	{1, C9_9,  C8_9,  C7_9},  // LD9
+	{1, C9_10, C8_10, C7_10}, // LD10
+	{1, C9_11, C8_11, C7_11}, // LD11
+	{1, C9_12, C8_12, C7_12}, // LD12
+	//{1, C9_13, C8_13, C7_13}, // LD13
+	{1, C9_14, C8_14, C7_14}, // LD14
+	{1, C9_15, C8_15, C6_14}, // LD15
+	{1, C9_16, C7_15, C6_15}, // LD16
+	{1, C8_16, C7_16, C6_16}, // LD17
+};
+rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
+    {{1|(7<<4)},   {16*7,  16}, 4},
+    {{1|(6<<4)},   {16*6,  16}, 4},
+    {{1|(5<<4)},   {16*5,  16}, 4},
+    {{1|(4<<4)},   {16*4,  16}, 4},
+    {{1|(3<<4)},   {16*3,  16}, 4},
+    {{1|(2<<4)},    {16*2,  16}, 4},
+    {{1|(1<<4)},    {16*1,  16}, 4},
+    {{1|(0<<4)},    {16*0,  16}, 1},
+	{{2|(0<<4)},    {16*0,  32}, 1},
+    {{0|(8<<4)},    {16*8,  0}, 1},
+    {{0|(7<<4)},    {16*7,  0}, 1},
+    {{0|(6<<4)},    {16*6,   0}, 1},
+    {{0|(5<<4)},    {16*5,  0}, 1},
+    {{0|(4<<4)},    {16*4,  0}, 1},
+    {{0|(3<<4)},    {16*3, 0}, 1},
+    {{0|(2<<4)},    {16*2,  0}, 1},
+    {{0|(1<<4)},    {16*1,  0}, 1},
+    {{0|(0<<4)},    {16*0,  0}, 1},
+    {{0|(9<<4)},    {16*9,  0}, 1},
+    {{0|(10<<4)},   {16*10,  0}, 1},
+    {{0|(11<<4)},   {16*11,  0}, 1},
+    {{0|(12<<4)},   {16*12,  0}, 1},
+    {{0|(13<<4)},   {16*13,  0}, 1},
+    {{0|(14<<4)},   {16*14,  0}, 1},
+    {{1|(14<<4)},    {16*14,  16}, 1},
+    {{2|(14<<4)},    {16*14,  32}, 1},
+    {{1|(8<<4)},    {16*8,  16}, 4},
+    {{1|(9<<4)},    {16*9,  16}, 4},
+    {{1|(10<<4)},    {16*10,  16}, 4},
+    {{1|(11<<4)},    {16*11,  16}, 4},
+    {{1|(12<<4)},    {16*12,  16}, 4},
+    {{1|(13<<4)},    {16*13,  16}, 4},
+    {{3|(14<<4)},    {16*14,  48}, 1},
+    {{4|(14<<4)},    {16*14,  64}, 1},
+    {{4|(13<<4)},    {16*13,  64}, 1},
+	{{4|(5<<4)},   {16*5,  64}, 1},
+	{{3|(5<<4)},   {16*5,  48}, 4},
+    {{3|(4<<4)},   {16*4,  48}, 4},
+    {{3|(3<<4)},   {16*3,  48}, 4},
+    {{3|(2<<4)},   {16*2,  48}, 4},
+    {{3|(1<<4)},   {16*1,  48}, 4},
+    {{4|(2<<4)},   {16*2,  64}, 1},
+    {{4|(1<<4)},   {16*1,  64}, 1},
+    {{2|(6<<4)},   {16*6, 32}, 4},
+    {{2|(5<<4)},   {16*5, 32}, 4},
+    {{2|(4<<4)},   {16*4, 32}, 4},
+    {{2|(3<<4)},   {16*3, 32}, 4},
+    {{2|(2<<4)},   {16*2, 32}, 4},
+    {{2|(1<<4)},   {16*1, 32}, 4},
+    {{3|(0<<4)},   {16*0,  48}, 1},
+    {{4|(0<<4)},   {16*0,  64}, 1},
+	{{2|(7<<4)},   {16*7,  32}, 4},
+	{{2|(8<<4)},   {16*8,  32}, 4},
+    {{2|(9<<4)},   {16*9,  32}, 4},
+    {{2|(10<<4)},   {16*10,  32}, 4},
+    {{2|(11<<4)},   {16*11,  32}, 4},
+    {{2|(13<<4)},   {16*13,  32}, 4},
+    {{3|(10<<4)},   {16*10,  48}, 4},
+    {{3|(11<<4)},   {16*11,  48}, 4},
+    {{3|(13<<4)},   {16*13,  48}, 4},
+    {{3|(6<<4)},   {16*6,  48}, 4},
+    {{3|(7<<4)},   {16*7,  48}, 4},
+    {{3|(8<<4)},   {16*8,  48}, 4},
+    {{3|(9<<4)},   {16*9,  48}, 4},
+    {{4|(8<<4)},   {16*8,  64}, 1},
+    {{4|(9<<4)},   {16*9,  64}, 1},
+    {{4|(10<<4)},  {16*10,  64}, 1},
+    {{4|(11<<4)},  {16*11,  64}, 1},
+};
+
+void suspend_power_down_kb(void)
+{
+    rgb_matrix_set_suspend_state(true);
+    suspend_power_down_user();
+}
+void suspend_wakeup_init_kb(void)
+{
+    rgb_matrix_set_suspend_state(false);
+    suspend_wakeup_init_user();
+}
diff --git a/keyboards/dztech/dz65rgb/dz65rgb.h b/keyboards/dztech/dz65rgb/dz65rgb.h
new file mode 100644
index 0000000000..b251a339f9
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/dz65rgb.h
@@ -0,0 +1,16 @@
+#pragma once
+#define XXX KC_NO
+#include "quantum.h"
+#define LAYOUT_65_ansi( \
+    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,      K2D, K2E, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3E, \
+    K40, K41, K42,           K45,           K48, K49, K4A, K4B,      K4D, K4E  \
+) { \
+    { 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, XXX, K2D, K2E }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \
+    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E }  \
+}
diff --git a/keyboards/dztech/dz65rgb/info.json b/keyboards/dztech/dz65rgb/info.json
new file mode 100644
index 0000000000..fe61e5d973
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/info.json
@@ -0,0 +1,12 @@
+{
+  "keyboard_name": "dz65rgb",
+  "url": "",
+  "maintainer": "dztch",
+  "width": 15,
+  "height": 5,
+  "layouts": {
+        "LAYOUT_65_ansi": {
+            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2},{"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5},{"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75},{"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+						 }
+		}
+}
diff --git a/keyboards/dztech/dz65rgb/keymaps/default/keymap.c b/keyboards/dztech/dz65rgb/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bce9118f8f
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+#include QMK_KEYBOARD_H
+extern bool g_suspend_state;
+#define _LAYER0 0
+#define _LAYER1 1
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+		[_LAYER0] = LAYOUT_65_ansi( /* Base */
+			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_HOME,\
+		    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_BSLASH, KC_PGUP,\
+			CTL_T(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_PGDN,\
+		    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_LCTL,       KC_LGUI,  KC_LALT,                KC_SPC,                KC_RALT, MO(1),    KC_RCTL,    KC_LEFT,           KC_DOWN,   KC_RIGHT),
+		[_LAYER1] = LAYOUT_65_ansi( /* FN */
+			KC_GESC,       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_DEL,   KC_HOME,\
+		    KC_TRNS,       RGB_TOG,  RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, RESET,    KC_PGUP,\
+			CTL_T(KC_CAPS),RGB_SPI,  RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,          EEP_RST,  KC_PGDN,\
+		    KC_LSFT,       KC_TRNS,  KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,          KC_VOLU,  KC_MUTE,\
+		    KC_TRNS,       KC_TRNS,  KC_TRNS,                  KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS,  KC_MPRV,          KC_VOLD,  KC_MNXT),
+};
+
+void rgb_matrix_indicators_user(void)
+{
+	    if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK))
+	    {
+	      rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF);
+	    }
+}
+
+void matrix_init_user(void)
+{
+  //user initialization
+}
+
+void matrix_scan_user(void)
+{
+  //user matrix
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record)
+{
+	  return true;
+}
diff --git a/keyboards/dztech/dz65rgb/readme.md b/keyboards/dztech/dz65rgb/readme.md
new file mode 100644
index 0000000000..7f8aad95f8
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/readme.md
@@ -0,0 +1,14 @@
+# DZ65RGB
+
+A customizable 65% RGB keyboard.
+
+Keyboard Maintainer: [DZtech](http://keyboarddiy.taobao.com)  
+Hardware Supported: [DZtech](http://keyboarddiy.taobao.com)  
+Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+
+Make example for this keyboard (after setting up your build environment):
+
+    make dztech/dz65rgb:default
+
+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).
diff --git a/keyboards/dztech/dz65rgb/rules.mk b/keyboards/dztech/dz65rgb/rules.mk
new file mode 100644
index 0000000000..7dc3bd9690
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/rules.mk
@@ -0,0 +1,12 @@
+MCU  = STM32F303
+BACKLIGHT_ENABLE = no
+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
+NKRO_ENABLE = yes                 # USB Nkey Rollover
+AUDIO_ENABLE = no
+RGB_MATRIX_ENABLE = yes     # Use RGB matrix
+
+LAYOUTS = 65_ansi