~ruther/qmk_firmware

426c03eda0deb62d916498fbdd671c7d3532b9e4 — moyi4681 5 years ago 5edd4b9
[Keyboard] add kbdmini; dztech, kbdfans keyboards cleanup (#7223)

* add kbdmini, dztech and kbdfans keyboards small fix

* Caps lock indicator moved from keymap

* Update dz65rgb.c

* fix error

* fix matthewrobo keymap error

* Update keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb/dz60rgb.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz65rgb/dz65rgb.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* wrap all of the g_led_config stuff and rgb matrix functions in ifdefs

wrap all of the g_led_config stuff and rgb matrix functions in ifdefs
62 files changed, 783 insertions(+), 1268 deletions(-)

M keyboards/dz60/config.h
D keyboards/dztech/dz40rgb/dz40rgb.c
D keyboards/dztech/dz40rgb/dz40rgb.h
D keyboards/dztech/dz40rgb/keymaps/default/config.h
D keyboards/dztech/dz40rgb/keymaps/default/keymap.c
D keyboards/dztech/dz40rgb/keymaps/split_space/config.h
D keyboards/dztech/dz40rgb/keymaps/split_space/keymap.c
M keyboards/dztech/dz60rgb/config.h
M keyboards/dztech/dz60rgb/dz60rgb.c
M keyboards/dztech/dz60rgb/dz60rgb.h
M keyboards/dztech/dz60rgb/info.json
D keyboards/dztech/dz60rgb/keymaps/ansi/config.h
M keyboards/dztech/dz60rgb/keymaps/default/keymap.c
D keyboards/dztech/dz60rgb/keymaps/hhkb/config.h
D keyboards/dztech/dz60rgb/keymaps/hhkb_iso/config.h
D keyboards/dztech/dz60rgb/keymaps/hhkb_iso/keymap.c
D keyboards/dztech/dz60rgb/keymaps/iso/config.h
D keyboards/dztech/dz60rgb/keymaps/iso/keymap.c
M keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
M keyboards/dztech/dz60rgb/rules.mk
R keyboards/dztech/{dz40rgb => dz60rgb_ansi}/config.h
A keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
A keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.h
A keyboards/dztech/dz60rgb_ansi/info.json
R keyboards/dztech/{dz60rgb/keymaps/ansi => dz60rgb_ansi/keymaps/default}/keymap.c
A keyboards/dztech/dz60rgb_ansi/readme.md
A keyboards/dztech/dz60rgb_ansi/rules.mk
A keyboards/dztech/dz60rgb_wkl/config.h
A keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
A keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.h
A keyboards/dztech/dz60rgb_wkl/info.json
R keyboards/dztech/{dz60rgb/keymaps/hhkb => dz60rgb_wkl/keymaps/default}/keymap.c
A keyboards/dztech/dz60rgb_wkl/readme.md
R keyboards/dztech/{dz40rgb => dz60rgb_wkl}/rules.mk
M keyboards/dztech/dz65rgb/config.h
M keyboards/dztech/dz65rgb/dz65rgb.c
M keyboards/dztech/dz65rgb/keymaps/default/keymap.c
M keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
M keyboards/geekboards/tester/config.h
M keyboards/kbdfans/kbd19x/config.h
M keyboards/kbdfans/kbd4x/config.h
M keyboards/kbdfans/kbd66/config.h
M keyboards/kbdfans/kbd67/hotswap/config.h
M keyboards/kbdfans/kbd67/mkii_soldered/config.h
M keyboards/kbdfans/kbd67/mkiirgb/config.h
M keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c
M keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c
M keyboards/kbdfans/kbd67/rev1/config.h
M keyboards/kbdfans/kbd67/rev2/config.h
M keyboards/kbdfans/kbd6x/config.h
M keyboards/kbdfans/kbd75/config.h
M keyboards/kbdfans/kbd8x/config.h
M keyboards/kbdfans/kbd8x_mk2/config.h
A keyboards/kbdfans/kbdmini/config.h
A keyboards/kbdfans/kbdmini/kbdmini.c
A keyboards/kbdfans/kbdmini/kbdmini.h
A keyboards/kbdfans/kbdmini/keymaps/default/keymap.c
A keyboards/kbdfans/kbdmini/readme.md
A keyboards/kbdfans/kbdmini/rules.mk
M keyboards/kbdfans/kbdpad_mk2/config.h
M keyboards/xbows/knight/config.h
M keyboards/xbows/woody/config.h
M keyboards/dz60/config.h => keyboards/dz60/config.h +5 -3
@@ 25,8 25,9 @@

/* number of backlight levels */
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 5

#endif
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5



@@ 35,12 36,13 @@

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

#define RGBLIGHT_SLEEP
#endif
#endif
\ No newline at end of file

D keyboards/dztech/dz40rgb/dz40rgb.c => keyboards/dztech/dz40rgb/dz40rgb.c +0 -203
@@ 1,203 0,0 @@
#include "dz40rgb.h"
#include "config.h"
#if defined (split_space)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location
 *   |  |       G location
 *   |  |       |       B location
 *   |  |       |       | */
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},

    {0, K_13,   J_13,   L_13},
    {0, K_14,   J_14,   L_14},

    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},

    {0, H_13,   G_13,   I_13},
    {0, H_14,   G_14,   I_14},

    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},

    {0, E_13,   D_13,   F_13},
    {0, E_14,   D_14,   F_14},

    {0, B_12,   A_12,   C_12},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1}

};

led_config_t g_led_config = { {
    {  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
    {  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  14 },
    {  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29,  28 },
    {  53,  52,  51,  50,  49,  48,  47,  46,  45,  44,  43,  42 }
}, {
    { 223,   0 }, { 203,   0 }, { 183,   0 }, { 162,   0 }, { 142,   0 }, { 122,   0 }, { 101,   0 }, {  81,   0 }, {  61,   0 }, {  40,   0 }, {  20,   0 }, {   0,   0 },
    { 223,  10 }, {   0,  10 }, { 223,  21 }, { 203,  21 }, { 183,  21 }, { 162,  21 }, { 142,  21 }, { 122,  21 }, { 101,  21 }, {  81,  21 }, {  61,  21 }, {  40,  21 },
    {  20,  21 }, {   0,  21 }, { 223,  31 }, {   0,  31 }, { 223,  42 }, { 203,  42 }, { 183,  42 }, { 162,  42 }, { 142,  42 }, { 122,  42 }, { 101,  42 }, {  81,  42 },
    {  61,  42 }, {  40,  42 }, {  20,  42 }, {   0,  42 }, { 223,  53 }, {   0,  53 }, { 223,  63 }, { 203,  63 }, { 183,  63 }, { 162,  63 }, { 142,  63 }, { 122,  63 },
    { 101,  63 }, {  81,  63 }, {  61,  63 }, {  40,  63 }, {  20,  63 }, {   0,  63 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
    4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1
} };

#else
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location
 *   |  |       G location
 *   |  |       |       B location
 *   |  |       |       | */
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},

    {0, K_13,   J_13,   L_13},
    {0, K_14,   J_14,   L_14},

    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},

    {0, H_13,   G_13,   I_13},
    {0, H_14,   G_14,   I_14},

    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},

    {0, E_13,   D_13,   F_13},
    {0, E_14,   D_14,   F_14},

    {0, B_12,   A_12,   C_12},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_13,   A_13,   C_13},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1}

};

led_config_t g_led_config = { {
    {  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
    {  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  14 },
    {  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29,  28 },
    {  52,  51,  50,  49,  48, NO_LED,  47,  46,  45,  44,  43,  42 }
}, {
    { 223,   0 }, { 203,   0 }, { 183,   0 }, { 162,   0 }, { 142,   0 }, { 122,   0 }, { 101,   0 }, {  81,   0 }, {  61,   0 }, {  40,   0 }, {  20,   0 }, {   0,   0 },
    { 223,  10 }, {   0,  10 }, { 223,  21 }, { 203,  21 }, { 183,  21 }, { 162,  21 }, { 142,  21 }, { 122,  21 }, { 101,  21 }, {  81,  21 }, {  61,  21 }, {  40,  21 },
    {  20,  21 }, {   0,  21 }, { 223,  31 }, {   0,  31 }, { 223,  42 }, { 203,  42 }, { 183,  42 }, { 162,  42 }, { 142,  42 }, { 122,  42 }, { 101,  42 }, {  81,  42 },
    {  61,  42 }, {  40,  42 }, {  20,  42 }, {   0,  42 }, { 223,  53 }, {   0,  53 }, { 223,  63 }, { 203,  63 }, { 183,  63 }, { 162,  63 }, { 142,  63 }, { 111,  63 },
    {  81,  63 }, {  61,  63 }, {  40,  63 }, {  20,  63 }, {   0,  63 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
    4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1
} };

#endif

void matrix_init_kb(void) {
    matrix_init_user();
}
void matrix_scan_kb(void) {
    matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
    return process_record_user(keycode, record);
}
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();
}

D keyboards/dztech/dz40rgb/dz40rgb.h => keyboards/dztech/dz40rgb/dz40rgb.h +0 -27
@@ 1,27 0,0 @@
#pragma once
#include "quantum.h"
#define LAYOUT( \
	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
	k30, k31, k32, k33, k34,    k36,   k37, k38, k39, k3a, k3b \
) \
{ \
	{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
	{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
	{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
	{ k30, k31, k32, k33, k34, k36, k36, k37, k38, k39, k3a, k3b } \
}

#define LAYOUT_SPLIT( \
	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
	k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
) \
{ \
	{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
	{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
	{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
	{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
}

D keyboards/dztech/dz40rgb/keymaps/default/config.h => keyboards/dztech/dz40rgb/keymaps/default/config.h +0 -3
@@ 1,3 0,0 @@
#pragma once
#define DRIVER_1_LED_TOTAL 53
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL

D keyboards/dztech/dz40rgb/keymaps/default/keymap.c => keyboards/dztech/dz40rgb/keymaps/default/keymap.c +0 -71
@@ 1,71 0,0 @@
#include QMK_KEYBOARD_H
#define _LAYER0 0
#define _LAYER1 1
#define _LAYER2 2
#define _LAYER3 3
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		[_LAYER0] = LAYOUT( /* Base */
			    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
			    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
			    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
				RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),            KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
			),
		[_LAYER1] = LAYOUT( /* FN */
			    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
			    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
			    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
			    _______, _______, _______, _______, _______,          _______, TO(3),      KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY
			),
		[_LAYER2] = LAYOUT( /* FN2 */
			    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
			    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
			    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
			    RGB_TOG, RGB_MOD, BL_INC,  BL_DEC, _______,           _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
		    ),
		[_LAYER3] = LAYOUT( /* FN3 */
			    TO(0), RESET,   DEBUG,   RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,  RGB_VAI, RGB_VAD, KC_DEL ,
			    _______, _______, _______,  _______,   _______,  _______, _______,  _______, _______, _______, _______, _______,
			    _______, _______, _______,  _______,   _______,  _______, _______,  _______, _______, _______, _______, _______,
			    _______, _______, _______,  _______,   _______,           _______,  _______, _______, _______, _______,  _______
			),

};

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }
  }
}

void rgb_matrix_indicators_user(void) {
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
	      case _LAYER1:
		    rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
	      case _LAYER2:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
	      case _LAYER3:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
	    							  }
	                        }

}





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;
	}


D keyboards/dztech/dz40rgb/keymaps/split_space/config.h => keyboards/dztech/dz40rgb/keymaps/split_space/config.h +0 -5
@@ 1,5 0,0 @@
#pragma once
#include "../../config.h"
#define split_space
#define DRIVER_1_LED_TOTAL 54
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL

D keyboards/dztech/dz40rgb/keymaps/split_space/keymap.c => keyboards/dztech/dz40rgb/keymaps/split_space/keymap.c +0 -96
@@ 1,96 0,0 @@
#include QMK_KEYBOARD_H
#define _LAYER0 0
#define _LAYER1 1
#define _LAYER2 2
#define _LAYER3 3
#define _LAYER4 4
#define _LAYER5 5
#define _LAYER6 6
#define _LAYER7 7
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		[_LAYER0] = LAYOUT_SPLIT( /* Base */
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
    RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT),
		[_LAYER1] = LAYOUT_SPLIT( /* FN */
    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
    _______, _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY),
		[_LAYER2] = LAYOUT_SPLIT( /* LIGHT */
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
		[_LAYER3] = LAYOUT_SPLIT( /* NUMPAD */
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
    RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT),
		[_LAYER4] = LAYOUT_SPLIT( /* MAC */
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
    RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT),
		[_LAYER5] = LAYOUT_SPLIT( /* NEED TO DEFINE */
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
    RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT),
		[_LAYER6] = LAYOUT_SPLIT( /* NEED TO DEFINE */
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
    RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT),
		[_LAYER7] = LAYOUT_SPLIT( /* NEED TO DEFINE */
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
    RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(1),   KC_SPC,  KC_SPC,  MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT),
		};



void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }
  }
}

void rgb_matrix_indicators_user(void) {
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
	      case _LAYER1:
		    rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
	      case _LAYER2:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
	      case _LAYER4:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
	      case _LAYER5:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, false); break;
	      case _LAYER6:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0xFF, false); break;
	    							  }
	                        }

}





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;
	}


M keyboards/dztech/dz60rgb/config.h => keyboards/dztech/dz60rgb/config.h +3 -6
@@ 21,6 21,7 @@
#define DIODE_DIRECTION COL2ROW

#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
#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


@@ 29,14 30,10 @@
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#if defined (dzrgb60_ansi) || defined (dzrgb60_iso)
#define DRIVER_1_LED_TOTAL 61
#elif defined (dzrgb60_hhkb) || defined (dzrgb60_hhkb_iso)
#define DRIVER_1_LED_TOTAL 62
#else
#define DRIVER_1_LED_TOTAL 63
#endif
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
\ No newline at end of file

M keyboards/dztech/dz60rgb/dz60rgb.c => keyboards/dztech/dz60rgb/dz60rgb.c +10 -344
@@ 1,348 1,5 @@
#include "dz60rgb.h"
#include "config.h"
#if defined (dzrgb60_iso)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},
    {0, H_15,   G_15,   I_15},
    {0, H_13,   G_13,   I_13},
    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},
    {0, B_14,   A_14,   C_14},
    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},
    {0, B_13,   A_13,   C_13},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1},
    {0, B_15,   A_15,   C_15},
    {0, E_13,   D_13,   F_13},
    {0, B_12,   A_12,   C_12},
    {0, E_15,   D_15,   F_15},
    {0, B_16,   A_16,   C_16},
    {0, E_16,   D_16,   F_16},
    {0, H_16,   G_16,   I_16},
    {0, K_16,   J_16,   L_16},
};

led_config_t g_led_config = { {
    {  13,  12,  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
    {  27,  26,  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  28 },
    {  40,  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29, NO_LED,  14 },
    {  52,  51,  50,  49,  48,  47,  46,  45,  44,  43,  42,  41, NO_LED, NO_LED },
    {  60,  59,  58, NO_LED, NO_LED,  57, NO_LED, NO_LED, NO_LED,  56,  55,  54, NO_LED,  53 }
}, {
    { 216,   0 }, { 192,   0 }, { 176,   0 }, { 160,   0 }, { 144,   0 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 }, {  32,   0 }, {  16,   0 }, {   0,   0 },
    { 220,  24 }, { 200,  16 }, { 184,  16 }, { 168,  16 }, { 152,  16 }, { 136,  16 }, { 120,  16 }, { 104,  16 }, {  88,  16 }, {  72,  16 }, {  56,  16 }, {  40,  16 }, {  24,  16 }, {   4,  16 },
    { 204,  32 }, { 188,  32 }, { 172,  32 }, { 156,  32 }, { 140,  32 }, { 124,  32 }, { 108,  32 }, {  92,  32 }, {  76,  32 }, {  60,  32 }, {  44,  32 }, {  28,  32 }, {   6,  32 }, { 210,  48 },
    { 180,  48 }, { 164,  48 }, { 148,  48 }, { 132,  48 }, { 116,  48 }, { 100,  48 }, {  84,  48 }, {  68,  48 }, {  52,  48 }, {  20,  48 }, {  10,  48 }, { 222,  64 }, { 202,  64 }, { 182,  64 },
    { 162,  64 }, { 102,  64 }, {  42,  64 }, {  22,  64 }, {   2,  64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
    1, 4, 1, 1, 1
} };

#elif defined (dzrgb60_hhkb)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
	{0, H_15,   G_15,   I_15},
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},
    {0, H_14,   G_14,   I_14},
    {0, H_13,   G_13,   I_13},
    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},
    {0, E_14,   D_14,   F_14},
    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},
    {0, B_14,   A_14,   C_14},
    {0, B_13,   A_13,   C_13},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1},
    {0, B_15,   A_15,   C_15},
    {0, E_13,   D_13,   F_13},
    {0, B_12,   A_12,   C_12},
    {0, B_16,   A_16,   C_16},
    {0, E_16,   D_16,   F_16},
    {0, H_16,   G_16,   I_16},
    {0, K_16,   J_16,   L_16},
};

led_config_t g_led_config = { {
    {  14,  13,  12,  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1 },
    {  28,  27,  26,  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15 },
    {  41,  40,  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,   0,  29 },
    {  54,  53,  52,  51,  50,  49,  48,  47,  46,  45,  44,  43, NO_LED,  42 },
    {  61,  60,  59, NO_LED, NO_LED,  58, NO_LED, NO_LED, NO_LED, NO_LED,  57,  56, NO_LED,  55 }
}, {
    { 224,   0 }, { 208,   0 }, { 192,   0 }, { 176,   0 }, { 160,   0 }, { 144,   0 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 }, {  32,   0 }, {  16,   0 },
    {   0,   0 }, { 220,  16 }, { 200,  16 }, { 184,  16 }, { 168,  16 }, { 152,  16 }, { 136,  16 }, { 120,  16 }, { 104,  16 }, {  88,  16 }, {  72,  16 }, {  56,  16 }, {  40,  16 }, {  24,  16 },
    {   4,  16 }, { 204,  32 }, { 188,  32 }, { 172,  32 }, { 156,  32 }, { 140,  32 }, { 124,  32 }, { 108,  32 }, {  92,  32 }, {  76,  32 }, {  60,  32 }, {  44,  32 }, {  28,  32 }, {   6,  32 },
    { 224,  48 }, { 202,  48 }, { 180,  48 }, { 164,  48 }, { 148,  48 }, { 132,  48 }, { 116,  48 }, { 100,  48 }, {  84,  48 }, {  68,  48 }, {  52,  48 }, {  20,  48 }, {  10,  48 }, { 218,  64 },
    { 198,  64 }, { 178,  64 }, { 112,  64 }, {  46,  64 }, {  26,  64 }, {   6,  64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
    1, 1, 4, 1, 1, 1
} };

#elif defined (dzrgb60_hhkb_iso)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
	{0, H_15,   G_15,   I_15},
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},
    {0, K_15,   J_15,   L_15},
    {0, H_13,   G_13,   I_13},
    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},
    {0, E_15,   D_15,   F_15},
    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},
    {0, B_14,   A_14,   C_14},
    {0, B_13,   A_13,   C_13},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1},
    {0, B_15,   A_15,   C_15},
    {0, E_13,   D_13,   F_13},
    {0, B_12,   A_12,   C_12},
    {0, B_16,   A_16,   C_16},
    {0, E_16,   D_16,   F_16},
    {0, H_16,   G_16,   I_16},
    {0, K_16,   J_16,   L_16},
};

led_config_t g_led_config = { {
    {  14,  13,  12,  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1 },
    {  28,  27,  26,  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  29 },
    {  41,  40,  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,   0,  15 },
    {  54,  53,  52,  51,  50,  49,  48,  47,  46,  45,  44,  43, NO_LED,  42 },
    {  61,  60,  59, NO_LED, NO_LED,  58, NO_LED, NO_LED, NO_LED, NO_LED,  57,  56, NO_LED,  55 }
}, {
    { 224,   0 }, { 208,   0 }, { 192,   0 }, { 176,   0 }, { 160,   0 }, { 144,   0 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 }, {  32,   0 }, {  16,   0 },
    {   0,   0 }, { 220,  24 }, { 200,  16 }, { 184,  16 }, { 168,  16 }, { 152,  16 }, { 136,  16 }, { 120,  16 }, { 104,  16 }, {  88,  16 }, {  72,  16 }, {  56,  16 }, {  40,  16 }, {  24,  16 },
    {   4,  16 }, { 204,  32 }, { 188,  32 }, { 172,  32 }, { 156,  32 }, { 140,  32 }, { 124,  32 }, { 108,  32 }, {  92,  32 }, {  76,  32 }, {  60,  32 }, {  44,  32 }, {  28,  32 }, {   6,  32 },
    { 224,  48 }, { 202,  48 }, { 180,  48 }, { 164,  48 }, { 148,  48 }, { 132,  48 }, { 116,  48 }, { 100,  48 }, {  84,  48 }, {  68,  48 }, {  52,  48 }, {  20,  48 }, {  10,  48 }, { 218,  64 },
    { 198,  64 }, { 178,  64 }, { 112,  64 }, {  46,  64 }, {  26,  64 }, {   6,  64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
    1, 1, 4, 1, 1, 1
} };

#elif defined (dzrgb60_ansi)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},
    {0, H_14,   G_14,   I_14},
    {0, H_13,   G_13,   I_13},
    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},
    {0, E_14,   D_14,   F_14},
    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},
    {0, B_13,   A_13,   C_13},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1},
    {0, B_15,   A_15,   C_15},
    {0, E_13,   D_13,   F_13},
    {0, B_12,   A_12,   C_12},
    {0, E_15,   D_15,   F_15},
    {0, B_16,   A_16,   C_16},
    {0, E_16,   D_16,   F_16},
    {0, H_16,   G_16,   I_16},
    {0, K_16,   J_16,   L_16},
};

led_config_t g_led_config = { {
    {  13,  12,  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
    {  27,  26,  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  14 },
    {  40,  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29, NO_LED,  28 },
    {  52,  51,  50,  49,  48,  47,  46,  45,  44,  43,  42,  41, NO_LED, NO_LED },
    {  60,  59,  58, NO_LED, NO_LED,  57, NO_LED, NO_LED, NO_LED,  56,  55,  54, NO_LED,  53 }
}, {
    { 216,   0 }, { 192,   0 }, { 176,   0 }, { 160,   0 }, { 144,   0 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 }, {  32,   0 }, {  16,   0 }, {   0,   0 },
    { 220,  16 }, { 200,  16 }, { 184,  16 }, { 168,  16 }, { 152,  16 }, { 136,  16 }, { 120,  16 }, { 104,  16 }, {  88,  16 }, {  72,  16 }, {  56,  16 }, {  40,  16 }, {  24,  16 }, {   4,  16 },
    { 214,  24 }, { 188,  32 }, { 172,  32 }, { 156,  32 }, { 140,  32 }, { 124,  32 }, { 108,  32 }, {  92,  32 }, {  76,  32 }, {  60,  32 }, {  44,  32 }, {  28,  32 }, {   6,  32 }, { 210,  48 },
    { 180,  48 }, { 164,  48 }, { 148,  48 }, { 132,  48 }, { 116,  48 }, { 100,  48 }, {  84,  48 }, {  68,  48 }, {  52,  48 }, {  20,  48 }, {  10,  48 }, { 222,  64 }, { 202,  64 }, { 182,  64 },
    { 162,  64 }, { 102,  64 }, {  42,  64 }, {  22,  64 }, {   2,  64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
    1, 4, 1, 1, 1
} };

#else
#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},


@@ 452,3 109,12 @@ void suspend_wakeup_init_kb(void)
    rgb_matrix_set_suspend_state(false);
    suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
    if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK))
    {
        rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
    }
}


M keyboards/dztech/dz60rgb/dz60rgb.h => keyboards/dztech/dz60rgb/dz60rgb.h +0 -56
@@ 1,7 1,6 @@
#pragma once
#define XXX KC_NO
#include "quantum.h"

#define LAYOUT( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \


@@ 15,58 14,3 @@
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D }  \
}
#define LAYOUT_ISO( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           \
    K40, K41, K42,           K45,                K49, K4A, K4B,      K4D  \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, XXX }, \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, XXX, K4D }  \
}

#define LAYOUT_HHKB( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,\
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,\
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,\
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,\
    K40, K41, K42,           K45,                     K4A, K4B,      K4D \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D },     \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D },     \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D },     \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, K4B, XXX, K4D }      \
}

#define LAYOUT_HHKB_ISO( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,  \
    K40, K41, K42,           K45,                     K4A, K4B,      K4D   \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,}, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, K4B, XXX, K4D }  \
}

#define LAYOUT_60_ansi( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           \
    K40, K41, K42,           K45,                K49, K4A, K4B,      K4D  \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, XXX }, \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, XXX, K4D }  \
}

M keyboards/dztech/dz60rgb/info.json => keyboards/dztech/dz60rgb/info.json +0 -4
@@ 9,9 9,5 @@
            "key_count": 63,
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"Shift", "x":11.25, "y":3, "w":1.75}, {"label":"\u2191", "x":13, "y":3},{"label":"?", "x":14, "y":3},	{"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Ctrl", "x":11, "y":4}, {"label":"\u2190", "x":12, "y":4}, {"label":"\u2193", "x":13, "y":4}, {"label":"\u2192", "x":14, "y":4}]
        },
        "LAYOUT_60_ansi": {
            "key_count": 61,
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
        }
    }
}

D keyboards/dztech/dz60rgb/keymaps/ansi/config.h => keyboards/dztech/dz60rgb/keymaps/ansi/config.h +0 -2
@@ 1,2 0,0 @@
#pragma once
#define dzrgb60_ansi

M keyboards/dztech/dz60rgb/keymaps/default/keymap.c => keyboards/dztech/dz60rgb/keymaps/default/keymap.c +1 -86
@@ 15,7 15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		    TO(3),    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_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_CALC,  KC_TRNS,  KC_INS,   KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
		    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,            EEP_RST,\
		    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_VOLU,            KC_MUTE,\
		    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  MAGIC_TOGGLE_NKRO,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_VOLU,            KC_MUTE,\
			KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(4),                        KC_TRNS,  KC_TRNS,  KC_MPRV,  KC_VOLD,            KC_MNXT),
		[_LAYER2] = LAYOUT( /* LIGHT */
			KC_TRNS,  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 ,\


@@ 36,91 36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		    KC_LSFT,        KC_Z,     KC_X,     KC_C,  KC_V,  KC_B,  KC_N,    KC_M,  KC_COMM, KC_DOT,   RSFT_T(KC_SLSH), KC_UP,             LT(2, KC_DEL),\
			KC_LCTL,        KC_LALT,  KC_LGUI,                KC_SPC,                KC_RALT, TO(0),    KC_LEFT,         KC_DOWN,           KC_RIGHT),
		};

void rgb_matrix_indicators_user(void) {
	  uint8_t this_led = host_keyboard_leds();
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
        case _LAYER3:
          if ( this_led & (1<<USB_LED_NUM_LOCK)) {
            rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
          } else {
            rgb_matrix_set_color(13, 0x00, 0x00, 0x00);
          }
          rgb_matrix_set_color(0, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(1, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(1, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(2, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(3, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(4, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(5, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(6, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(7, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(8, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(9, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(10, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(11, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(12, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(14, 0x00, 0x00, 0xFF);
          rgb_matrix_set_color(15, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(16, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(17, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(18, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(19, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(20, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(21, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(22, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(23, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(24, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(25, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(26, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(27, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(28, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(29, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(30, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(31, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(32, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(33, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(34, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(35, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(36, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(37, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(38, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(39, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(40, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(41, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(42, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(43, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(44, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(45, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(46, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(47, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(48, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(49, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(50, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(51, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(52, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(53, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(54, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(55, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(56, 0x00, 0x00, 0x00);
          rgb_matrix_set_color(57, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(58, 0x00, 0xFF, 0x00);
          rgb_matrix_set_color(59, 0xFF, 0x00, 0x00);
          rgb_matrix_set_color(60, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(61, 0xFF, 0xFF, 0x00);
          rgb_matrix_set_color(62, 0x00, 0x00, 0x00);
          break;
	      case _LAYER4:
	        rgb_matrix_set_color_all(0xFF, 0xFF, 0x00);
          break;
      }
    }
    if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
      rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
    }
}

void matrix_init_user(void) {
  //user initialization
}

D keyboards/dztech/dz60rgb/keymaps/hhkb/config.h => keyboards/dztech/dz60rgb/keymaps/hhkb/config.h +0 -2
@@ 1,2 0,0 @@
#pragma once
#define dzrgb60_hhkb

D keyboards/dztech/dz60rgb/keymaps/hhkb_iso/config.h => keyboards/dztech/dz60rgb/keymaps/hhkb_iso/config.h +0 -2
@@ 1,2 0,0 @@
#pragma once
#define dzrgb60_hhkb_iso

D keyboards/dztech/dz60rgb/keymaps/hhkb_iso/keymap.c => keyboards/dztech/dz60rgb/keymaps/hhkb_iso/keymap.c +0 -79
@@ 1,79 0,0 @@
#include QMK_KEYBOARD_H
#define _LAYER0 0
#define _LAYER1 1
#define _LAYER2 2
#define _LAYER3 3
#define _LAYER4 4
#define _LAYER5 5
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		[_LAYER0] = LAYOUT_HHKB_ISO( /* 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_BSLS,
			      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_BSPC,
				  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_DEL,  KC_ENT,
			      KC_LSFT,         KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,     KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          MO(2),
			      KC_LCTL,         KC_LGUI, KC_LALT,                   KC_SPACE,                                   KC_RALT, MO(1),            KC_RCTL),
		[_LAYER1] = LAYOUT_HHKB_ISO( /* FN */
				  KC_GRAVE, 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_TRNS,
	              KC_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_CALC,  KC_TRNS,  KC_INS,   KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
			      KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,  KC_TRNS,  KC_TRNS,\
			      KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT,            KC_TRNS,\
			      KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(3),                                            KC_TRNS,  KC_TRNS,            KC_TRNS),
		[_LAYER2] = LAYOUT_HHKB_ISO( /* LIGHT */
				  KC_TRNS,  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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RESET  ,\
				  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  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),
		[_LAYER3] = LAYOUT_HHKB_ISO( /* NUMPAD */
				  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_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,\
				  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_DEL,  KC_ENT, \
			      KC_LSFT,       KC_Z,     KC_X,     KC_C,  KC_V,  KC_B,  KC_N,    KC_M,    KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,           MO(4),\
			      KC_LCTL,       KC_LALT,  KC_LGUI,                KC_SPC,                                   MO(4),   KC_RGUI,           KC_RCTL),
		[_LAYER4] = LAYOUT_HHKB_ISO( /* MAC */
			  	  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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
			      KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  KC_HOME,  KC_PGUP,  KC_TRNS,  KC_TRNS,\
				  KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT,            KC_TRNS,\
				  KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(0),                                            KC_TRNS,  KC_TRNS,            KC_TRNS),
		};

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }
  }
}

void rgb_matrix_indicators_user(void) {
	  uint8_t this_led = host_keyboard_leds();
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
	      case _LAYER1:
		    rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
	      case _LAYER2:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
	      case _LAYER3:
	        rgb_matrix_layer_helper(0x00, 0x00, 0xFF, false); break;
	      case _LAYER4:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
	    							  }
	                        }
	  if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
	        rgb_matrix_set_color(41, 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;
	}

D keyboards/dztech/dz60rgb/keymaps/iso/config.h => keyboards/dztech/dz60rgb/keymaps/iso/config.h +0 -2
@@ 1,2 0,0 @@
#pragma once
#define dzrgb60_iso

D keyboards/dztech/dz60rgb/keymaps/iso/keymap.c => keyboards/dztech/dz60rgb/keymaps/iso/keymap.c +0 -78
@@ 1,78 0,0 @@
#include QMK_KEYBOARD_H
#define _LAYER0 0
#define _LAYER1 1
#define _LAYER2 2
#define _LAYER3 3
#define _LAYER4 4
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		[_LAYER0] = LAYOUT_60_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_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,\
			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_LSFT,         KC_Z,     KC_X,     KC_C,  KC_V,  KC_B,  KC_N,    KC_M,  KC_COMM, KC_DOT,   KC_SLSH,   KC_RSFT, \
		    KC_LCTL,         KC_LGUI,  KC_LALT,                KC_SPC,                         KC_RALT,  MO(1),     MO(2),             KC_RCTL),
		[_LAYER1] = LAYOUT_60_ansi( /* FN */
			    TO(3),    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_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_CALC,  KC_TRNS,  KC_INS,   KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET,\
			    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,            KC_TRNS,\
				KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT, \
				KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(3),                                  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS),
		[_LAYER2] = LAYOUT_60_ansi( /* FN2 */
				KC_TRNS,  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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RESET,\
				KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  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),
		[_LAYER3] = LAYOUT_60_ansi( /* FN3 */
				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_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,\
				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_LSFT,       KC_Z,     KC_X,     KC_C,  KC_V,  KC_B,  KC_N,    KC_M,    KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,  \
				KC_LCTL,       KC_LALT,  KC_LGUI,                KC_SPC,                           KC_TRNS,MO(4),   KC_RALT,           KC_RCTL),
		[_LAYER4] = LAYOUT_60_ansi( /* FN4 */
				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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET,\
			    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  KC_HOME,  KC_PGUP,            KC_TRNS,\
				KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT, \
				KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(0),                                  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS),
		};

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }
  }
}

void rgb_matrix_indicators_user(void) {
	  uint8_t this_led = host_keyboard_leds();
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
	      case _LAYER1:
		    rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
	      case _LAYER2:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
	      case _LAYER3:
	        rgb_matrix_layer_helper(0x00, 0x00, 0xFF, false); break;
	      case _LAYER4:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
	    							  }
	                        }
	  if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
	        rgb_matrix_set_color(40, 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;
	}

M keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h => keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h +1 -1
@@ 10,7 10,7 @@
#undef DISABLE_RGB_MATRIX_SPLASH
#undef DISABLE_RGB_MATRIX_MULTISPLASH
#undef DISABLE_RGB_MATRIX_SOLID_MULTISPLASH

#undef RGB_MATRIX_STARTUP_MODE
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

// #define DISABLE_RGB_MATRIX_SOLID_COLOR

M keyboards/dztech/dz60rgb/rules.mk => keyboards/dztech/dz60rgb/rules.mk +1 -3
@@ 11,6 11,4 @@ COMMAND_ENABLE = no                # Commands for debug and configuration
NKRO_ENABLE = no                 # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733     # Use RGB matrix
NO_USB_STARTUP_CHECK = no          # Disable initialization only when usb is plugged in

LAYOUTS = 60_ansi
\ No newline at end of file
NO_USB_STARTUP_CHECK = no          # Disable initialization only when usb is plugged in
\ No newline at end of file

R keyboards/dztech/dz40rgb/config.h => keyboards/dztech/dz60rgb_ansi/config.h +15 -8
@@ 4,29 4,36 @@

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x1220
#define PRODUCT_ID      0x1219
#define DEVICE_VER      0x0001
#define MANUFACTURER    DZTECH
#define PRODUCT         DZ40RGB
#define DESCRIPTION     DZ40 ARM RGB keyboard
#define MATRIX_ROWS 4
#define MATRIX_COLS 12

#define MATRIX_ROW_PINS { B13, B12, A2, A1 }
#define MATRIX_COL_PINS {A6, A7, B0, B1, C15, C14, C13, B9, B8, A8, B14, B15 }
#define PRODUCT         DZ60RGB
#define DESCRIPTION     DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14

#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 }

/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/

#define DIODE_DIRECTION COL2ROW

#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
#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_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.

#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 61
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
\ No newline at end of file

A keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c => keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +118 -0
@@ 0,0 1,118 @@
#include "dz60rgb_ansi.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},
    {0, H_14,   G_14,   I_14},
    {0, H_13,   G_13,   I_13},
    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},
    {0, E_14,   D_14,   F_14},
    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},
    {0, B_13,   A_13,   C_13},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1},
    {0, B_15,   A_15,   C_15},
    {0, E_13,   D_13,   F_13},
    {0, B_12,   A_12,   C_12},
    {0, E_15,   D_15,   F_15},
    {0, B_16,   A_16,   C_16},
    {0, E_16,   D_16,   F_16},
    {0, H_16,   G_16,   I_16},
    {0, K_16,   J_16,   L_16},
};

led_config_t g_led_config = { {
    {  13,  12,  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1,   0 },
    {  27,  26,  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15,  14 },
    {  40,  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,  29, NO_LED,  28 },
    {  52,  51,  50,  49,  48,  47,  46,  45,  44,  43,  42,  41, NO_LED, NO_LED },
    {  60,  59,  58, NO_LED, NO_LED,  57, NO_LED, NO_LED, NO_LED,  56,  55,  54, NO_LED,  53 }
}, {
    { 216,   0 }, { 192,   0 }, { 176,   0 }, { 160,   0 }, { 144,   0 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 }, {  32,   0 }, {  16,   0 }, {   0,   0 },
    { 220,  16 }, { 200,  16 }, { 184,  16 }, { 168,  16 }, { 152,  16 }, { 136,  16 }, { 120,  16 }, { 104,  16 }, {  88,  16 }, {  72,  16 }, {  56,  16 }, {  40,  16 }, {  24,  16 }, {   4,  16 },
    { 214,  24 }, { 188,  32 }, { 172,  32 }, { 156,  32 }, { 140,  32 }, { 124,  32 }, { 108,  32 }, {  92,  32 }, {  76,  32 }, {  60,  32 }, {  44,  32 }, {  28,  32 }, {   6,  32 }, { 210,  48 },
    { 180,  48 }, { 164,  48 }, { 148,  48 }, { 132,  48 }, { 116,  48 }, { 100,  48 }, {  84,  48 }, {  68,  48 }, {  52,  48 }, {  20,  48 }, {  10,  48 }, { 222,  64 }, { 202,  64 }, { 182,  64 },
    { 162,  64 }, { 102,  64 }, {  42,  64 }, {  22,  64 }, {   2,  64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
    1, 4, 1, 1, 1
} };
#endif

void matrix_init_kb(void) {
    matrix_init_user();
}
void matrix_scan_kb(void) {
    matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
    return process_record_user(keycode, record);
}
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();
}


__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
    if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK))
    {
        rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
    }
}


A keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.h => keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.h +16 -0
@@ 0,0 1,16 @@
#pragma once
#define XXX KC_NO
#include "quantum.h"
#define LAYOUT_60_ansi( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           \
    K40, K41, K42,           K45,                K49, K4A, K4B,      K4D  \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, XXX }, \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, XXX, K4D }  \
}

A keyboards/dztech/dz60rgb_ansi/info.json => keyboards/dztech/dz60rgb_ansi/info.json +13 -0
@@ 0,0 1,13 @@
{
  "keyboard_name": "dz60rgb_ansi",
  "url": "",
  "maintainer": "dztch",
  "width": 14,
  "height": 5,
  "layouts": {
        "LAYOUT_60_ansi": {
            "key_count": 61,
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
        }
    }
}

R keyboards/dztech/dz60rgb/keymaps/ansi/keymap.c => keyboards/dztech/dz60rgb_ansi/keymaps/default/keymap.c +2 -44
@@ 2,8 2,6 @@
#define _LAYER0 0
#define _LAYER1 1
#define _LAYER2 2
#define _LAYER3 3
#define _LAYER4 4
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		[_LAYER0] = LAYOUT_60_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,\


@@ 15,56 13,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
				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_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_CALC,  KC_TRNS,  KC_INS,   KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
			    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,            KC_TRNS,\
				KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT, \
				KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(3),                                  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS),
				KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  MAGIC_TOGGLE_NKRO,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT, \
				KC_TRNS,  KC_TRNS,  KC_TRNS,                      KC_TRNS,                                  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS),
		[_LAYER2] = LAYOUT_60_ansi( /* FN2 */
				KC_TRNS,  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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RESET  ,\
				KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  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),
		[_LAYER3] = LAYOUT_60_ansi( /* FN3 */
				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_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,\
				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_LSFT,       KC_Z,     KC_X,     KC_C,  KC_V,  KC_B,  KC_N,    KC_M,    KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,  \
				KC_LCTL,       KC_LALT,  KC_LGUI,                KC_SPC,                           KC_TRNS,MO(4),   KC_RALT,           KC_RCTL),
		[_LAYER4] = LAYOUT_60_ansi( /* FN4 */
				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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
			    KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  KC_HOME,  KC_PGUP,            KC_TRNS,\
				KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT, \
				KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(0),                                  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS),
		};

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }
  }
}

void rgb_matrix_indicators_user(void) {
	  uint8_t this_led = host_keyboard_leds();
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
	      case _LAYER1:
		    rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
	      case _LAYER2:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
	      case _LAYER3:
	        rgb_matrix_layer_helper(0x00, 0x00, 0xFF, false); break;
	      case _LAYER4:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
	    							  }
	                        }
	  if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
	        rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
	  }

}

void matrix_init_user(void) {
  //user initialization
}

A keyboards/dztech/dz60rgb_ansi/readme.md => keyboards/dztech/dz60rgb_ansi/readme.md +15 -0
@@ 0,0 1,15 @@
# DZ60RGB

![dz60rgb](https://cdn.shopify.com/s/files/1/0043/9140/3591/products/TIM_20190130170231_grande.jpg?v=1548839053)

A hotswap 60% RGB keyboard.

Keyboard Maintainer: DZtech  
Hardware Supported: DZtech dz60rgb, dz60rgb-ansi  
Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)

Make example for this keyboard (after setting up your build environment):

    make dztech/dz60rgb: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).

A keyboards/dztech/dz60rgb_ansi/rules.mk => keyboards/dztech/dz60rgb_ansi/rules.mk +16 -0
@@ 0,0 1,16 @@
MCU  = STM32F303
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS = -p DF11 -v 0483
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
#SLEEP_LED_ENABLE = yes            # Breathing sleep LED during USB suspend
NKRO_ENABLE = no                 # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733     # Use RGB matrix
NO_USB_STARTUP_CHECK = no          # Disable initialization only when usb is plugged in

LAYOUTS = 60_ansi
\ No newline at end of file

A keyboards/dztech/dz60rgb_wkl/config.h => keyboards/dztech/dz60rgb_wkl/config.h +39 -0
@@ 0,0 1,39 @@
#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x1219
#define DEVICE_VER      0x0001
#define MANUFACTURER    DZTECH

#define PRODUCT         DZ60RGB
#define DESCRIPTION     DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14

#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 }

/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/

#define DIODE_DIRECTION COL2ROW

#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
#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_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 62
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
\ No newline at end of file

A keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c => keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c +116 -0
@@ 0,0 1,116 @@
#include "dz60rgb_wkl.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
	{0, H_15,   G_15,   I_15},
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},
    {0, K_11,   J_11,   L_11},
    {0, K_10,   J_10,   L_10},
    {0, K_9,    J_9,    L_9},
    {0, K_8,    J_8,    L_8},
    {0, K_7,    J_7,    L_7},
    {0, K_6,    J_6,    L_6},
    {0, K_5,    J_5,    L_5},
    {0, K_4,    J_4,    L_4},
    {0, K_3,    J_3,    L_3},
    {0, K_2,    J_2,    L_2},
    {0, K_1,    J_1,    L_1},
    {0, H_14,   G_14,   I_14},
    {0, H_13,   G_13,   I_13},
    {0, H_12,   G_12,   I_12},
    {0, H_11,   G_11,   I_11},
    {0, H_10,   G_10,   I_10},
    {0, H_9,    G_9,    I_9},
    {0, H_8,    G_8,    I_8},
    {0, H_7,    G_7,    I_7},
    {0, H_6,    G_6,    I_6},
    {0, H_5,    G_5,    I_5},
    {0, H_4,    G_4,    I_4},
    {0, H_3,    G_3,    I_3},
    {0, H_2,    G_2,    I_2},
    {0, H_1,    G_1,    I_1},
    {0, E_14,   D_14,   F_14},
    {0, E_12,   D_12,   F_12},
    {0, E_11,   D_11,   F_11},
    {0, E_10,   D_10,   F_10},
    {0, E_9,    D_9,    F_9},
    {0, E_8,    D_8,    F_8},
    {0, E_7,    D_7,    F_7},
    {0, E_6,    D_6,    F_6},
    {0, E_5,    D_5,    F_5},
    {0, E_4,    D_4,    F_4},
    {0, E_3,    D_3,    F_3},
    {0, E_2,    D_2,    F_2},
    {0, E_1,    D_1,    F_1},
    {0, B_14,   A_14,   C_14},
    {0, B_13,   A_13,   C_13},
    {0, B_11,   A_11,   C_11},
    {0, B_10,   A_10,   C_10},
    {0, B_9,    A_9,    C_9},
    {0, B_8,    A_8,    C_8},
    {0, B_7,    A_7,    C_7},
    {0, B_6,    A_6,    C_6},
    {0, B_5,    A_5,    C_5},
    {0, B_4,    A_4,    C_4},
    {0, B_3,    A_3,    C_3},
    {0, B_2,    A_2,    C_2},
    {0, B_1,    A_1,    C_1},
    {0, B_15,   A_15,   C_15},
    {0, E_13,   D_13,   F_13},
    {0, B_12,   A_12,   C_12},
    {0, B_16,   A_16,   C_16},
    {0, E_16,   D_16,   F_16},
    {0, H_16,   G_16,   I_16},
    {0, K_16,   J_16,   L_16},
};

led_config_t g_led_config = { {
    {  14,  13,  12,  11,  10,   9,   8,   7,   6,   5,   4,   3,   2,   1 },
    {  28,  27,  26,  25,  24,  23,  22,  21,  20,  19,  18,  17,  16,  15 },
    {  41,  40,  39,  38,  37,  36,  35,  34,  33,  32,  31,  30,   0,  29 },
    {  54,  53,  52,  51,  50,  49,  48,  47,  46,  45,  44,  43, NO_LED,  42 },
    {  61,  60,  59, NO_LED, NO_LED,  58, NO_LED, NO_LED, NO_LED, NO_LED,  57,  56, NO_LED,  55 }
}, {
    { 224,   0 }, { 208,   0 }, { 192,   0 }, { 176,   0 }, { 160,   0 }, { 144,   0 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 }, {  32,   0 }, {  16,   0 },
    {   0,   0 }, { 220,  16 }, { 200,  16 }, { 184,  16 }, { 168,  16 }, { 152,  16 }, { 136,  16 }, { 120,  16 }, { 104,  16 }, {  88,  16 }, {  72,  16 }, {  56,  16 }, {  40,  16 }, {  24,  16 },
    {   4,  16 }, { 204,  32 }, { 188,  32 }, { 172,  32 }, { 156,  32 }, { 140,  32 }, { 124,  32 }, { 108,  32 }, {  92,  32 }, {  76,  32 }, {  60,  32 }, {  44,  32 }, {  28,  32 }, {   6,  32 },
    { 224,  48 }, { 202,  48 }, { 180,  48 }, { 164,  48 }, { 148,  48 }, { 132,  48 }, { 116,  48 }, { 100,  48 }, {  84,  48 }, {  68,  48 }, {  52,  48 }, {  20,  48 }, {  10,  48 }, { 218,  64 },
    { 198,  64 }, { 178,  64 }, { 112,  64 }, {  46,  64 }, {  26,  64 }, {   6,  64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
    1, 1, 4, 1, 1, 1
} };
#endif
void matrix_init_kb(void) {
    matrix_init_user();
}
void matrix_scan_kb(void) {
    matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
    return process_record_user(keycode, record);
}
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();
}

__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
    if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK))
    {
        rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF);
    }
}

A keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.h => keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.h +16 -0
@@ 0,0 1,16 @@
#pragma once
#define XXX KC_NO
#include "quantum.h"
#define LAYOUT_HHKB( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,\
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,\
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,\
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,\
    K40, K41, K42,           K45,                     K4A, K4B,      K4D \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D },     \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D },     \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D },     \
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, K4B, XXX, K4D }      \
}

A keyboards/dztech/dz60rgb_wkl/info.json => keyboards/dztech/dz60rgb_wkl/info.json +12 -0
@@ 0,0 1,12 @@
{
    "keyboard_name": "dz60rgb_wkl", 
    "url": "", 
    "maintainer": "dztech", 
    "width": 15, 
    "height": 5, 
    "layouts": {
        "LAYOUT_HHKB": {
            "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}, {"x":14, "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":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":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":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
        }
    }
}
\ No newline at end of file

R keyboards/dztech/dz60rgb/keymaps/hhkb/keymap.c => keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c +2 -44
@@ 15,57 15,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
				  KC_GRAVE, 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_TRNS,
	              KC_TRNS,  KC_TRNS,  KC_UP,    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_CALC,  KC_TRNS,  KC_INS,   KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
			      KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_HOME,  KC_PGUP,  KC_TRNS,  KC_TRNS,\
			      KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT,            KC_TRNS,\
			      KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(3),                                            KC_TRNS,  KC_TRNS,            KC_TRNS),
			      KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  MAGIC_TOGGLE_NKRO,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT,            KC_TRNS,\
			      KC_TRNS,  KC_TRNS,  KC_TRNS,                      KC_TRNS,                                          KC_TRNS,  KC_TRNS,            KC_TRNS),
		[_LAYER2] = LAYOUT_HHKB( /* FN2 */
				  KC_TRNS,  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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RESET  ,\
				  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  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),
		[_LAYER3] = LAYOUT_HHKB( /* FN3 */
				  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_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,\
				  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_DEL,  KC_ENT, \
			      KC_LSFT,       KC_Z,     KC_X,     KC_C,  KC_V,  KC_B,  KC_N,    KC_M,    KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,           MO(4),\
			      KC_LCTL,       KC_LALT,  KC_LGUI,                KC_SPC,                                   MO(4),   KC_RGUI,           KC_RCTL),
		[_LAYER4] = LAYOUT_HHKB( /* FN4 */
			  	  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_TRNS,  RGB_TOG,  KC_TRNS,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD,  RGB_MOD,  KC_PSCR,  KC_SLCK,  KC_PAUS,  RESET  ,\
			      KC_TRNS,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RIGHT, KC_TRNS,  KC_TRNS,  KC_TRNS,  RGB_SPI,  RGB_SPD,  KC_HOME,  KC_PGUP,  KC_TRNS,  KC_TRNS,\
				  KC_MPRV,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_END,   KC_PGDOWN,KC_MNXT,            KC_TRNS,\
				  KC_TRNS,  KC_TRNS,  KC_TRNS,                      TO(0),                                            KC_TRNS,  KC_TRNS,            KC_TRNS),
		};


void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }
  }
}

void rgb_matrix_indicators_user(void) {
	  uint8_t this_led = host_keyboard_leds();
	  if (!g_suspend_state) {
	    switch (biton32(layer_state)) {
	      case _LAYER1:
		    rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
	      case _LAYER2:
	        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
	      case _LAYER3:
	        rgb_matrix_layer_helper(0x00, 0x00, 0xFF, false); break;
	      case _LAYER4:
	        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
	    							  }
	                        }
	  if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
	        rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF);
	  }

}

void matrix_init_user(void) {
  //user initialization
}

A keyboards/dztech/dz60rgb_wkl/readme.md => keyboards/dztech/dz60rgb_wkl/readme.md +15 -0
@@ 0,0 1,15 @@
# DZ60RGB

![dz60rgb](https://cdn.shopify.com/s/files/1/0043/9140/3591/products/TIM_20190130170231_grande.jpg?v=1548839053)

A hotswap 60% RGB keyboard.

Keyboard Maintainer: DZtech  
Hardware Supported: DZtech dz60rgb, dz60rgb-ansi  
Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)

Make example for this keyboard (after setting up your build environment):

    make dztech/dz60rgb: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).

R keyboards/dztech/dz40rgb/rules.mk => keyboards/dztech/dz60rgb_wkl/rules.mk +2 -2
@@ 2,7 2,7 @@ MCU  = STM32F303
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS = -p DF11 -v 0483
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite            # Virtual DIP switch configuration
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


@@ 11,4 11,4 @@ COMMAND_ENABLE = no                # Commands for debug and configuration
NKRO_ENABLE = no                 # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733     # Use RGB matrix
NO_USB_STARTUP_CHECK = no          # Disable initialization only when usb is plugged in66666666666666666666666666
NO_USB_STARTUP_CHECK = no          # Disable initialization only when usb is plugged in
\ No newline at end of file

M keyboards/dztech/dz65rgb/config.h => keyboards/dztech/dz65rgb/config.h +20 -3
@@ 12,18 12,35 @@
#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

#ifdef RGB_MATRIX_ENABLE
#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 DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN	
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#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)
#endif
\ No newline at end of file

M keyboards/dztech/dz65rgb/dz65rgb.c => keyboards/dztech/dz65rgb/dz65rgb.c +65 -61
@@ 1,98 1,102 @@
#include "dz65rgb.h"
#ifdef RGB_MATRIX_ENABLE
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, C9_8,  C7_7, C6_7},   // LA16
	{0, C9_7,  C8_7, C6_6},   // LA15
	{0, C9_6,  C8_6, C7_6},   // LA14
	{0, C9_5,  C8_5, C7_5},   // LA13
	{0, C9_4,  C8_4, C7_4},   // LA12
	{0, C9_3,  C8_3, C7_3},   // LA11
	{0, C9_2,  C8_2, C7_2},   // LA10
	{0, C9_1,  C8_1,  C7_1},  // LA9
	{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, C1_7,  C2_7, C3_7},   // LA7
	{0, C1_6,  C2_6, C3_6},   // LA6
	{0, C1_5,  C2_5, C3_5},   // LA5
	{0, C1_4,  C2_4, C3_4},   // LA4
	{0, C1_3,  C2_3, C3_3},   // LA3
	{0, C1_2,  C2_2, C4_3},   // LA2
	{0, C1_1,  C3_2, C4_2},   // LA1
	{0, C2_1,  C3_1,  C4_1},  // LA0
	{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
	{0, C1_15, C2_15, C3_15}, // LB7

    {0, C1_8,  C2_8, C3_8},   // LA8
	{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, C9_5,  C8_5, C7_5},   // LC13
	{1, C9_4,  C8_4, C7_4},   // LC12
	{1, C9_3,  C8_3, C7_3},   // LC11
	{1, C9_2,  C8_2, C7_2},   // LC10
	{1, C9_1,  C8_1,  C7_1},  // LC9
	{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
	{0, C1_16, C2_16, C3_16}, // LB8

	{1, C9_8,  C7_7, C6_7},   // LC16
	{1, C1_5,  C2_5, C3_5},   // LC5
	{1, C1_4,  C2_4, C3_4},   // LC4
	{1, C1_3,  C2_3, C3_3},   // LC3
	{1, C1_2,  C2_2, C4_3},   // LC2
	{1, C1_1,  C3_2, C4_2},   // LC1
	{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, C1_14, C2_14, C3_14}, // LD6
	{1, C1_15, C2_15, C3_15}, // LD7
	{1, C1_16, C2_16, C3_16}, // LD8
	{0, C9_15, C8_15, C6_14}, // LB15

	{1, C8_8,  C7_8, C6_8},   // LC17
	{1, C1_8,  C2_8, C3_8},   // LC8
	{1, C1_7,  C2_7, C3_7},   // LC7
	{1, C2_1,  C3_1,  C4_1},  // LC0
	{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
	{0, C8_16, C7_16, C6_16}, // LB17
	{0, C9_16, C7_15, C6_15}, // LB16

};

led_config_t g_led_config = { {
    {  17,  16,  15,  14,  13,  12,  11,  10,   9,  18,  19,  20,  21,  22,  23 },
    {   7,   6,   5,   4,   3,   2,   1,   0,  26,  27,  28,  29,  30,  31,  24 },
    {   8,  48,  47,  46,  45,  44,  43,  51,  52,  53,  54,  55, NO_LED,  56,  25 },
    {  49,  40,  39,  38,  37,  36,  60,  61,  62,  63,  57,  58, NO_LED,  59,  32 },
    {  50,  42,  41, NO_LED, NO_LED,  35, NO_LED, NO_LED,  64,  65,  66,  67, NO_LED,  34,  33 }
    {  0,  1,  2,  3,     4,     5,  6,     7,     8,   9,   10,  11, 12,    13,  14 },
    {  15, 16, 17, 18,    19,    20, 21,    22,    23,  24,  25,  26, 27,    28,  29 },
    {  30, 31, 32, 33,    34,    35, 36,    37,    38,  39,  40,  41, NO_LED,42,  43 },
    {  44, 45, 46, 47,    48,    49, 59,    51,    52,  53,  54,  55, NO_LED,56,  57 },
    {  58, 59, 60, NO_LED,NO_LED,61, NO_LED,NO_LED,62,  63,  64,  65, NO_LED,66,  67 }
}, {
    { 112,  16 }, {  96,  16 }, {  80,  16 }, {  64,  16 }, {  48,  16 }, {  32,  16 }, {  16,  16 }, {   0,  16 }, {   0,  32 }, { 128,   0 }, { 112,   0 }, {  96,   0 }, {  80,   0 }, {  64,   0 }, {  48,   0 },
    {  32,   0 }, {  16,   0 }, {   0,   0 }, { 144,   0 }, { 160,   0 }, { 176,   0 }, { 192,   0 }, { 208,   0 }, { 224,   0 }, { 224,  16 }, { 224,  32 }, { 128,  16 }, { 144,  16 }, { 160,  16 }, { 176,  16 },
    { 192,  16 }, { 208,  16 }, { 224,  48 }, { 224,  64 }, { 208,  64 }, {  80,  64 }, {  80,  48 }, {  64,  48 }, {  48,  48 }, {  32,  48 }, {  16,  48 }, {  32,  64 }, {  16,  64 }, {  96,  32 }, {  80,  32 },
    {  64,  32 }, {  48,  32 }, {  32,  32 }, {  16,  32 }, {   0,  48 }, {   0,  64 }, { 112,  32 }, { 128,  32 }, { 144,  32 }, { 160,  32 }, { 176,  32 }, { 208,  32 }, { 160,  48 }, { 176,  48 }, { 208,  48 },
    {  96,  48 }, { 112,  48 }, { 128,  48 }, { 144,  48 }, { 128,  64 }, { 144,  64 }, { 160,  64 }, { 176,  64 }
    {0,0}, {15,0}, {30,0}, {45,0}, {60,0},  {75,0},  {90,0},  {105,0}, {120,0}, {135,0}, {150,0}, {165,0}, {180,0}, {203,0},{224,0},
	{4,16},{23,16},{38,16},{53,16},{68,16}, {83,16}, {98,16}, {113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16},
	{6,32},{26,32},{41,32},{56,32},{71,32}, {86,32}, {101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},{224,32},
	{9,48},{34,48},{49,48},{64,48},{79,48}, {94,48}, {109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48},
	{2,64},{21,64},{39,64},{96,64},{150,64},{165,64},{180,64},{195,64},{210,64},{224,64}
}, {
    4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4,
    4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 1, 1, 4, 4,
    4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    4, 4, 4, 4, 1, 1, 1, 1
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 1, 1, 4, 1, 1, 1, 1, 1, 1
} };
#endif

void matrix_init_kb(void) {
    matrix_init_user();


@@ 118,8 122,8 @@ void suspend_wakeup_init_kb(void)
__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
    if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK))
    if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK))
    {
        rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF);
        rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
    }
}

M keyboards/dztech/dz65rgb/keymaps/default/keymap.c => keyboards/dztech/dz65rgb/keymaps/default/keymap.c +1 -1
@@ 12,7 12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
			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_LSFT,       KC_TRNS,  KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, 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),
};


M keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h => keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h +1 -1
@@ 6,7 6,7 @@
#define TAPPING_TERM 150

#define TAP_HOLD_CAPS_DELAY 0

#undef RGB_MATRIX_STARTUP_MODE
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

// #define DISABLE_RGB_MATRIX_SOLID_COLOR

M keyboards/geekboards/tester/config.h => keyboards/geekboards/tester/config.h +2 -1
@@ 23,6 23,7 @@
#define LOCKING_RESYNC_ENABLE

#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
#define RGB_MATRIX_KEYPRESSES


@@ 32,8 33,8 @@
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110101

#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 8
#define DRIVER_2_LED_TOTAL 0
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif
\ No newline at end of file

M keyboards/kbdfans/kbd19x/config.h => keyboards/kbdfans/kbd19x/config.h +3 -3
@@ 47,11 47,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define BACKLIGHT_PIN B6
// #define BACKLIGHT_BREATHING
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS


@@ 59,6 58,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_SLEEP
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */

M keyboards/kbdfans/kbd4x/config.h => keyboards/kbdfans/kbd4x/config.h +3 -2
@@ 47,11 47,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS


@@ 59,6 59,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_SLEEP
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */

M keyboards/kbdfans/kbd66/config.h => keyboards/kbdfans/kbd66/config.h +2 -2
@@ 47,12 47,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
 
#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_BREATHING
#define BREATHING_PERIOD 6

#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5


M keyboards/kbdfans/kbd67/hotswap/config.h => keyboards/kbdfans/kbd67/hotswap/config.h +3 -1
@@ 54,9 54,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6

#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN B4
#ifdef RGB_DI_PIN
  #define RGBLED_NUM 8


@@ 67,6 68,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  // #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
  #define RGBLIGHT_ANIMATIONS
  #define RGBLIGHT_SLEEP
// /*== or choose animations ==*/
//   #define RGBLIGHT_EFFECT_BREATHING
//   #define RGBLIGHT_EFFECT_RAINBOW_MOOD

M keyboards/kbdfans/kbd67/mkii_soldered/config.h => keyboards/kbdfans/kbd67/mkii_soldered/config.h +2 -1
@@ 54,9 54,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6

#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
//#define RGB_DI_PIN B3
//#ifdef RGB_DI_PIN
//  #define RGBLED_NUM 20

M keyboards/kbdfans/kbd67/mkiirgb/config.h => keyboards/kbdfans/kbd67/mkiirgb/config.h +19 -3
@@ 19,11 19,27 @@
#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 RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN	
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#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 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file

M keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c => keyboards/kbdfans/kbd67/mkiirgb/keymaps/default/keymap.c +0 -9
@@ 15,15 15,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		    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_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(30, 0xFF, 0xFF, 0xFF);
	    }
}

void matrix_init_user(void)
{
  //user initialization

M keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c => keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c +12 -0
@@ 117,3 117,15 @@ void suspend_wakeup_init_kb(void)
    rgb_matrix_set_suspend_state(false);
    suspend_wakeup_init_user();
}

__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
    if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK))
    {
        rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
    }
}




M keyboards/kbdfans/kbd67/rev1/config.h => keyboards/kbdfans/kbd67/rev1/config.h +3 -1
@@ 49,9 49,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW

#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
  #define RGBLED_NUM 20


@@ 62,6 63,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  // #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
  #define RGBLIGHT_ANIMATIONS
  #define RGBLIGHT_SLEEP
/*== or choose animations ==*/
  // #define RGBLIGHT_EFFECT_BREATHING
  // #define RGBLIGHT_EFFECT_RAINBOW_MOOD

M keyboards/kbdfans/kbd67/rev2/config.h => keyboards/kbdfans/kbd67/rev2/config.h +1 -0
@@ 61,4 61,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LIMIT_VAL 240
#define RGBLIGHT_SLEEP
#endif

M keyboards/kbdfans/kbd6x/config.h => keyboards/kbdfans/kbd6x/config.h +3 -2
@@ 47,11 47,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN F0
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS


@@ 59,6 59,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 12
#define RGBLIGHT_SAT_STEP 12
#define RGBLIGHT_VAL_STEP 12
#define RGBLIGHT_SLEEP
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */

M keyboards/kbdfans/kbd75/config.h => keyboards/kbdfans/kbd75/config.h +1 -0
@@ 44,6 44,7 @@
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_SLEEP
/* If defined, the RGB lighting will be switched off when the host goes to sleep */
#define RGBLIGHT_SLEEP
#endif

M keyboards/kbdfans/kbd8x/config.h => keyboards/kbdfans/kbd8x/config.h +3 -2
@@ 47,11 47,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define BACKLIGHT_PIN B6
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS


@@ 59,6 59,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_SLEEP
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */

M keyboards/kbdfans/kbd8x_mk2/config.h => keyboards/kbdfans/kbd8x_mk2/config.h +2 -2
@@ 52,11 52,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
 */
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6

#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3

#endif
#define RGB_DI_PIN B3
#ifdef RGB_DI_PIN
  #define RGBLED_NUM 20

A keyboards/kbdfans/kbdmini/config.h => keyboards/kbdfans/kbdmini/config.h +47 -0
@@ 0,0 1,47 @@
#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x2001
#define DEVICE_VER      0x0001
#define MANUFACTURER    DZTECH

#define PRODUCT         KBDMINI
#define DESCRIPTION     KBDMINI RGB keyboard
#define MATRIX_ROWS 4
#define MATRIX_COLS 13

#define MATRIX_ROW_PINS {B7, E6, F5, F4}
#define MATRIX_COL_PINS {B3, B2, B1, B0, F1, F0, C6, B6, B5, B4, D7, D6, D4}
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW

#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
#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_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN	
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 52
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
\ No newline at end of file

A keyboards/kbdfans/kbdmini/kbdmini.c => keyboards/kbdfans/kbdmini/kbdmini.c +96 -0
@@ 0,0 1,96 @@
#include "kbdmini.h"
#include "config.h"
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
    {0, B_9,   A_9,   C_9}, //LA33
    {0, B_10,  A_10,  C_10}, //LA37
    {0, B_11,  A_11,  C_11}, //LA41
    {0, B_12,  A_12,  C_12}, //LA45
    {0, B_13,  A_13,  C_13}, //LA49
    {0, B_14,  A_14,  C_14}, //LA53
    {0, B_15,  A_15,  C_15}, //LA57
    {0, B_6,   A_6,   C_6}, //LA21
    {0, B_5,   A_5,   C_5}, //LA17
    {0, B_4,   A_4,   C_4}, //LA13
    {0, B_3,   A_3,   C_3}, //LA9
    {0, B_2,   A_2,   C_2}, //LA5
    {0, B_1,   A_1,   C_1}, //LA1

    {0, E_9,   D_9,   F_9}, //LA34
    {0, E_10,  D_10,  F_10}, //LA38
    {0, E_11,  D_11,  F_11}, //LA42
    {0, E_12,  D_12,  F_12}, //LA46
    {0, E_13,  D_13,  F_13}, //LA50
    {0, E_14,  D_14,  F_14}, //LA54
    {0, E_15,  D_15,  F_15}, //LA58
    {0, E_6,   D_6,   F_6}, //LA22
    {0, E_5,   D_5,   F_5}, //LA18
    {0, E_4,   D_4,   F_4}, //LA14
    {0, E_3,   D_3,   F_3}, //LA10
    {0, E_2,   D_2,   F_2}, //LA6
    {0, E_1,   D_1,   F_1}, //LA2

    {0, H_9,   G_9,   I_9}, //LA35
    {0, H_10,  G_10,  I_10}, //LA39
    {0, H_11,  G_11,  I_11}, //LA43
    {0, H_12,  G_12,  I_12}, //LA47
    {0, H_13,  G_13,  I_13}, //LA51
    {0, H_14,  G_14,  I_14}, //LA55
    {0, H_15,  G_15,  I_15}, //LA59
    {0, H_6,   G_6,   I_6}, //LA23
    {0, H_5,   G_5,   I_5}, //LA19
    {0, H_4,   G_4,   I_4}, //LA15
    {0, H_3,   G_3,   I_3}, //LA11
    {0, H_2,   G_2,   I_2}, //LA7
    {0, H_1,   G_1,   I_1}, //LA3

    {0, K_9,   J_9,   L_9}, //LA36
    {0, K_10,  J_10,  L_10}, //LA40
    {0, K_11,  J_11,  L_11}, //LA44
    {0, K_12,  J_12,  L_12}, //LA48
    {0, K_13,  J_13,  L_13}, //LA52
    {0, K_14,  J_14,  L_14}, //LA56
    {0, K_15,  J_15,  L_15}, //LA60
    {0, K_6,   J_6,   L_6}, //LA24
    {0, K_5,   J_5,   L_5}, //LA20
    {0, K_4,   J_4,   L_4}, //LA16
    {0, K_3,   J_3,   L_3}, //LA12
    {0, K_2,   J_2,   L_2}, //LA8
    {0, K_1,   J_1,   L_1}//LA4
};

led_config_t g_led_config = { {
    {  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12},
    {  13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25},
    {  26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38},
    {  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51}
}, { 
    { 0,   0   }, { 19,   0 },  { 38,   0 },  { 57,   0 },  { 76,   0 },  { 95,   0 },  { 114,   0 },  {  133,   0 },  {  152,   0 },  {  171,   0 },  {  190,   0 },  {  209,   0 },  {  224,   0 }, 
    { 0,   21  }, { 19,   21 }, { 38,   21 }, { 57,   21 }, { 76,   21 }, { 95,   21 }, { 114,   21 }, {  133,   21 }, {  152,   21 }, {  171,   21 }, {  190,   21 }, {  209,   21 }, {  224,   21 }, 
    { 0,   42  }, { 19,   42 }, { 38,   42 }, { 57,   42 }, { 76,   42 }, { 95,   42 }, { 114,   42 }, {  133,   42 }, {  152,   42 }, {  171,   42 }, {  190,   42 }, {  209,   42 }, {  224,   42 }, 
    { 0,   64  }, { 19,   64 }, { 38,   64 }, { 57,   64 }, { 76,   64 }, { 95,   64 }, { 114,   64 }, {  133,   64 }, {  152,   64 }, {  171,   64 }, {  190,   64 }, {  209,   64 }, {  224,   64 }
}, {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
} };
void matrix_init_kb(void) {
    matrix_init_user();
}
void matrix_scan_kb(void) {
    matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
    return process_record_user(keycode, record);
}
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();
}

A keyboards/kbdfans/kbdmini/kbdmini.h => keyboards/kbdfans/kbdmini/kbdmini.h +15 -0
@@ 0,0 1,15 @@
#pragma once
#include "quantum.h"

#define LAYOUT( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,\
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,\
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,\
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C \
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }  \
}


A keyboards/kbdfans/kbdmini/keymaps/default/keymap.c => keyboards/kbdfans/kbdmini/keymaps/default/keymap.c +9 -0
@@ 0,0 1,9 @@
#include QMK_KEYBOARD_H
#define _LAYER0 0
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		[_LAYER0] = LAYOUT(
		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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSPC, 
		KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, 
		KC_F5, KC_CAPS, KC_LCTL, KC_LGUI, KC_F1, KC_SPC,KC_F2, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
};

A keyboards/kbdfans/kbdmini/readme.md => keyboards/kbdfans/kbdmini/readme.md +13 -0
@@ 0,0 1,13 @@
# KBDMINI

![KBDMINI](imgur.com image replace me!)

Keyboard Maintainer: [DZTECH](https://github.com/moyi4681)    
Hardware Supported: KBDMINI   
Hardware Availability: [KBDFans](https://kbdfans.cn/)  

Make example for this keyboard (after setting up your build environment):

    make kbdfans/kbdmini: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).

A keyboards/kbdfans/kbdmini/rules.mk => keyboards/kbdfans/kbdmini/rules.mk +33 -0
@@ 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 = yes            # USB Nkey Rollover
BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
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
RGB_MATRIX_ENABLE = IS31FL3733     # Use RGB matrix
NO_USB_STARTUP_CHECK = no          # Disable initialization only when usb is plugged in

M keyboards/kbdfans/kbdpad_mk2/config.h => keyboards/kbdfans/kbdpad_mk2/config.h +2 -1
@@ 54,9 54,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6

#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 5

#endif
#define RGB_DI_PIN B5
#ifdef RGB_DI_PIN
  #define RGBLED_NUM 16

M keyboards/xbows/knight/config.h => keyboards/xbows/knight/config.h +2 -0
@@ 24,8 24,10 @@
/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
#endif
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5


M keyboards/xbows/woody/config.h => keyboards/xbows/woody/config.h +2 -1
@@ 12,7 12,7 @@
#define MATRIX_ROW_PINS {B3, B2, B1, B0, B5 }
#define MATRIX_COL_PINS {B6, C6, C7, F4, F5, F6, F7, B7, D2, D3, D5, D4, D6, D7, B4 }
#define DIODE_DIRECTION COL2ROW

#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3


@@ 41,3 41,4 @@
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif
\ No newline at end of file