summaryrefslogtreecommitdiffstats
path: root/keyboards/durgod/dgk6x
diff options
context:
space:
mode:
authorJsully <34928654+J-Sully@users.noreply.github.com>2021-07-20 09:44:22 -0700
committerGitHub <noreply@github.com>2021-07-20 09:44:22 -0700
commit4188d2272ca2f4b542bb8506e785b5334bc93750 (patch)
treeca991fb23244b50066ab04d97b46953f977c5e43 /keyboards/durgod/dgk6x
parent6fa53023cb6a78a59fa940b56ae34531a765be90 (diff)
[Keyboard] Add Durgod Hades, Galaxy and Venus Keyboards (#12893)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Don Kjer <don.kjer@gmail.com>
Diffstat (limited to 'keyboards/durgod/dgk6x')
-rw-r--r--keyboards/durgod/dgk6x/config.h93
-rw-r--r--keyboards/durgod/dgk6x/dgk6x.c73
-rw-r--r--keyboards/durgod/dgk6x/dgk6x.h47
-rw-r--r--keyboards/durgod/dgk6x/galaxy/config.h37
-rw-r--r--keyboards/durgod/dgk6x/galaxy/galaxy.c142
-rw-r--r--keyboards/durgod/dgk6x/galaxy/galaxy.h40
-rw-r--r--keyboards/durgod/dgk6x/galaxy/info.json102
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json42
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json138
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/galaxy/readme.md26
-rw-r--r--keyboards/durgod/dgk6x/galaxy/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/hades/config.h37
-rw-r--r--keyboards/durgod/dgk6x/hades/hades.c123
-rw-r--r--keyboards/durgod/dgk6x/hades/hades.h39
-rw-r--r--keyboards/durgod/dgk6x/hades/info.json85
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json38
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/default/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json122
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/via/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/hades/readme.md26
-rw-r--r--keyboards/durgod/dgk6x/hades/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/halconf.h22
-rw-r--r--keyboards/durgod/dgk6x/mcuconf.h28
-rw-r--r--keyboards/durgod/dgk6x/readme.md55
-rw-r--r--keyboards/durgod/dgk6x/rules.mk31
-rw-r--r--keyboards/durgod/dgk6x/venus/config.h37
-rw-r--r--keyboards/durgod/dgk6x/venus/info.json78
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json38
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/default/readme.md11
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json122
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/via/readme.md12
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/venus/readme.md26
-rw-r--r--keyboards/durgod/dgk6x/venus/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/venus/venus.c115
-rw-r--r--keyboards/durgod/dgk6x/venus/venus.h37
40 files changed, 1884 insertions, 0 deletions
diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h
new file mode 100644
index 0000000000..7cd15cfb41
--- /dev/null
+++ b/keyboards/durgod/dgk6x/config.h
@@ -0,0 +1,93 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xD60D
+#define MANUFACTURER Hoksi Technology
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+// Dynamic EEPROM
+// Something sensible or else VIA may crash
+// Users may enable more if they wish
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
+
+// Increase VIA layer count
+#define DYNAMIC_KEYMAP_LAYER_COUNT 16
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Bootmagic Lite key configuration */
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* LED indicator pins */
+#define LED_CAPS_LOCK_PIN C4
+#define LED_WIN_LOCK_PIN C5
+#define LED_SCROLL_LOCK_PIN A8
+#define LED_MR_LOCK_PIN LED_SCROLL_LOCK_PIN
+#define LED_PIN_ON_STATE 0
+
+#ifdef RGB_MATRIX_ENABLE
+// This is a 7-bit address, that gets left-shifted and bit 0
+// set to 0 for write, 1 for read (as per I2C protocol)
+// The address will vary depending on your wiring:
+// 00 <-> GND
+// 01 <-> SCL
+// 10 <-> SDA
+// 11 <-> VCC
+// ADDR1 represents A1:A0 of the 7-bit address.
+// ADDR2 represents A3:A2 of the 7-bit address.
+// The result is: 0b101(ADDR2)(ADDR1)
+
+#define DRIVER_ADDR_1 0b1010000
+#define DRIVER_ADDR_2 0b1010011
+
+#define DRIVER_COUNT 2
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+
+/* I2C Alternate function settings */
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+
+/* Set I2C speed to 400kHz, 300ns Tr, 14ns Tf */
+#define I2C1_TIMINGR_PRESC 0x1U
+#define I2C1_TIMINGR_SCLDEL 0x9U
+#define I2C1_TIMINGR_SDADEL 0x0U
+#define I2C1_TIMINGR_SCLH 0x0cU
+#define I2C1_TIMINGR_SCLL 0x22U
+
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_LED_PROCESS_LIMIT 4
+#define RGB_MATRIX_LED_FLUSH_LIMIT 26
+
+#define DISABLE_RGB_MATRIX_HUE_BREATHING
+#define DISABLE_RGB_MATRIX_HUE_PENDULUM
+#define DISABLE_RGB_MATRIX_HUE_WAVE
+
+// This allows VIA to control RGB Matrix settings in the 'Lighting' section.
+#define VIA_QMK_RGBLIGHT_ENABLE
+
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/dgk6x.c b/keyboards/durgod/dgk6x/dgk6x.c
new file mode 100644
index 0000000000..d7e871327a
--- /dev/null
+++ b/keyboards/durgod/dgk6x/dgk6x.c
@@ -0,0 +1,73 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "dgk6x.h"
+
+/* Private Functions */
+void off_all_leds(void) {
+ writePinHigh(LED_CAPS_LOCK_PIN);
+ writePinHigh(LED_WIN_LOCK_PIN);
+ writePinHigh(LED_MR_LOCK_PIN);
+}
+
+void on_all_leds(void) {
+ writePinLow(LED_CAPS_LOCK_PIN);
+ writePinLow(LED_WIN_LOCK_PIN);
+ writePinLow(LED_MR_LOCK_PIN);
+}
+
+/* WinLock and MR LEDs are non-standard. Need to override led init */
+void led_init_ports(void) {
+ setPinOutput(LED_CAPS_LOCK_PIN);
+ setPinOutput(LED_WIN_LOCK_PIN);
+ setPinOutput(LED_MR_LOCK_PIN);
+ off_all_leds();
+}
+
+
+#ifndef WINLOCK_DISABLED
+static bool win_key_locked = false;
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_TGUI:
+ if (record->event.pressed) {
+ // Toggle GUI lock on key press
+ win_key_locked = !win_key_locked;
+ writePin(LED_WIN_LOCK_PIN, !win_key_locked);
+ }
+ break;
+ case KC_LGUI:
+ if (win_key_locked) { return false; }
+ break;
+ }
+ return process_record_user(keycode, record);
+}
+#endif /* WINLOCK_DISABLED */
+
+#ifdef RGB_MATRIX_ENABLE
+
+__attribute__ ((weak))
+void rgb_matrix_indicators_user(void)
+{
+ if (host_keyboard_led_state().caps_lock)
+ {
+ rgb_matrix_set_color(CAPS_LED, 0xFF, 0xFF, 0xFF);
+ }
+}
+#endif /* RGB_MATRIX_ENABLE */
+
+
diff --git a/keyboards/durgod/dgk6x/dgk6x.h b/keyboards/durgod/dgk6x/dgk6x.h
new file mode 100644
index 0000000000..e2c6d19c27
--- /dev/null
+++ b/keyboards/durgod/dgk6x/dgk6x.h
@@ -0,0 +1,47 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+#ifdef KEYBOARD_durgod_dgk6x_hades
+# include "hades.h"
+#elif defined KEYBOARD_durgod_dgk6x_venus
+# include "venus.h"
+#elif defined KEYBOARD_durgod_dgk6x_galaxy
+# include "galaxy.h"
+#endif
+
+#ifndef WINLOCK_DISABLED
+// Define the TGUI key here so it is available in QMK configurator
+enum DGK6X_keycodes {
+#ifdef VIA_ENABLE
+ KC_TGUI = USER00, // Toggle between GUI Lock or Unlock
+ NEW_SAFE_RANGE = SAFE_RANGE
+#else
+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
+ NEW_SAFE_RANGE
+#endif
+};
+
+#undef SAFE_RANGE
+#define SAFE_RANGE NEW_SAFE_RANGE
+#endif /* WINLOCK_DISABLED */
+
+/* Function Prototype */
+void off_all_leds(void);
+void on_all_leds(void);
+
diff --git a/keyboards/durgod/dgk6x/galaxy/config.h b/keyboards/durgod/dgk6x/galaxy/config.h
new file mode 100644
index 0000000000..e8108f7d11
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/config.h
@@ -0,0 +1,37 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x6A1A
+#define DEVICE_VER 0x0001
+#define PRODUCT Galaxy 84 HK gaming x DURGOD (QMK)
+
+/* key matrix rows */
+#define MATRIX_ROWS 6
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5 }
+
+/* key matrix columns */
+#define MATRIX_COLS 16
+#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10, C11, C12 }
+
+#ifdef RGB_MATRIX_ENABLE
+#define DRIVER_1_LED_TOTAL 58
+#define DRIVER_2_LED_TOTAL 26
+#endif
diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c
new file mode 100644
index 0000000000..d101533b16
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c
@@ -0,0 +1,142 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "galaxy.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+
+ {0, C_1, B_1, A_1}, // Esc
+ {0, C_2, B_2, A_2}, // F1
+ {0, C_3, B_3, A_3}, // F2
+ {0, C_4, B_4, A_4}, // F3
+ {0, C_5, B_5, A_5}, // F4
+ {0, C_6, B_6, A_6}, // F5
+ {0, C_7, B_7, A_7}, // F6
+ {0, C_8, B_8, A_8}, // F7
+ {0, C_9, B_9, A_9}, // F8
+ {0, C_10, B_10, A_10}, // F9
+ {0, C_11, B_11, A_11}, // F10
+ {0, C_12, B_12, A_12}, // F11
+ {0, C_13, B_13, A_13}, // F12
+ {0, C_14, B_14, A_14}, // PrtSc
+ {0, C_15, B_15, A_15}, // Pause
+ {0, C_16, B_16, A_16}, // Del
+
+ {0, F_1, E_1, D_1}, // `
+ {0, F_2, E_2, D_2}, // 1
+ {0, F_3, E_3, D_3}, // 2
+ {0, F_4, E_4, D_4}, // 3
+ {0, F_5, E_5, D_5}, // 4
+ {0, F_6, E_6, D_6}, // 5
+ {0, F_7, E_7, D_7}, // 6
+ {0, F_8, E_8, D_8}, // 7
+ {0, F_9, E_9, D_9}, // 8
+ {0, F_10, E_10, D_10}, // 9
+ {0, F_11, E_11, D_11}, // 0
+ {0, F_12, E_12, D_12}, // -
+ {0, F_13, E_13, D_13}, // =
+ {0, F_14, E_14, D_14}, // Bksp
+ {0, F_15, E_15, D_15}, // Home
+
+ {0, I_1, H_1, G_1}, // Tab
+ {0, I_2, H_2, G_2}, // Q
+ {0, I_3, H_3, G_3}, // W
+ {0, I_4, H_4, G_4}, // E
+ {0, I_5, H_5, G_5}, // R
+ {0, I_6, H_6, G_6}, // T
+ {0, I_7, H_7, G_7}, // Y
+ {0, I_8, H_8, G_8}, // U
+ {0, I_9, H_9, G_9}, // I
+ {0, I_10, H_10, G_10}, // O
+ {0, I_11, H_11, G_11}, // P
+ {0, I_12, H_12, G_12}, // [
+ {0, I_13, H_13, G_13}, // ]
+ {0, I_14, H_14, G_14}, // Pipe
+ {0, I_15, H_15, G_15}, // End
+
+ {0, L_1, K_1, J_1}, // Caps
+ {0, L_2, K_2, J_2}, // A
+ {0, L_3, K_3, J_3}, // S
+ {0, L_4, K_4, J_4}, // D
+ {0, L_5, K_5, J_5}, // F
+ {0, L_6, K_6, J_6}, // G
+ {0, L_7, K_7, J_7}, // H
+ {0, L_8, K_8, J_8}, // J
+ {0, L_9, K_9, J_9}, // K
+ {0, L_10, K_10, J_10}, // L
+ {0, L_11, K_11, J_11}, // :
+ {0, L_12, K_12, J_12}, // '
+ {0, L_14, K_14, J_14}, // Enter
+ {0, L_15, K_15, J_15}, // PgUp
+
+ {1, C_1, B_1, A_1}, // LShift
+ {1, C_3, B_3, A_3}, // Z
+ {1, C_4, B_4, A_4}, // X
+ {1, C_5, B_5, A_5}, // C
+ {1, C_6, B_6, A_6}, // V
+ {1, C_7, B_7, A_7}, // B
+ {1, C_8, B_8, A_8}, // N
+ {1, C_9, B_9, A_9}, // M
+ {1, C_10, B_10, A_10}, // <
+ {1, C_11, B_11, A_11}, // >
+ {1, C_12, B_12, A_12}, // ?
+ {1, C_13, B_13, A_13}, // RShift
+ {1, C_14, B_14, A_14}, // Up
+ {1, C_15, B_15, A_15}, // PgDn
+
+ {1, F_1, E_1, D_1}, // LCtrl
+ {1, F_2, E_2, D_2}, // LAlt
+ {1, F_3, E_3, D_3}, // LGUI
+ {1, F_7, E_7, D_7}, // Space
+ {1, F_10, E_10, D_10}, // RAlt
+ {1, F_11, E_11, D_11}, // Fn1
+ {1, F_12, E_12, D_12}, // Fn2
+ {1, F_13, E_13, D_13}, // Left
+ {1, F_14, E_14, D_14}, // Down
+ {1, F_15, E_15, D_15} // Right
+};
+
+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, NO_LED },
+ { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, NO_LED },
+ { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED, 58, 59, NO_LED },
+ { 60, NO_LED, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, NO_LED },
+ { 74, 75, 76, NO_LED, NO_LED, NO_LED, 77, NO_LED, NO_LED, 78, 79, 80, 81, 82, 83, NO_LED }
+}, {
+ { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 208, 0 }, { 224, 0 }, { 240, 0 },
+ { 0, 13 }, { 16, 13 }, { 32, 13 }, { 48, 13 }, { 64, 13 }, { 80, 13 }, { 96, 13 }, { 112, 13 }, { 128, 13 }, { 144, 13 }, { 160, 13 }, { 176, 13 }, { 192, 13 }, { 216, 13 }, { 240, 13 },
+ { 4, 26 }, { 24, 26 }, { 40, 26 }, { 56, 26 }, { 72, 26 }, { 88, 26 }, { 104, 26 }, { 120, 26 }, { 136, 26 }, { 152, 26 }, { 168, 26 }, { 184, 26 }, { 200, 26 }, { 220, 26 }, { 240, 26 },
+ { 6, 38 }, { 28, 38 }, { 44, 38 }, { 60, 38 }, { 76, 38 }, { 92, 38 }, { 108, 38 }, { 124, 38 }, { 140, 38 }, { 156, 38 }, { 172, 38 }, { 188, 38 }, { 214, 38 }, { 240, 38 },
+ { 10, 51 }, { 36, 51 }, { 52, 51 }, { 68, 51 }, { 84, 51 }, { 100, 51 }, { 116, 51 }, { 132, 51 }, { 148, 51 }, { 164, 51 }, { 180, 51 }, { 202, 51 }, { 224, 51 }, { 240, 51 },
+ { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 }
+}, {
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4,
+ 1, 1, 1, 4, 1, 1, 1, 4, 4, 4
+}};
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.h b/keyboards/durgod/dgk6x/galaxy/galaxy.h
new file mode 100644
index 0000000000..3ba96aaf7b
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/galaxy.h
@@ -0,0 +1,40 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+#define CAPS_LED 46
+
+#define XXX KC_NO
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_75_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, XXX }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, XXX }, \
+ { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, XXX }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, K59, K5A, K5B, K5C, K5D, K5E, XXX }, \
+}
+
diff --git a/keyboards/durgod/dgk6x/galaxy/info.json b/keyboards/durgod/dgk6x/galaxy/info.json
new file mode 100644
index 0000000000..9d7ebc665b
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/info.json
@@ -0,0 +1,102 @@
+{
+ "keyboard_name": "DURGOD Galaxy",
+ "url": "https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP",
+ "maintainer": "dkjer",
+ "width": 16,
+ "height": 6,
+ "layouts": {
+ "LAYOUT_75_ansi": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 1 },
+ { "label": "F1", "x": 1, "y": 1 },
+ { "label": "F2", "x": 2, "y": 1 },
+ { "label": "F3", "x": 3, "y": 1 },
+ { "label": "F4", "x": 4, "y": 1 },
+ { "label": "F5", "x": 5, "y": 1 },
+ { "label": "F6", "x": 6, "y": 1 },
+ { "label": "F7", "x": 7, "y": 1 },
+ { "label": "F8", "x": 8, "y": 1 },
+ { "label": "F9", "x": 9, "y": 1 },
+ { "label": "F10", "x": 10, "y": 1 },
+ { "label": "F11", "x": 11, "y": 1 },
+ { "label": "F12", "x": 12, "y": 1 },
+ { "label": "PrintScreen", "x": 13, "y": 1 },
+ { "label": "ScrollLock", "x": 14, "y": 1 },
+ { "label": "Delete", "x": 15, "y": 1 },
+
+ { "label": "~", "x": 0, "y": 1 },
+ { "label": "!", "x": 1, "y": 1 },
+ { "label": "@", "x": 2, "y": 1 },
+ { "label": "#", "x": 3, "y": 1 },
+ { "label": "$", "x": 4, "y": 1 },
+ { "label": "%", "x": 5, "y": 1 },
+ { "label": "^", "x": 6, "y": 1 },
+ { "label": "&", "x": 7, "y": 1 },
+ { "label": "*", "x": 8, "y": 1 },
+ { "label": "(", "x": 9, "y": 1 },
+ { "label": ")", "x": 10, "y": 1 },
+ { "label": "_", "x": 11, "y": 1 },
+ { "label": "+", "x": 12, "y": 1 },
+ { "label": "Backspace", "x": 13, "y": 1, "w": 2 },
+ { "label": "Home", "x": 15, "y": 1 },
+
+ { "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2 },
+ { "label": "W", "x": 2.5, "y": 2 },
+ { "label": "E", "x": 3.5, "y": 2 },
+ { "label": "R", "x": 4.5, "y": 2 },
+ { "label": "T", "x": 5.5, "y": 2 },
+ { "label": "Y", "x": 6.5, "y": 2 },
+ { "label": "U", "x": 7.5, "y": 2 },
+ { "label": "I", "x": 8.5, "y": 2 },
+ { "label": "O", "x": 9.5, "y": 2 },
+ { "label": "P", "x": 10.5, "y": 2 },
+ { "label": "{", "x": 11.5, "y": 2 },
+ { "label": "}", "x": 12.5, "y": 2 },
+ { "label": "|", "x": 13.5, "y": 2, "w": 1.5 },
+ { "label": "End", "x": 15, "y": 2 },
+
+ { "label": "CapsLock", "x": 0, "y": 3, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3 },
+ { "label": "S", "x": 2.75, "y": 3 },
+ { "label": "D", "x": 3.75, "y": 3 },
+ { "label": "F", "x": 4.75, "y": 3 },
+ { "label": "G", "x": 5.75, "y": 3 },
+ { "label": "H", "x": 6.75, "y": 3 },
+ { "label": "J", "x": 7.75, "y": 3 },
+ { "label": "K", "x": 8.75, "y": 3 },
+ { "label": "L", "x": 9.75, "y": 3 },
+ { "label": ":", "x": 10.75, "y": 3 },
+ { "label": "\"", "x": 11.75, "y": 3 },
+ { "label": "Enter", "x": 12.75, "y": 3, "w": 2.25 },
+ { "label": "PgUp", "x": 15, "y": 3 },
+
+ { "label": "Shift", "x": 0, "y": 4, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4 },
+ { "label": "X", "x": 3.25, "y": 4 },
+ { "label": "C", "x": 4.25, "y": 4 },
+ { "label": "V", "x": 5.25, "y": 4 },
+ { "label": "B", "x": 6.25, "y": 4 },
+ { "label": "N", "x": 7.25, "y": 4 },
+ { "label": "M", "x": 8.25, "y": 4 },
+ { "label": "<", "x": 9.25, "y": 4 },
+ { "label": ">", "x": 10.25, "y": 4 },
+ { "label": "?", "x": 11.25, "y": 4 },
+ { "label": "Shift", "x": 12.25, "y": 4, "w": 1.75 },
+ { "label": "Up", "x": 14, "y": 4 },
+ { "label": "PgDn", "x": 15, "y": 4 },
+
+ { "label": "Ctrl", "x": 0, "y": 5, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5, "w": 1.25 },
+ { "x": 3.75, "y": 5, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5 },
+ { "label": "Fn1", "x": 11, "y": 5 },
+ { "label": "Fn2", "x": 12, "y": 5 },
+ { "label": "Left", "x": 13, "y": 5 },
+ { "label": "Down", "x": 14, "y": 5 },
+ { "label": "Right", "x": 15, "y": 5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json
new file mode 100644
index 0000000000..70e31cc5d0
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json
@@ -0,0 +1,42 @@
+{
+ "keyboard": "durgod/dgk6x/galaxy",
+ "keymap": "default",
+ "layout": "LAYOUT_75_ansi",
+ "layers": [
+ [
+ "KC_ESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_PSCR", "KC_SLCK", "KC_DEL",
+ "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_HOME",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_END",
+ "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_PGUP",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "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", "RGB_RMOD","RGB_MOD", "RGB_TOG",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_SAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",