From 1d596f72e8d6248efe3583f7664a9858f2c1eb56 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 22 Dec 2022 20:39:47 +0800
Subject: [PATCH 01/51] [Keyboard] Add Z60 Solder
---
keyboards/quarkeys/z60/config.h | 38 ++++++++
keyboards/quarkeys/z60/info.json | 86 ++++++++++++++++++
.../quarkeys/z60/keymaps/default/keymap.c | 88 +++++++++++++++++++
keyboards/quarkeys/z60/keymaps/via/config.h | 20 +++++
keyboards/quarkeys/z60/keymaps/via/keymap.c | 75 ++++++++++++++++
keyboards/quarkeys/z60/keymaps/via/rules.mk | 1 +
keyboards/quarkeys/z60/rules.mk | 15 ++++
keyboards/quarkeys/z60/z60.c | 4 +
keyboards/quarkeys/z60/z60.h | 21 +++++
9 files changed, 348 insertions(+)
create mode 100644 keyboards/quarkeys/z60/config.h
create mode 100644 keyboards/quarkeys/z60/info.json
create mode 100644 keyboards/quarkeys/z60/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z60/keymaps/via/config.h
create mode 100644 keyboards/quarkeys/z60/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z60/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z60/rules.mk
create mode 100644 keyboards/quarkeys/z60/z60.c
create mode 100644 keyboards/quarkeys/z60/z60.h
diff --git a/keyboards/quarkeys/z60/config.h b/keyboards/quarkeys/z60/config.h
new file mode 100644
index 000000000000..8939ab241441
--- /dev/null
+++ b/keyboards/quarkeys/z60/config.h
@@ -0,0 +1,38 @@
+// Copyright 2021 @tommyamoszhao
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
+#define MATRIX_COL_PINS { E6, F0, F7, F1, F6, F5, F4, C7, B7, D5, C6, B6, B5, D7, D4 }
+
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN D6
+#define RGBLED_NUM 77
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
+#define RGBLIGHT_LIMIT_VAL 180
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z60/info.json b/keyboards/quarkeys/z60/info.json
new file mode 100644
index 000000000000..43a2bc5855f8
--- /dev/null
+++ b/keyboards/quarkeys/z60/info.json
@@ -0,0 +1,86 @@
+{
+ "keyboard_name": "Z60 Solder",
+ "url": "www.quarkeys.com",
+ "maintainer": "Quarkeys",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x3C01",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout":
+ [
+ {"label":"Esc", "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":"Back", "x":13, "y":0},
+ {"label":"Del", "x":14, "y":0},
+
+ {"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":"~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":2, "w":1.25},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"|", "x":1.25, "y":3},
+ {"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":1.75},
+ {"label":"Fn", "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, "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}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/keymaps/default/keymap.c b/keyboards/quarkeys/z60/keymaps/default/keymap.c
new file mode 100644
index 000000000000..0cb4202f05b0
--- /dev/null
+++ b/keyboards/quarkeys/z60/keymaps/default/keymap.c
@@ -0,0 +1,88 @@
+// Copyright 2021 @tommyamoszhao
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* [0]
+ * ,--------------------------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------|
+ * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------|
+ * | Ctrl | Win | ALT | SPACE | ALT | Win | Manu | Ctrl |
+ * `--------+--------+--------+--------------------------------------------+-------+-------+-------+--------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ LT(3, 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,
+ LT(4, 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_HASH, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), RALT_T(KC_LEFT), RGUI_T(KC_DOWN), RCTL_T(KC_RGHT)),
+
+ [1] = LAYOUT(
+ QK_BOOT, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({23, 1, HSV_RED});
+
+//const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS({80, 4, HSV_CYAN});
+
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({42, 2, HSV_WHITE});
+
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
+
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({15, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer,
+ //my_base_layer, // Default layer
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+ //my_game_layer // Self-Defined hotkey or macros for a game
+ //my_empty_layer // Preserved layer for customization
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // Both layers will light up if both kb layers are active
+ //rgblight_set_layer_state(0, layer_state_cmp(state, 0));
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ //rgblight_set_layer_state(4, layer_state_cmp(state, 4));
+ //rgblight_set_layer_state(5, layer_state_cmp(state, 5));
+ return state;
+}
+
diff --git a/keyboards/quarkeys/z60/keymaps/via/config.h b/keyboards/quarkeys/z60/keymaps/via/config.h
new file mode 100644
index 000000000000..a7f0f558f0e5
--- /dev/null
+++ b/keyboards/quarkeys/z60/keymaps/via/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2020 Nathan Spears
+ *
+ * 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 .
+ */
+
+#pragma once
+
+#define TAPPING_TOGGLE 2
+#define IOS_DEVICE_ENABLE
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/keymaps/via/keymap.c b/keyboards/quarkeys/z60/keymaps/via/keymap.c
new file mode 100644
index 000000000000..ad6fa00d214e
--- /dev/null
+++ b/keyboards/quarkeys/z60/keymaps/via/keymap.c
@@ -0,0 +1,75 @@
+// Copyright 2021 @tommyamoszhao
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ LT(3, 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,
+ LT(4, 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_HASH, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), RALT_T(KC_LEFT), RGUI_T(KC_DOWN), RCTL_T(KC_RGHT)),
+
+ [1] = LAYOUT(
+ QK_BOOT, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({23, 1, HSV_RED});
+
+//const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS({80, 4, HSV_CYAN});
+
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({42, 2, HSV_WHITE});
+
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
+
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({15, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer,
+ //my_base_layer, // Default layer
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+ //my_game_layer // Self-Defined hotkey or macros for a game
+ //my_empty_layer // Preserved layer for customization
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // Both layers will light up if both kb layers are active
+ //rgblight_set_layer_state(0, layer_state_cmp(state, 0));
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ //rgblight_set_layer_state(4, layer_state_cmp(state, 4));
+ //rgblight_set_layer_state(5, layer_state_cmp(state, 5));
+ return state;
+}
+
diff --git a/keyboards/quarkeys/z60/keymaps/via/rules.mk b/keyboards/quarkeys/z60/keymaps/via/rules.mk
new file mode 100644
index 000000000000..036bd6d1c3ec
--- /dev/null
+++ b/keyboards/quarkeys/z60/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/rules.mk b/keyboards/quarkeys/z60/rules.mk
new file mode 100644
index 000000000000..7cfd7ceebd3b
--- /dev/null
+++ b/keyboards/quarkeys/z60/rules.mk
@@ -0,0 +1,15 @@
+# MCU name
+MCU = atmega32u4
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/quarkeys/z60/z60.c b/keyboards/quarkeys/z60/z60.c
new file mode 100644
index 000000000000..1a18494d2415
--- /dev/null
+++ b/keyboards/quarkeys/z60/z60.c
@@ -0,0 +1,4 @@
+// Copyright 2021 @tommyamoszhao
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "z60.h"
diff --git a/keyboards/quarkeys/z60/z60.h b/keyboards/quarkeys/z60/z60.h
new file mode 100644
index 000000000000..368a93f83a5e
--- /dev/null
+++ b/keyboards/quarkeys/z60/z60.h
@@ -0,0 +1,21 @@
+// Copyright 2021 @tommyamoszhao
+// SPDX-License-Identifier: GPL-2.0-or-later#pragma once
+
+#pragma once
+#include "quantum.h"
+#define XXXX KC_NO
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
+ K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
+ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
+ K400, K401, K403, K406, K410, K411, K412, K413 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
+ { XXXX, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
+ { XXXX, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, XXXX }, \
+ { K400, K401, XXXX, K403, XXXX, XXXX, K406, XXXX, XXXX, XXXX, K410, K411, K412, K413, XXXX } \
+}
+
From 771c75769277caebdf7200d4a2ce36360341adf7 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 22 Dec 2022 20:57:06 +0800
Subject: [PATCH 02/51] License update, and config.h file merged
---
keyboards/quarkeys/z60/config.h | 17 +++++++++--
keyboards/quarkeys/z60/info.json | 6 ++--
.../quarkeys/z60/keymaps/default/keymap.c | 16 +++++++++--
keyboards/quarkeys/z60/keymaps/via/config.h | 20 -------------
keyboards/quarkeys/z60/keymaps/via/keymap.c | 28 +++++++++++++++++--
keyboards/quarkeys/z60/rules.mk | 1 +
keyboards/quarkeys/z60/z60.c | 15 ++++++++--
keyboards/quarkeys/z60/z60.h | 16 +++++++++--
8 files changed, 85 insertions(+), 34 deletions(-)
delete mode 100644 keyboards/quarkeys/z60/keymaps/via/config.h
diff --git a/keyboards/quarkeys/z60/config.h b/keyboards/quarkeys/z60/config.h
index 8939ab241441..5564ec3bf7dd 100644
--- a/keyboards/quarkeys/z60/config.h
+++ b/keyboards/quarkeys/z60/config.h
@@ -1,5 +1,16 @@
-// Copyright 2021 @tommyamoszhao
-// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
#pragma once
@@ -36,3 +47,5 @@
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define RGBLIGHT_SLEEP
+#define TAPPING_TOGGLE 2
+#define IOS_DEVICE_ENABLE
diff --git a/keyboards/quarkeys/z60/info.json b/keyboards/quarkeys/z60/info.json
index 43a2bc5855f8..0921044cf05e 100644
--- a/keyboards/quarkeys/z60/info.json
+++ b/keyboards/quarkeys/z60/info.json
@@ -1,7 +1,8 @@
{
"keyboard_name": "Z60 Solder",
+ "manufacturer": "Quarkeys Stuidio",
"url": "www.quarkeys.com",
- "maintainer": "Quarkeys",
+ "maintainer": "TommyZ",
"usb": {
"vid": "0x8490",
"pid": "0x3C01",
@@ -9,8 +10,7 @@
},
"layouts": {
"LAYOUT": {
- "layout":
- [
+ "layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
diff --git a/keyboards/quarkeys/z60/keymaps/default/keymap.c b/keyboards/quarkeys/z60/keymaps/default/keymap.c
index 0cb4202f05b0..a0a08ccb5d87 100644
--- a/keyboards/quarkeys/z60/keymaps/default/keymap.c
+++ b/keyboards/quarkeys/z60/keymaps/default/keymap.c
@@ -1,5 +1,16 @@
-// Copyright 2021 @tommyamoszhao
-// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
#include QMK_KEYBOARD_H
@@ -85,4 +96,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
//rgblight_set_layer_state(5, layer_state_cmp(state, 5));
return state;
}
-
diff --git a/keyboards/quarkeys/z60/keymaps/via/config.h b/keyboards/quarkeys/z60/keymaps/via/config.h
deleted file mode 100644
index a7f0f558f0e5..000000000000
--- a/keyboards/quarkeys/z60/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2020 Nathan Spears
- *
- * 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 .
- */
-
-#pragma once
-
-#define TAPPING_TOGGLE 2
-#define IOS_DEVICE_ENABLE
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/keymaps/via/keymap.c b/keyboards/quarkeys/z60/keymaps/via/keymap.c
index ad6fa00d214e..333fa6ae44a7 100644
--- a/keyboards/quarkeys/z60/keymaps/via/keymap.c
+++ b/keyboards/quarkeys/z60/keymaps/via/keymap.c
@@ -1,10 +1,34 @@
-// Copyright 2021 @tommyamoszhao
-// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* [0]
+ * ,--------------------------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------|
+ * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------|
+ * | Ctrl | Win | ALT | SPACE | ALT | Win | Manu | Ctrl |
+ * `--------+--------+--------+--------------------------------------------+-------+-------+-------+--------'
+ */
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
LT(3, 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,
diff --git a/keyboards/quarkeys/z60/rules.mk b/keyboards/quarkeys/z60/rules.mk
index 7cfd7ceebd3b..181a43452972 100644
--- a/keyboards/quarkeys/z60/rules.mk
+++ b/keyboards/quarkeys/z60/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = atmega32u4
+
# Bootloader selection
BOOTLOADER = atmel-dfu
diff --git a/keyboards/quarkeys/z60/z60.c b/keyboards/quarkeys/z60/z60.c
index 1a18494d2415..022aa641af6b 100644
--- a/keyboards/quarkeys/z60/z60.c
+++ b/keyboards/quarkeys/z60/z60.c
@@ -1,4 +1,15 @@
-// Copyright 2021 @tommyamoszhao
-// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
#include "z60.h"
diff --git a/keyboards/quarkeys/z60/z60.h b/keyboards/quarkeys/z60/z60.h
index 368a93f83a5e..828dc29b7805 100644
--- a/keyboards/quarkeys/z60/z60.h
+++ b/keyboards/quarkeys/z60/z60.h
@@ -1,5 +1,17 @@
-// Copyright 2021 @tommyamoszhao
-// SPDX-License-Identifier: GPL-2.0-or-later#pragma once
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
#pragma once
#include "quantum.h"
From dbd6e029e473572a1b4c33ca91db3d19906889ae Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 22 Dec 2022 23:24:35 +0800
Subject: [PATCH 03/51] [Keyboard] Add Quarkeys Z67 Solder PCB
---
keyboards/quarkeys/z67sd/config.h | 44 +++++++++
keyboards/quarkeys/z67sd/info.json | 92 +++++++++++++++++
.../quarkeys/z67sd/keymaps/default/keymap.c | 99 +++++++++++++++++++
keyboards/quarkeys/z67sd/keymaps/via/keymap.c | 99 +++++++++++++++++++
keyboards/quarkeys/z67sd/keymaps/via/rules.mk | 1 +
keyboards/quarkeys/z67sd/readme.md | 26 +++++
keyboards/quarkeys/z67sd/rules.mk | 16 +++
keyboards/quarkeys/z67sd/z67sd.c | 15 +++
keyboards/quarkeys/z67sd/z67sd.h | 32 ++++++
9 files changed, 424 insertions(+)
create mode 100644 keyboards/quarkeys/z67sd/config.h
create mode 100644 keyboards/quarkeys/z67sd/info.json
create mode 100644 keyboards/quarkeys/z67sd/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z67sd/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z67sd/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z67sd/readme.md
create mode 100644 keyboards/quarkeys/z67sd/rules.mk
create mode 100644 keyboards/quarkeys/z67sd/z67sd.c
create mode 100644 keyboards/quarkeys/z67sd/z67sd.h
diff --git a/keyboards/quarkeys/z67sd/config.h b/keyboards/quarkeys/z67sd/config.h
new file mode 100644
index 000000000000..75059dd3319f
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/config.h
@@ -0,0 +1,44 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "config_common.h"
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
+#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D4, D5, D6, D7, B5, B4 }
+
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN F0
+#define RGBLED_NUM 18
+//#define RGBLIGHT_LIMIT_VAL 130
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z67sd/info.json b/keyboards/quarkeys/z67sd/info.json
new file mode 100644
index 000000000000..abafbf6f2b83
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/info.json
@@ -0,0 +1,92 @@
+{
+ "keyboard_name": "Z67 Solder",
+ "manufacturer": "Quarkeys Stuidio",
+ "url": "www.quarkeys.com",
+ "maintainer": "TommyZ",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x4101",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "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":"Back", "x":13, "y":0},
+ {"label":"~", "x":14, "y":0},
+ {"label":"Delete", "x":15, "y":0},
+
+ {"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":"PgUp", "x":15, "y":1},
+
+ {"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":"~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":2, "w":1.25},
+ {"label":"PgDn", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"|", "x":1.25, "y":3},
+ {"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":1.75},
+ {"label":"\u2191", "x":14, "y":3},
+ {"label":"Fn", "x":15, "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":"Win", "x":11, "y":4},
+ {"label":"Ctrl", "x":12, "y":4},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67sd/keymaps/default/keymap.c b/keyboards/quarkeys/z67sd/keymaps/default/keymap.c
new file mode 100644
index 000000000000..ae9eb8fb34df
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/keymaps/default/keymap.c
@@ -0,0 +1,99 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* [0]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter | PgDn |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | Up |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | Ctrl | Win | ALT | SPACE | ALT | Win | Ctrl | Left | Down | Rght |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, KC_DEL,
+ 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_PGUP,
+ 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_GRV, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* [1]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | 0 | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [1] = LAYOUT(
+ QK_BOOT, 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_BSPC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [2]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [3]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
diff --git a/keyboards/quarkeys/z67sd/keymaps/via/keymap.c b/keyboards/quarkeys/z67sd/keymaps/via/keymap.c
new file mode 100644
index 000000000000..ae9eb8fb34df
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/keymaps/via/keymap.c
@@ -0,0 +1,99 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* [0]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter | PgDn |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | Up |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | Ctrl | Win | ALT | SPACE | ALT | Win | Ctrl | Left | Down | Rght |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, KC_DEL,
+ 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_PGUP,
+ 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_GRV, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* [1]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | 0 | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [1] = LAYOUT(
+ QK_BOOT, 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_BSPC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [2]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [3]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
diff --git a/keyboards/quarkeys/z67sd/keymaps/via/rules.mk b/keyboards/quarkeys/z67sd/keymaps/via/rules.mk
new file mode 100644
index 000000000000..036bd6d1c3ec
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67sd/readme.md b/keyboards/quarkeys/z67sd/readme.md
new file mode 100644
index 000000000000..db0cbfa47f76
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/readme.md
@@ -0,0 +1,26 @@
+# Quarkeys Z67 Solder PCB
+
+![Z67](https://static.wixstatic.com/media/72b918_c3a6848a520f47888bbcb8f4a8019999~mv2.png)
+![Layout](https://static.wixstatic.com/media/72b918_8e66a20d353547fca89a3413336cd688~mv2.png)
+
+A 65% Gasket keyboard made by Quarkeys, third of out project.
+
+* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
+* Hardware Supported: Z67 Solder PCB
+* Hardware Specs:
+
+Make example for this keyboard default keymap(after setting up your build environment):
+
+ make quarkeys/z67sd:default
+
+Make example for this keyboard keymap for via:
+
+ make quarkeys/z67sd:via
+
+Flashing example for this keyboard:
+
+ make quarkeys/z67sd:default:flash
+
+**Bootloader:** Press the physical reset button (ECS position of layer 1)
+
+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).
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67sd/rules.mk b/keyboards/quarkeys/z67sd/rules.mk
new file mode 100644
index 000000000000..194888a8d5fa
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/rules.mk
@@ -0,0 +1,16 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
diff --git a/keyboards/quarkeys/z67sd/z67sd.c b/keyboards/quarkeys/z67sd/z67sd.c
new file mode 100644
index 000000000000..7f1263f5fa31
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/z67sd.c
@@ -0,0 +1,15 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include "z67sd.h"
diff --git a/keyboards/quarkeys/z67sd/z67sd.h b/keyboards/quarkeys/z67sd/z67sd.h
new file mode 100644
index 000000000000..35fee480efd5
--- /dev/null
+++ b/keyboards/quarkeys/z67sd/z67sd.h
@@ -0,0 +1,32 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "quantum.h"
+#define XXXX KC_NO
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, K315, \
+ K400, K401, K402, K407, K408, K409, K411, K412, K413, K415 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, XXXX, K114, K115 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, XXXX, K215 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, XXXX, K314, K315 }, \
+ { K400, K401, K402, XXXX, XXXX, XXXX, XXXX, K407, K408, K409, XXXX, K411, K412, K413, XXXX, K415 } \
+}
+
From d49cf8c7fb086570706c54810f43c9743af23d4d Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 22 Dec 2022 23:32:25 +0800
Subject: [PATCH 04/51] updated as required
1. Meaningless defines deleted in config.h
2. Dead codes deleted in both defatul and via keymap.c
3. "LT()" function is deleted in keymap
---
.../quarkeys/z60/keymaps/default/keymap.c | 13 ++-----------
keyboards/quarkeys/z60/keymaps/via/keymap.c | 18 ++++--------------
2 files changed, 6 insertions(+), 25 deletions(-)
diff --git a/keyboards/quarkeys/z60/keymaps/default/keymap.c b/keyboards/quarkeys/z60/keymaps/default/keymap.c
index a0a08ccb5d87..6bf614d30e72 100644
--- a/keyboards/quarkeys/z60/keymaps/default/keymap.c
+++ b/keyboards/quarkeys/z60/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- LT(3, 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,
- LT(4, 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_HASH, KC_ENT,
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HASH, KC_ENT,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), RALT_T(KC_LEFT), RGUI_T(KC_DOWN), RCTL_T(KC_RGHT)),
@@ -60,8 +60,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({23, 1, HSV_RED});
-//const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS({80, 4, HSV_CYAN});
-
const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({42, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
@@ -70,12 +68,9 @@ const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({15,
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
my_capslock_layer,
- //my_base_layer, // Default layer
my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
my_symbol_layer, // F1-F12 keys & Symbols
my_other_layer // Self-Defined
- //my_game_layer // Self-Defined hotkey or macros for a game
- //my_empty_layer // Preserved layer for customization
);
void keyboard_post_init_user(void) {
@@ -87,12 +82,8 @@ bool led_update_user(led_t led_state) {
return true;
}
layer_state_t layer_state_set_user(layer_state_t state) {
- // Both layers will light up if both kb layers are active
- //rgblight_set_layer_state(0, layer_state_cmp(state, 0));
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
rgblight_set_layer_state(3, layer_state_cmp(state, 3));
- //rgblight_set_layer_state(4, layer_state_cmp(state, 4));
- //rgblight_set_layer_state(5, layer_state_cmp(state, 5));
return state;
}
diff --git a/keyboards/quarkeys/z60/keymaps/via/keymap.c b/keyboards/quarkeys/z60/keymaps/via/keymap.c
index 333fa6ae44a7..6bf614d30e72 100644
--- a/keyboards/quarkeys/z60/keymaps/via/keymap.c
+++ b/keyboards/quarkeys/z60/keymaps/via/keymap.c
@@ -15,8 +15,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* [0]
+ /* [0]
* ,--------------------------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -31,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- LT(3, 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,
- LT(4, 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_HASH, KC_ENT,
+ 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HASH, KC_ENT,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_UP), MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), RALT_T(KC_LEFT), RGUI_T(KC_DOWN), RCTL_T(KC_RGHT)),
@@ -56,12 +55,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
};
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({23, 1, HSV_RED});
-//const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS({80, 4, HSV_CYAN});
-
const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({42, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
@@ -70,12 +68,9 @@ const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({15,
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
my_capslock_layer,
- //my_base_layer, // Default layer
my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
my_symbol_layer, // F1-F12 keys & Symbols
my_other_layer // Self-Defined
- //my_game_layer // Self-Defined hotkey or macros for a game
- //my_empty_layer // Preserved layer for customization
);
void keyboard_post_init_user(void) {
@@ -87,13 +82,8 @@ bool led_update_user(led_t led_state) {
return true;
}
layer_state_t layer_state_set_user(layer_state_t state) {
- // Both layers will light up if both kb layers are active
- //rgblight_set_layer_state(0, layer_state_cmp(state, 0));
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
rgblight_set_layer_state(3, layer_state_cmp(state, 3));
- //rgblight_set_layer_state(4, layer_state_cmp(state, 4));
- //rgblight_set_layer_state(5, layer_state_cmp(state, 5));
return state;
}
-
From 31d3e3809968d1e65183da54c12f6813e8546ebb Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 22 Dec 2022 23:35:54 +0800
Subject: [PATCH 05/51] Update keyboards/quarkeys/z60/config.h
Co-authored-by: Joel Challis
---
keyboards/quarkeys/z60/config.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z60/config.h b/keyboards/quarkeys/z60/config.h
index 5564ec3bf7dd..d5dc6e1a2014 100644
--- a/keyboards/quarkeys/z60/config.h
+++ b/keyboards/quarkeys/z60/config.h
@@ -47,5 +47,4 @@
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define RGBLIGHT_SLEEP
-#define TAPPING_TOGGLE 2
#define IOS_DEVICE_ENABLE
From 9e4a68c14f01d22b36d8ca73dabd40eed333c4ec Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 22 Dec 2022 23:36:07 +0800
Subject: [PATCH 06/51] Update keyboards/quarkeys/z60/config.h
Co-authored-by: Joel Challis
---
keyboards/quarkeys/z60/config.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z60/config.h b/keyboards/quarkeys/z60/config.h
index d5dc6e1a2014..b500a4c18fe3 100644
--- a/keyboards/quarkeys/z60/config.h
+++ b/keyboards/quarkeys/z60/config.h
@@ -47,4 +47,3 @@
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define RGBLIGHT_SLEEP
-#define IOS_DEVICE_ENABLE
From 6eb25e07328ef81d036f657d6cb7bdfd3151db85 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 23 Dec 2022 04:54:43 +0800
Subject: [PATCH 07/51] [Keyboard] Add Z60 Re-organized keyboard directory
Nothing is changed except that the files been moved into 'solder' & 'hotswap' subfolders.
---
keyboards/quarkeys/z60/readme.md | 27 +++++
keyboards/quarkeys/z60/{ => solder}/config.h | 0
keyboards/quarkeys/z60/{ => solder}/info.json | 0
.../z60/{ => solder}/keymaps/default/keymap.c | 0
.../z60/{ => solder}/keymaps/via/keymap.c | 0
.../z60/{ => solder}/keymaps/via/rules.mk | 0
keyboards/quarkeys/z60/{ => solder}/rules.mk | 0
.../quarkeys/z60/{z60.c => solder/solder.c} | 2 +-
.../quarkeys/z60/{z60.h => solder/solder.h} | 0
keyboards/quarkeys/z67sd/config.h | 44 ---------
keyboards/quarkeys/z67sd/info.json | 92 -----------------
.../quarkeys/z67sd/keymaps/default/keymap.c | 99 -------------------
keyboards/quarkeys/z67sd/keymaps/via/keymap.c | 99 -------------------
keyboards/quarkeys/z67sd/keymaps/via/rules.mk | 1 -
keyboards/quarkeys/z67sd/readme.md | 26 -----
keyboards/quarkeys/z67sd/rules.mk | 16 ---
keyboards/quarkeys/z67sd/z67sd.c | 15 ---
keyboards/quarkeys/z67sd/z67sd.h | 32 ------
18 files changed, 28 insertions(+), 425 deletions(-)
create mode 100644 keyboards/quarkeys/z60/readme.md
rename keyboards/quarkeys/z60/{ => solder}/config.h (100%)
rename keyboards/quarkeys/z60/{ => solder}/info.json (100%)
rename keyboards/quarkeys/z60/{ => solder}/keymaps/default/keymap.c (100%)
rename keyboards/quarkeys/z60/{ => solder}/keymaps/via/keymap.c (100%)
rename keyboards/quarkeys/z60/{ => solder}/keymaps/via/rules.mk (100%)
rename keyboards/quarkeys/z60/{ => solder}/rules.mk (100%)
rename keyboards/quarkeys/z60/{z60.c => solder/solder.c} (97%)
rename keyboards/quarkeys/z60/{z60.h => solder/solder.h} (100%)
delete mode 100644 keyboards/quarkeys/z67sd/config.h
delete mode 100644 keyboards/quarkeys/z67sd/info.json
delete mode 100644 keyboards/quarkeys/z67sd/keymaps/default/keymap.c
delete mode 100644 keyboards/quarkeys/z67sd/keymaps/via/keymap.c
delete mode 100644 keyboards/quarkeys/z67sd/keymaps/via/rules.mk
delete mode 100644 keyboards/quarkeys/z67sd/readme.md
delete mode 100644 keyboards/quarkeys/z67sd/rules.mk
delete mode 100644 keyboards/quarkeys/z67sd/z67sd.c
delete mode 100644 keyboards/quarkeys/z67sd/z67sd.h
diff --git a/keyboards/quarkeys/z60/readme.md b/keyboards/quarkeys/z60/readme.md
new file mode 100644
index 000000000000..0a4538af1485
--- /dev/null
+++ b/keyboards/quarkeys/z60/readme.md
@@ -0,0 +1,27 @@
+# Quarkeys Z60 Keyboard
+
+![Z60](https://static.wixstatic.com/media/72b918_45f82258186646d4bfa57c9d73ccc9bc~mv2.jpeg)
+![Layout](https://static.wixstatic.com/media/72b918_bb37ec16543545b0aac331d5a7fa977c~mv2.png)
+
+A 60% Gasket keyboard with innovated top enclosure made by Quarkeys, second of out projects.
+
+* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
+* Hardware Supported: Z60-ACR, Z60-Evolve
+* Hardware Specs: Solder version with per-key RGBs, layer & Capslock indicators
+ Hotswap version with per-key RGBs, layer & Capslock indicators
+
+Make example for this keyboard solder version keymap(after setting up your build environment):
+
+ make quarkeys/z60/solder:default
+
+Make example for this keyboard hotswap version keymap:
+
+ make quarkeys/z60/hotswap:default
+
+Flashing example for this keyboard:
+
+ make quarkeys/z60/solder:default:flash
+
+**Bootloader:** Press the physical reset button (ECS position of layer 1)
+
+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).
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/config.h b/keyboards/quarkeys/z60/solder/config.h
similarity index 100%
rename from keyboards/quarkeys/z60/config.h
rename to keyboards/quarkeys/z60/solder/config.h
diff --git a/keyboards/quarkeys/z60/info.json b/keyboards/quarkeys/z60/solder/info.json
similarity index 100%
rename from keyboards/quarkeys/z60/info.json
rename to keyboards/quarkeys/z60/solder/info.json
diff --git a/keyboards/quarkeys/z60/keymaps/default/keymap.c b/keyboards/quarkeys/z60/solder/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/quarkeys/z60/keymaps/default/keymap.c
rename to keyboards/quarkeys/z60/solder/keymaps/default/keymap.c
diff --git a/keyboards/quarkeys/z60/keymaps/via/keymap.c b/keyboards/quarkeys/z60/solder/keymaps/via/keymap.c
similarity index 100%
rename from keyboards/quarkeys/z60/keymaps/via/keymap.c
rename to keyboards/quarkeys/z60/solder/keymaps/via/keymap.c
diff --git a/keyboards/quarkeys/z60/keymaps/via/rules.mk b/keyboards/quarkeys/z60/solder/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/quarkeys/z60/keymaps/via/rules.mk
rename to keyboards/quarkeys/z60/solder/keymaps/via/rules.mk
diff --git a/keyboards/quarkeys/z60/rules.mk b/keyboards/quarkeys/z60/solder/rules.mk
similarity index 100%
rename from keyboards/quarkeys/z60/rules.mk
rename to keyboards/quarkeys/z60/solder/rules.mk
diff --git a/keyboards/quarkeys/z60/z60.c b/keyboards/quarkeys/z60/solder/solder.c
similarity index 97%
rename from keyboards/quarkeys/z60/z60.c
rename to keyboards/quarkeys/z60/solder/solder.c
index 022aa641af6b..1aacc5168eb2 100644
--- a/keyboards/quarkeys/z60/z60.c
+++ b/keyboards/quarkeys/z60/solder/solder.c
@@ -12,4 +12,4 @@
/ along with this program. If not, see .
*/
-#include "z60.h"
+#include "solder.h"
diff --git a/keyboards/quarkeys/z60/z60.h b/keyboards/quarkeys/z60/solder/solder.h
similarity index 100%
rename from keyboards/quarkeys/z60/z60.h
rename to keyboards/quarkeys/z60/solder/solder.h
diff --git a/keyboards/quarkeys/z67sd/config.h b/keyboards/quarkeys/z67sd/config.h
deleted file mode 100644
index 75059dd3319f..000000000000
--- a/keyboards/quarkeys/z67sd/config.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#pragma once
-#include "config_common.h"
-
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
-#define DIODE_DIRECTION COL2ROW
-
-#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
-#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D4, D5, D6, D7, B5, B4 }
-
-#define DEBOUNCE 5
-
-#define RGB_DI_PIN F0
-#define RGBLED_NUM 18
-//#define RGBLIGHT_LIMIT_VAL 130
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
-#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z67sd/info.json b/keyboards/quarkeys/z67sd/info.json
deleted file mode 100644
index abafbf6f2b83..000000000000
--- a/keyboards/quarkeys/z67sd/info.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "keyboard_name": "Z67 Solder",
- "manufacturer": "Quarkeys Stuidio",
- "url": "www.quarkeys.com",
- "maintainer": "TommyZ",
- "usb": {
- "vid": "0x8490",
- "pid": "0x4101",
- "device_version": "0.0.1"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "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":"Back", "x":13, "y":0},
- {"label":"~", "x":14, "y":0},
- {"label":"Delete", "x":15, "y":0},
-
- {"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":"PgUp", "x":15, "y":1},
-
- {"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":"~", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":2, "w":1.25},
- {"label":"PgDn", "x":15, "y":2},
-
- {"label":"Shift", "x":0, "y":3, "w":1.25},
- {"label":"|", "x":1.25, "y":3},
- {"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":1.75},
- {"label":"\u2191", "x":14, "y":3},
- {"label":"Fn", "x":15, "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":"Win", "x":11, "y":4},
- {"label":"Ctrl", "x":12, "y":4},
- {"label":"\u2190", "x":13, "y":4},
- {"label":"\u2193", "x":14, "y":4},
- {"label":"\u2192", "x":15, "y":4}
- ]
- }
- }
-}
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67sd/keymaps/default/keymap.c b/keyboards/quarkeys/z67sd/keymaps/default/keymap.c
deleted file mode 100644
index ae9eb8fb34df..000000000000
--- a/keyboards/quarkeys/z67sd/keymaps/default/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* [0]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter | PgDn |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | Up |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | Ctrl | Win | ALT | SPACE | ALT | Win | Ctrl | Left | Down | Rght |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, KC_DEL,
- 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_PGUP,
- 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_GRV, KC_ENT, KC_PGDN,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------------------------------.
- * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | 0 | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [1] = LAYOUT(
- QK_BOOT, 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_BSPC, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
diff --git a/keyboards/quarkeys/z67sd/keymaps/via/keymap.c b/keyboards/quarkeys/z67sd/keymaps/via/keymap.c
deleted file mode 100644
index ae9eb8fb34df..000000000000
--- a/keyboards/quarkeys/z67sd/keymaps/via/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* [0]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter | PgDn |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | Up |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | Ctrl | Win | ALT | SPACE | ALT | Win | Ctrl | Left | Down | Rght |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, KC_DEL,
- 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_PGUP,
- 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_GRV, KC_ENT, KC_PGDN,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------------------------------.
- * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | 0 | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [1] = LAYOUT(
- QK_BOOT, 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_BSPC, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
diff --git a/keyboards/quarkeys/z67sd/keymaps/via/rules.mk b/keyboards/quarkeys/z67sd/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/quarkeys/z67sd/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67sd/readme.md b/keyboards/quarkeys/z67sd/readme.md
deleted file mode 100644
index db0cbfa47f76..000000000000
--- a/keyboards/quarkeys/z67sd/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Quarkeys Z67 Solder PCB
-
-![Z67](https://static.wixstatic.com/media/72b918_c3a6848a520f47888bbcb8f4a8019999~mv2.png)
-![Layout](https://static.wixstatic.com/media/72b918_8e66a20d353547fca89a3413336cd688~mv2.png)
-
-A 65% Gasket keyboard made by Quarkeys, third of out project.
-
-* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
-* Hardware Supported: Z67 Solder PCB
-* Hardware Specs:
-
-Make example for this keyboard default keymap(after setting up your build environment):
-
- make quarkeys/z67sd:default
-
-Make example for this keyboard keymap for via:
-
- make quarkeys/z67sd:via
-
-Flashing example for this keyboard:
-
- make quarkeys/z67sd:default:flash
-
-**Bootloader:** Press the physical reset button (ECS position of layer 1)
-
-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).
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67sd/rules.mk b/keyboards/quarkeys/z67sd/rules.mk
deleted file mode 100644
index 194888a8d5fa..000000000000
--- a/keyboards/quarkeys/z67sd/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no
diff --git a/keyboards/quarkeys/z67sd/z67sd.c b/keyboards/quarkeys/z67sd/z67sd.c
deleted file mode 100644
index 7f1263f5fa31..000000000000
--- a/keyboards/quarkeys/z67sd/z67sd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#include "z67sd.h"
diff --git a/keyboards/quarkeys/z67sd/z67sd.h b/keyboards/quarkeys/z67sd/z67sd.h
deleted file mode 100644
index 35fee480efd5..000000000000
--- a/keyboards/quarkeys/z67sd/z67sd.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#pragma once
-#include "quantum.h"
-#define XXXX KC_NO
-
-#define LAYOUT( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, K315, \
- K400, K401, K402, K407, K408, K409, K411, K412, K413, K415 \
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, XXXX, K114, K115 }, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, XXXX, K215 }, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, XXXX, K314, K315 }, \
- { K400, K401, K402, XXXX, XXXX, XXXX, XXXX, K407, K408, K409, XXXX, K411, K412, K413, XXXX, K415 } \
-}
-
From 5765a176a710b712cd78115e650cf03e64e744e5 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 23 Dec 2022 16:05:04 +0800
Subject: [PATCH 08/51] Update keyboards/quarkeys/z60/readme.md
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z60/readme.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z60/readme.md b/keyboards/quarkeys/z60/readme.md
index 0a4538af1485..cf15ddef973c 100644
--- a/keyboards/quarkeys/z60/readme.md
+++ b/keyboards/quarkeys/z60/readme.md
@@ -1,7 +1,6 @@
# Quarkeys Z60 Keyboard
![Z60](https://static.wixstatic.com/media/72b918_45f82258186646d4bfa57c9d73ccc9bc~mv2.jpeg)
-![Layout](https://static.wixstatic.com/media/72b918_bb37ec16543545b0aac331d5a7fa977c~mv2.png)
A 60% Gasket keyboard with innovated top enclosure made by Quarkeys, second of out projects.
From 0f520aa12eccfc05b57b718911eb6dfe951bb44b Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 23 Dec 2022 16:05:15 +0800
Subject: [PATCH 09/51] Update keyboards/quarkeys/z60/readme.md
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z60/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/quarkeys/z60/readme.md b/keyboards/quarkeys/z60/readme.md
index cf15ddef973c..8ad1701f3c53 100644
--- a/keyboards/quarkeys/z60/readme.md
+++ b/keyboards/quarkeys/z60/readme.md
@@ -21,6 +21,6 @@ Flashing example for this keyboard:
make quarkeys/z60/solder:default:flash
-**Bootloader:** Press the physical reset button (ECS position of layer 1)
+**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
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).
\ No newline at end of file
From 19b00a4959cb2e599d1a661dbc60a113981009e3 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 23 Dec 2022 16:05:27 +0800
Subject: [PATCH 10/51] Update keyboards/quarkeys/z60/readme.md
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z60/readme.md | 4 ----
1 file changed, 4 deletions(-)
diff --git a/keyboards/quarkeys/z60/readme.md b/keyboards/quarkeys/z60/readme.md
index 8ad1701f3c53..3ee39a2447ae 100644
--- a/keyboards/quarkeys/z60/readme.md
+++ b/keyboards/quarkeys/z60/readme.md
@@ -13,10 +13,6 @@ Make example for this keyboard solder version keymap(after setting up your build
make quarkeys/z60/solder:default
-Make example for this keyboard hotswap version keymap:
-
- make quarkeys/z60/hotswap:default
-
Flashing example for this keyboard:
make quarkeys/z60/solder:default:flash
From f1511ddd13409332419a144549012c74d5f311d3 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 23 Dec 2022 17:32:28 +0800
Subject: [PATCH 11/51] Update readme.md
Image link deleted
---
keyboards/quarkeys/z60/readme.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/keyboards/quarkeys/z60/readme.md b/keyboards/quarkeys/z60/readme.md
index 3ee39a2447ae..abca6e034c9f 100644
--- a/keyboards/quarkeys/z60/readme.md
+++ b/keyboards/quarkeys/z60/readme.md
@@ -1,7 +1,5 @@
# Quarkeys Z60 Keyboard
-![Z60](https://static.wixstatic.com/media/72b918_45f82258186646d4bfa57c9d73ccc9bc~mv2.jpeg)
-
A 60% Gasket keyboard with innovated top enclosure made by Quarkeys, second of out projects.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
@@ -19,4 +17,4 @@ Flashing example for this keyboard:
**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
-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).
\ No newline at end of file
+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).
From a18aa46e51f00de92f5932c8ad7739a9e394a606 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 23 Dec 2022 21:19:39 +0800
Subject: [PATCH 12/51] [Keyboard] Add Quarkeys Z60 Hotswap
---
keyboards/quarkeys/z60/hotswap/Makefile | 3 +
keyboards/quarkeys/z60/hotswap/config.h | 47 +++++++++++
keyboards/quarkeys/z60/hotswap/hotswap.c | 15 ++++
keyboards/quarkeys/z60/hotswap/hotswap.h | 32 ++++++++
keyboards/quarkeys/z60/hotswap/info.json | 82 +++++++++++++++++++
.../z60/hotswap/keymaps/default/keymap.c | 69 ++++++++++++++++
.../quarkeys/z60/hotswap/keymaps/via/keymap.c | 69 ++++++++++++++++
.../quarkeys/z60/hotswap/keymaps/via/rules.mk | 1 +
keyboards/quarkeys/z60/hotswap/rules.mk | 16 ++++
9 files changed, 334 insertions(+)
create mode 100644 keyboards/quarkeys/z60/hotswap/Makefile
create mode 100644 keyboards/quarkeys/z60/hotswap/config.h
create mode 100644 keyboards/quarkeys/z60/hotswap/hotswap.c
create mode 100644 keyboards/quarkeys/z60/hotswap/hotswap.h
create mode 100644 keyboards/quarkeys/z60/hotswap/info.json
create mode 100644 keyboards/quarkeys/z60/hotswap/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z60/hotswap/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z60/hotswap/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z60/hotswap/rules.mk
diff --git a/keyboards/quarkeys/z60/hotswap/Makefile b/keyboards/quarkeys/z60/hotswap/Makefile
new file mode 100644
index 000000000000..57b2ef62e5f3
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif
diff --git a/keyboards/quarkeys/z60/hotswap/config.h b/keyboards/quarkeys/z60/hotswap/config.h
new file mode 100644
index 000000000000..1478ca142ef7
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/config.h
@@ -0,0 +1,47 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "config_common.h"
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
+#define MATRIX_COL_PINS { E6, F0, F7, F1, F6, F5, F4, C7, B7, D5, C6, B6, B5, D7, D4 }
+
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN D6
+#define RGBLED_NUM 80
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 140
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z60/hotswap/hotswap.c b/keyboards/quarkeys/z60/hotswap/hotswap.c
new file mode 100644
index 000000000000..b45286e8ba72
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/hotswap.c
@@ -0,0 +1,15 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include "hotswap.h"
diff --git a/keyboards/quarkeys/z60/hotswap/hotswap.h b/keyboards/quarkeys/z60/hotswap/hotswap.h
new file mode 100644
index 000000000000..25510861cb69
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/hotswap.h
@@ -0,0 +1,32 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "quantum.h"
+#define XXXX KC_NO
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \
+ K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
+ K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \
+ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
+ K400, K402, K403, K407, K411, K413, K414 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, XXXX, K014 }, \
+ { K100, XXXX, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
+ { K200, XXXX, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, XXXX }, \
+ { XXXX, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXXX, K313, K314 }, \
+ { K400, XXXX, K402, K403, XXXX, XXXX, XXXX, K407, XXXX, XXXX, XXXX, K411, XXXX, K413, K414 } \
+}
+
diff --git a/keyboards/quarkeys/z60/hotswap/info.json b/keyboards/quarkeys/z60/hotswap/info.json
new file mode 100644
index 000000000000..bc8d02841400
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/info.json
@@ -0,0 +1,82 @@
+{
+ "keyboard_name": "Z60 Hotswap",
+ "manufacturer": "Quarkeys Stuidio",
+ "url": "www.quarkeys.com",
+ "maintainer": "TommyZ",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x3C02",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "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":1.75},
+ {"label":"Fn", "x":14, "y":3},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+ {"label":"Win", "x":1.5, "y":4},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+ {"x":4, "y":4, "w":7},
+ {"label":"Alt", "x":11, "y":4, "w":1.5},
+ {"label":"Win", "x":12.5, "y":4},
+ {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/hotswap/keymaps/default/keymap.c b/keyboards/quarkeys/z60/hotswap/keymaps/default/keymap.c
new file mode 100644
index 000000000000..7e546cead32f
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_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_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, RSFT_T(KC_UP), MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RALT_T(KC_LEFT), RGUI_T(KC_DOWN), RCTL_T(KC_RGHT)),
+
+ [1] = LAYOUT(
+ QK_BOOT, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({23, 1, HSV_RED});
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({26, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({13, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer, // Caplock indicator
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ return state;
+}
diff --git a/keyboards/quarkeys/z60/hotswap/keymaps/via/keymap.c b/keyboards/quarkeys/z60/hotswap/keymaps/via/keymap.c
new file mode 100644
index 000000000000..324a163e5adb
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/keymaps/via/keymap.c
@@ -0,0 +1,69 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_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_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, RSFT_T(KC_UP), MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RALT_T(KC_LEFT), RGUI_T(KC_DOWN), RCTL_T(KC_RGHT)),
+
+ [1] = LAYOUT(
+ QK_BOOT, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({23, 1, HSV_RED});
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({26, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({13, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer, // Caplock indicator
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ return state;
+}
diff --git a/keyboards/quarkeys/z60/hotswap/keymaps/via/rules.mk b/keyboards/quarkeys/z60/hotswap/keymaps/via/rules.mk
new file mode 100644
index 000000000000..036bd6d1c3ec
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/quarkeys/z60/hotswap/rules.mk b/keyboards/quarkeys/z60/hotswap/rules.mk
new file mode 100644
index 000000000000..1049ac1af775
--- /dev/null
+++ b/keyboards/quarkeys/z60/hotswap/rules.mk
@@ -0,0 +1,16 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
From 42514bc8e34a6e82be14d418bcbc0255465ccd59 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sat, 24 Dec 2022 15:44:11 +0800
Subject: [PATCH 13/51] '#ifdef' in Makefile is not needed
---
keyboards/quarkeys/z60/hotswap/Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/keyboards/quarkeys/z60/hotswap/Makefile b/keyboards/quarkeys/z60/hotswap/Makefile
index 57b2ef62e5f3..3924bfdc1314 100644
--- a/keyboards/quarkeys/z60/hotswap/Makefile
+++ b/keyboards/quarkeys/z60/hotswap/Makefile
@@ -1,3 +1 @@
-ifndef MAKEFILE_INCLUDED
- include ../../Makefile
-endif
+include ../../Makefile
From 4f96ebf35d881399b8484ddc991040c211063aab Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sat, 24 Dec 2022 21:51:57 +0800
Subject: [PATCH 14/51] Delete Makefile
---
keyboards/quarkeys/z60/hotswap/Makefile | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 keyboards/quarkeys/z60/hotswap/Makefile
diff --git a/keyboards/quarkeys/z60/hotswap/Makefile b/keyboards/quarkeys/z60/hotswap/Makefile
deleted file mode 100644
index 3924bfdc1314..000000000000
--- a/keyboards/quarkeys/z60/hotswap/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include ../../Makefile
From 16fee538dd2c9db4d6667f81728fe0fcf214a1df Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 1 Jan 2023 14:23:39 +0800
Subject: [PATCH 15/51] [Keyboard] Add Quarkeys Z67 Solder & Hotswap
---
keyboards/quarkeys/z67/hotswap/config.h | 47 +++++++
keyboards/quarkeys/z67/hotswap/hotswap.c | 15 +++
keyboards/quarkeys/z67/hotswap/hotswap.h | 32 +++++
keyboards/quarkeys/z67/hotswap/info.json | 88 ++++++++++++
.../z67/hotswap/keymaps/default/keymap.c | 126 ++++++++++++++++++
.../quarkeys/z67/hotswap/keymaps/via/keymap.c | 74 ++++++++++
.../quarkeys/z67/hotswap/keymaps/via/rules.mk | 2 +
keyboards/quarkeys/z67/hotswap/rules.mk | 16 +++
keyboards/quarkeys/z67/readme.md | 20 +++
keyboards/quarkeys/z67/solder/config.h | 46 +++++++
keyboards/quarkeys/z67/solder/info.json | 92 +++++++++++++
.../z67/solder/keymaps/default/keymap.c | 99 ++++++++++++++
.../quarkeys/z67/solder/keymaps/via/keymap.c | 47 +++++++
.../quarkeys/z67/solder/keymaps/via/rules.mk | 1 +
keyboards/quarkeys/z67/solder/rules.mk | 16 +++
keyboards/quarkeys/z67/solder/solder.c | 15 +++
keyboards/quarkeys/z67/solder/solder.h | 31 +++++
17 files changed, 767 insertions(+)
create mode 100644 keyboards/quarkeys/z67/hotswap/config.h
create mode 100644 keyboards/quarkeys/z67/hotswap/hotswap.c
create mode 100644 keyboards/quarkeys/z67/hotswap/hotswap.h
create mode 100644 keyboards/quarkeys/z67/hotswap/info.json
create mode 100644 keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z67/hotswap/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z67/hotswap/rules.mk
create mode 100644 keyboards/quarkeys/z67/readme.md
create mode 100644 keyboards/quarkeys/z67/solder/config.h
create mode 100644 keyboards/quarkeys/z67/solder/info.json
create mode 100644 keyboards/quarkeys/z67/solder/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z67/solder/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z67/solder/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z67/solder/rules.mk
create mode 100644 keyboards/quarkeys/z67/solder/solder.c
create mode 100644 keyboards/quarkeys/z67/solder/solder.h
diff --git a/keyboards/quarkeys/z67/hotswap/config.h b/keyboards/quarkeys/z67/hotswap/config.h
new file mode 100644
index 000000000000..328972ced922
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/config.h
@@ -0,0 +1,47 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "config_common.h"
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
+#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, B7, D5, D1, D2, D3, D4, D0, D6, D7, B4 }
+
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN F0
+#define RGBLED_NUM 77
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 180
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z67/hotswap/hotswap.c b/keyboards/quarkeys/z67/hotswap/hotswap.c
new file mode 100644
index 000000000000..b45286e8ba72
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/hotswap.c
@@ -0,0 +1,15 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include "hotswap.h"
diff --git a/keyboards/quarkeys/z67/hotswap/hotswap.h b/keyboards/quarkeys/z67/hotswap/hotswap.h
new file mode 100644
index 000000000000..ed5758dc37d9
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/hotswap.h
@@ -0,0 +1,32 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "quantum.h"
+#define XXXX KC_NO
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \
+ K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
+ K400, K401, K403, K406, K410, K411, K412, K413, K414 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213, K214 }, \
+ { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
+ { K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414 } \
+}
+
diff --git a/keyboards/quarkeys/z67/hotswap/info.json b/keyboards/quarkeys/z67/hotswap/info.json
new file mode 100644
index 000000000000..80387d1f921a
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/info.json
@@ -0,0 +1,88 @@
+{
+ "keyboard_name": "Z67 Hotswap",
+ "manufacturer": "Quarkeys Stuidio",
+ "url": "www.quarkeys.com",
+ "maintainer": "TommyZ",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x4102",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "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":"Delete", "x":15, "y":0},
+
+ {"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":"PgUp", "x":15, "y":1},
+
+ {"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":"PgDn", "x":15, "y":2},
+
+ {"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":1.75},
+ {"label":"\u2191", "x":14, "y":3},
+ {"label":"Fn", "x":15, "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, "w":1.25},
+ {"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c b/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c
new file mode 100644
index 000000000000..692d4a64a86b
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,126 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* [0]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspace | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | Enter | PgDn |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | SHIFT | Z | X | C | V | B | N | M | , | . | / | Shift | Up | L1 |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | Ctrl | Win | ALT | SPACE | L2 | L3 | Left | Down | Rght |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ 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_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* [1]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+-------------+------|
+ * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------+------|
+ * | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | |
+ * |---------------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | Ctrl | Win | ALT | 0 | | | | | |
+ * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------'
+ */
+ [1] = LAYOUT(
+ QK_BOOT, 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_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [2]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------+------|
+ * | | | | | | | | | | | | | | |
+ * |---------------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | |
+ * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------'
+ */
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [3]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------+------|
+ * | | | | | | | | | | | | | | |
+ * |---------------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | |
+ * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------'
+ */
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({36, 1, HSV_RED});
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({45, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({30, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer, // Caplock indicator
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+);
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ return state;
+}
+
diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c b/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c
new file mode 100644
index 000000000000..52acf3d3440e
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c
@@ -0,0 +1,74 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ 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_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT(
+ QK_BOOT, 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_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({36, 1, HSV_RED});
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({45, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({30, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer, // Caplock indicator
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+);
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ return state;
+}
+
diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/via/rules.mk b/keyboards/quarkeys/z67/hotswap/keymaps/via/rules.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/quarkeys/z67/hotswap/rules.mk b/keyboards/quarkeys/z67/hotswap/rules.mk
new file mode 100644
index 000000000000..b127545c9544
--- /dev/null
+++ b/keyboards/quarkeys/z67/hotswap/rules.mk
@@ -0,0 +1,16 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/quarkeys/z67/readme.md b/keyboards/quarkeys/z67/readme.md
new file mode 100644
index 000000000000..0b8130adfd6b
--- /dev/null
+++ b/keyboards/quarkeys/z67/readme.md
@@ -0,0 +1,20 @@
+# Quarkeys Z67 Keyboard
+
+A 65% Gasket keyboard made by Quarkeys, third of our projects.
+
+* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
+* Hardware Supported: Z67-YUN
+* Hardware Specs: Solder version with throught hole for LEDs
+ Hotswap version with per-key RGBs, layer & Capslock indicators
+
+Make example for this keyboard solder version keymap(after setting up your build environment):
+
+ make quarkeys/z67/solder:default
+
+Flashing example for this keyboard:
+
+ make quarkeys/z67/solder:default:flash
+
+**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
+
+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).
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67/solder/config.h b/keyboards/quarkeys/z67/solder/config.h
new file mode 100644
index 000000000000..455dd426a6d2
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/config.h
@@ -0,0 +1,46 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "config_common.h"
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
+#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, E6, D0, D1, D2, D3, D4, D5, D6, D7, B5, B4 }
+
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN F0
+#define RGBLED_NUM 18
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_LIMIT_VAL 180
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z67/solder/info.json b/keyboards/quarkeys/z67/solder/info.json
new file mode 100644
index 000000000000..abafbf6f2b83
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/info.json
@@ -0,0 +1,92 @@
+{
+ "keyboard_name": "Z67 Solder",
+ "manufacturer": "Quarkeys Stuidio",
+ "url": "www.quarkeys.com",
+ "maintainer": "TommyZ",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x4101",
+ "device_version": "0.0.1"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "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":"Back", "x":13, "y":0},
+ {"label":"~", "x":14, "y":0},
+ {"label":"Delete", "x":15, "y":0},
+
+ {"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":"PgUp", "x":15, "y":1},
+
+ {"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":"~", "x":12.75, "y":2},
+ {"label":"Enter", "x":13.75, "y":2, "w":1.25},
+ {"label":"PgDn", "x":15, "y":2},
+
+ {"label":"Shift", "x":0, "y":3, "w":1.25},
+ {"label":"|", "x":1.25, "y":3},
+ {"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":1.75},
+ {"label":"\u2191", "x":14, "y":3},
+ {"label":"Fn", "x":15, "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":"Win", "x":11, "y":4},
+ {"label":"Ctrl", "x":12, "y":4},
+ {"label":"\u2190", "x":13, "y":4},
+ {"label":"\u2193", "x":14, "y":4},
+ {"label":"\u2192", "x":15, "y":4}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c b/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c
new file mode 100644
index 000000000000..ae9eb8fb34df
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c
@@ -0,0 +1,99 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* [0]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter | PgDn |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | Up |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | Ctrl | Win | ALT | SPACE | ALT | Win | Ctrl | Left | Down | Rght |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, KC_DEL,
+ 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_PGUP,
+ 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_GRV, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* [1]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | 0 | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [1] = LAYOUT(
+ QK_BOOT, 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_BSPC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [2]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ /* [3]
+ * ,---------------------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | | | |
+ * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
+ * | | | | | | | | | | | | | | | |
+ * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
+ * | | | | | | | | | | |
+ * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
+ */
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
diff --git a/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c b/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c
new file mode 100644
index 000000000000..e23253ab4ef8
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, KC_DEL,
+ 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_PGUP,
+ 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_GRV, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT(
+ QK_BOOT, 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_BSPC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+};
+
diff --git a/keyboards/quarkeys/z67/solder/keymaps/via/rules.mk b/keyboards/quarkeys/z67/solder/keymaps/via/rules.mk
new file mode 100644
index 000000000000..036bd6d1c3ec
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/quarkeys/z67/solder/rules.mk b/keyboards/quarkeys/z67/solder/rules.mk
new file mode 100644
index 000000000000..194888a8d5fa
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/rules.mk
@@ -0,0 +1,16 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
diff --git a/keyboards/quarkeys/z67/solder/solder.c b/keyboards/quarkeys/z67/solder/solder.c
new file mode 100644
index 000000000000..1aacc5168eb2
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/solder.c
@@ -0,0 +1,15 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include "solder.h"
diff --git a/keyboards/quarkeys/z67/solder/solder.h b/keyboards/quarkeys/z67/solder/solder.h
new file mode 100644
index 000000000000..2a72b547c102
--- /dev/null
+++ b/keyboards/quarkeys/z67/solder/solder.h
@@ -0,0 +1,31 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "quantum.h"
+#define XXXX KC_NO
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, K315, \
+ K400, K401, K402, K407, K408, K409, K411, K412, K413, K415 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, XXXX, K114, K115 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, XXXX, K215 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, XXXX, K314, K315 }, \
+ { K400, K401, K402, XXXX, XXXX, XXXX, XXXX, K407, K408, K409, XXXX, K411, K412, K413, XXXX, K415 } \
+}
From 37ccf103e1b8e7550aed9909c4838f12537c13fc Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 1 Jan 2023 14:28:24 +0800
Subject: [PATCH 16/51] Update readme.md
---
keyboards/quarkeys/z67/readme.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/quarkeys/z67/readme.md b/keyboards/quarkeys/z67/readme.md
index 0b8130adfd6b..07cb011a41ca 100644
--- a/keyboards/quarkeys/z67/readme.md
+++ b/keyboards/quarkeys/z67/readme.md
@@ -1,6 +1,6 @@
# Quarkeys Z67 Keyboard
-A 65% Gasket keyboard made by Quarkeys, third of our projects.
+A 65% Gasket keyboard made by Quarkeys Studio, third of our projects.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z67-YUN
@@ -17,4 +17,4 @@ Flashing example for this keyboard:
**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
-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).
\ No newline at end of file
+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).
From 143ddcdf5ce7b58f517c481766d1480b1afcb365 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 2 Jan 2023 00:32:05 +0800
Subject: [PATCH 17/51] Update keyboards/quarkeys/z67/hotswap/rules.mk
Co-authored-by: Drashna Jaelre
---
keyboards/quarkeys/z67/hotswap/rules.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/quarkeys/z67/hotswap/rules.mk b/keyboards/quarkeys/z67/hotswap/rules.mk
index b127545c9544..9fa040089e71 100644
--- a/keyboards/quarkeys/z67/hotswap/rules.mk
+++ b/keyboards/quarkeys/z67/hotswap/rules.mk
@@ -10,7 +10,7 @@ EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
From efa87055b9cd2910d7028d7a12084ca658eb338f Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 2 Jan 2023 00:32:17 +0800
Subject: [PATCH 18/51] Update keyboards/quarkeys/z67/hotswap/rules.mk
Co-authored-by: Drashna Jaelre
---
keyboards/quarkeys/z67/hotswap/rules.mk | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/keyboards/quarkeys/z67/hotswap/rules.mk b/keyboards/quarkeys/z67/hotswap/rules.mk
index 9fa040089e71..15fc0748a124 100644
--- a/keyboards/quarkeys/z67/hotswap/rules.mk
+++ b/keyboards/quarkeys/z67/hotswap/rules.mk
@@ -4,12 +4,11 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
From aa622cd230b6f1c70c46c28bb222cd87649cd454 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 2 Jan 2023 00:32:25 +0800
Subject: [PATCH 19/51] Update keyboards/quarkeys/z67/solder/rules.mk
Co-authored-by: Drashna Jaelre
---
keyboards/quarkeys/z67/solder/rules.mk | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/keyboards/quarkeys/z67/solder/rules.mk b/keyboards/quarkeys/z67/solder/rules.mk
index 194888a8d5fa..b412973a8b9a 100644
--- a/keyboards/quarkeys/z67/solder/rules.mk
+++ b/keyboards/quarkeys/z67/solder/rules.mk
@@ -4,13 +4,12 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes
AUDIO_ENABLE = no
From 9e9cf4e0277429140623e17d182777973cdd3c3b Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 2 Jan 2023 00:45:49 +0800
Subject: [PATCH 20/51] [Keymap] keymap updated with empty layouts deleted
---
.../z67/hotswap/keymaps/default/keymap.c | 43 +-----------------
.../quarkeys/z67/hotswap/keymaps/via/keymap.c | 17 +------
.../z67/solder/keymaps/default/keymap.c | 44 +------------------
.../quarkeys/z67/solder/keymaps/via/keymap.c | 18 +-------
4 files changed, 4 insertions(+), 118 deletions(-)
diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c b/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c
index 692d4a64a86b..7427419403a2 100644
--- a/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c
+++ b/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c
@@ -53,48 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------+------|
- * | | | | | | | | | | | | | | |
- * |---------------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | |
- * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------'
- */
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+--------------+------|
- * | | | | | | | | | | | | | | |
- * |---------------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | |
- * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------'
- */
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({36, 1, HSV_RED});
diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c b/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c
index 52acf3d3440e..9adb5341ef31 100644
--- a/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c
+++ b/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c
@@ -27,22 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({36, 1, HSV_RED});
diff --git a/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c b/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c
index ae9eb8fb34df..e2c1fbb9fc15 100644
--- a/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c
+++ b/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c
@@ -53,47 +53,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | | |
- * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------|
- * | | | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+------+------+-------+------|
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------|
- * | | | | | | | | | | |
- * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------'
- */
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
-
diff --git a/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c b/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c
index e23253ab4ef8..b10070ecd9b6 100644
--- a/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c
+++ b/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c
@@ -27,21 +27,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS,
KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
-
From 32861e7bd6cf395b415446c0ba004a80c85d33f4 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Wed, 4 Jan 2023 13:30:28 +0800
Subject: [PATCH 21/51] Update keyboards/quarkeys/z67/hotswap/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/hotswap/rules.mk | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/keyboards/quarkeys/z67/hotswap/rules.mk b/keyboards/quarkeys/z67/hotswap/rules.mk
index 15fc0748a124..85eec9079f3f 100644
--- a/keyboards/quarkeys/z67/hotswap/rules.mk
+++ b/keyboards/quarkeys/z67/hotswap/rules.mk
@@ -4,12 +4,15 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
From bc2be3e8e4c8ad08f9e61f9ab43cc51dba12689e Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Wed, 4 Jan 2023 13:30:37 +0800
Subject: [PATCH 22/51] Update keyboards/quarkeys/z67/readme.md
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/readme.md | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/keyboards/quarkeys/z67/readme.md b/keyboards/quarkeys/z67/readme.md
index 07cb011a41ca..35273e52fb7e 100644
--- a/keyboards/quarkeys/z67/readme.md
+++ b/keyboards/quarkeys/z67/readme.md
@@ -4,8 +4,7 @@ A 65% Gasket keyboard made by Quarkeys Studio, third of our projects.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z67-YUN
-* Hardware Specs: Solder version with throught hole for LEDs
- Hotswap version with per-key RGBs, layer & Capslock indicators
+* Hardware Specs: Solder version with throught hole for LEDs, hotswap version with per-key RGBs, layer & Capslock indicators
Make example for this keyboard solder version keymap(after setting up your build environment):
From dbcddeaab9064bc64c109439e783a11a729cf9c1 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Wed, 4 Jan 2023 13:30:46 +0800
Subject: [PATCH 23/51] Update keyboards/quarkeys/z67/solder/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/solder/rules.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/quarkeys/z67/solder/rules.mk b/keyboards/quarkeys/z67/solder/rules.mk
index b412973a8b9a..aea54d58105b 100644
--- a/keyboards/quarkeys/z67/solder/rules.mk
+++ b/keyboards/quarkeys/z67/solder/rules.mk
@@ -11,5 +11,5 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
From ed52bcada651a31e8f88d3ee2b436d79641aa19e Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Wed, 4 Jan 2023 13:30:54 +0800
Subject: [PATCH 24/51] Update keyboards/quarkeys/z67/solder/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/solder/rules.mk | 3 +++
1 file changed, 3 insertions(+)
diff --git a/keyboards/quarkeys/z67/solder/rules.mk b/keyboards/quarkeys/z67/solder/rules.mk
index aea54d58105b..41496e4db37e 100644
--- a/keyboards/quarkeys/z67/solder/rules.mk
+++ b/keyboards/quarkeys/z67/solder/rules.mk
@@ -4,6 +4,9 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
+# Build Options
+# change yes to no to disable
+#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
From 393544ae5507ea836ec1440bdfb5c2427d13f679 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 15 Jan 2023 14:03:27 +0800
Subject: [PATCH 25/51] Update keyboards/quarkeys/z67/hotswap/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/hotswap/config.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/quarkeys/z67/hotswap/config.h b/keyboards/quarkeys/z67/hotswap/config.h
index 328972ced922..c6edde3abf71 100644
--- a/keyboards/quarkeys/z67/hotswap/config.h
+++ b/keyboards/quarkeys/z67/hotswap/config.h
@@ -15,8 +15,6 @@
#pragma once
#include "config_common.h"
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
From 54832231b1e29fed591f14bc92076e7bd08f0ca6 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 15 Jan 2023 14:03:41 +0800
Subject: [PATCH 26/51] Update keyboards/quarkeys/z67/solder/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/solder/rules.mk | 6 ------
1 file changed, 6 deletions(-)
diff --git a/keyboards/quarkeys/z67/solder/rules.mk b/keyboards/quarkeys/z67/solder/rules.mk
index 41496e4db37e..f4e87458b0d9 100644
--- a/keyboards/quarkeys/z67/solder/rules.mk
+++ b/keyboards/quarkeys/z67/solder/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
From e6a3c85b675f97d6744aa1265085ae3d1878ee6a Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 15 Jan 2023 14:04:06 +0800
Subject: [PATCH 27/51] Update keyboards/quarkeys/z67/solder/info.json
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/solder/info.json | 2 ++
1 file changed, 2 insertions(+)
diff --git a/keyboards/quarkeys/z67/solder/info.json b/keyboards/quarkeys/z67/solder/info.json
index abafbf6f2b83..af8c81f9d2c5 100644
--- a/keyboards/quarkeys/z67/solder/info.json
+++ b/keyboards/quarkeys/z67/solder/info.json
@@ -8,6 +8,8 @@
"pid": "0x4101",
"device_version": "0.0.1"
},
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
"layouts": {
"LAYOUT": {
"layout": [
From 9e4e13af8011a1e5fcca2d2cada80adea217ba64 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 15 Jan 2023 14:04:20 +0800
Subject: [PATCH 28/51] Update keyboards/quarkeys/z67/hotswap/info.json
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/hotswap/info.json | 2 ++
1 file changed, 2 insertions(+)
diff --git a/keyboards/quarkeys/z67/hotswap/info.json b/keyboards/quarkeys/z67/hotswap/info.json
index 80387d1f921a..c31a37325d57 100644
--- a/keyboards/quarkeys/z67/hotswap/info.json
+++ b/keyboards/quarkeys/z67/hotswap/info.json
@@ -8,6 +8,8 @@
"pid": "0x4102",
"device_version": "0.0.1"
},
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
"layouts": {
"LAYOUT": {
"layout": [
From 1e887946e2ec3322c35c09f94c32698be90ebc27 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 15 Jan 2023 14:04:29 +0800
Subject: [PATCH 29/51] Update keyboards/quarkeys/z67/solder/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/solder/config.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/quarkeys/z67/solder/config.h b/keyboards/quarkeys/z67/solder/config.h
index 455dd426a6d2..55815364fc9a 100644
--- a/keyboards/quarkeys/z67/solder/config.h
+++ b/keyboards/quarkeys/z67/solder/config.h
@@ -15,8 +15,6 @@
#pragma once
#include "config_common.h"
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 }
From 5c48a1f2349fe00016517ea1302ffa815a44832c Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 15 Jan 2023 14:04:41 +0800
Subject: [PATCH 30/51] Update keyboards/quarkeys/z67/hotswap/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z67/hotswap/rules.mk | 6 ------
1 file changed, 6 deletions(-)
diff --git a/keyboards/quarkeys/z67/hotswap/rules.mk b/keyboards/quarkeys/z67/hotswap/rules.mk
index 85eec9079f3f..b851d0ab392d 100644
--- a/keyboards/quarkeys/z67/hotswap/rules.mk
+++ b/keyboards/quarkeys/z67/hotswap/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
# Build Options
# change yes to no to disable
#
From 611087d24fc35c08624eb1be635d3f5a3024aaa6 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Fri, 3 Feb 2023 14:16:20 +0800
Subject: [PATCH 31/51] [Keyboard] Add Quarkeys Z40 keyboard
with RGBlight(rgblgt folder) & RGB Matrix(rgbmtix folder) lighting versions
---
keyboards/quarkeys/z40/readme.md | 20 ++++
keyboards/quarkeys/z40/rgblgt/config.h | 46 ++++++++
keyboards/quarkeys/z40/rgblgt/info.json | 69 ++++++++++++
.../z40/rgblgt/keymaps/default/keymap.c | 101 ++++++++++++++++++
.../quarkeys/z40/rgblgt/keymaps/via/keymap.c | 67 ++++++++++++
.../quarkeys/z40/rgblgt/keymaps/via/rules.mk | 2 +
keyboards/quarkeys/z40/rgblgt/rgblgt.c | 15 +++
keyboards/quarkeys/z40/rgblgt/rgblgt.h | 29 +++++
keyboards/quarkeys/z40/rgblgt/rules.mk | 14 +++
keyboards/quarkeys/z40/rgbmtix/config.h | 60 +++++++++++
keyboards/quarkeys/z40/rgbmtix/info.json | 69 ++++++++++++
.../z40/rgbmtix/keymaps/default/keymap.c | 72 +++++++++++++
.../quarkeys/z40/rgbmtix/keymaps/via/keymap.c | 38 +++++++
.../quarkeys/z40/rgbmtix/keymaps/via/rules.mk | 2 +
keyboards/quarkeys/z40/rgbmtix/rgbmtix.c | 43 ++++++++
keyboards/quarkeys/z40/rgbmtix/rgbmtix.h | 29 +++++
keyboards/quarkeys/z40/rgbmtix/rules.mk | 18 ++++
17 files changed, 694 insertions(+)
create mode 100644 keyboards/quarkeys/z40/readme.md
create mode 100644 keyboards/quarkeys/z40/rgblgt/config.h
create mode 100644 keyboards/quarkeys/z40/rgblgt/info.json
create mode 100644 keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z40/rgblgt/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z40/rgblgt/rgblgt.c
create mode 100644 keyboards/quarkeys/z40/rgblgt/rgblgt.h
create mode 100644 keyboards/quarkeys/z40/rgblgt/rules.mk
create mode 100644 keyboards/quarkeys/z40/rgbmtix/config.h
create mode 100644 keyboards/quarkeys/z40/rgbmtix/info.json
create mode 100644 keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c
create mode 100644 keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c
create mode 100644 keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk
create mode 100644 keyboards/quarkeys/z40/rgbmtix/rgbmtix.c
create mode 100644 keyboards/quarkeys/z40/rgbmtix/rgbmtix.h
create mode 100644 keyboards/quarkeys/z40/rgbmtix/rules.mk
diff --git a/keyboards/quarkeys/z40/readme.md b/keyboards/quarkeys/z40/readme.md
new file mode 100644
index 000000000000..67fd582a9bad
--- /dev/null
+++ b/keyboards/quarkeys/z40/readme.md
@@ -0,0 +1,20 @@
+# Quarkeys Z40 Low Profile Keyboard
+
+A 40% Bottom mount low-profile & MX switch compatible keyboard.
+
+* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
+* Hardware Supported: Z40-ACR, Z40-Pastry
+* Hardware Specs: Per-key RGBs, layer & Capslock indicators
+* rgblgt folder contains firmware with RGB lighting effect; rgbmtix folder contains firmware with RGB matrix lighting effect
+
+Make example for this keyboard solder version keymap(after setting up your build environment):
+
+ make quarkeys/z40/rgblgt:default
+
+Flashing example for this keyboard:
+
+ make quarkeys/z40/rgblgt:default:flash
+
+**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
+
+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).
\ No newline at end of file
diff --git a/keyboards/quarkeys/z40/rgblgt/config.h b/keyboards/quarkeys/z40/rgblgt/config.h
new file mode 100644
index 000000000000..e8c90836c820
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/config.h
@@ -0,0 +1,46 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "config_common.h"
+
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
+
+#define DEBOUNCE 5
+
+#define RGB_DI_PIN F1
+#define RGBLED_NUM 47
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
+#define RGBLIGHT_LIMIT_VAL 130
+#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z40/rgblgt/info.json b/keyboards/quarkeys/z40/rgblgt/info.json
new file mode 100644
index 000000000000..4188b85b8cac
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/info.json
@@ -0,0 +1,69 @@
+{
+ "keyboard_name": "Z40 RGB_Light",
+ "manufacturer": "Quarkeys Stuidio",
+ "url": "www.quarkeys.com",
+ "maintainer": "TommyZ",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x2801",
+ "device_version": "0.0.1"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"Q", "x":1, "y":0},
+ {"label":"W", "x":2, "y":0},
+ {"label":"E", "x":3, "y":0},
+ {"label":"R", "x":4, "y":0},
+ {"label":"T", "x":5, "y":0},
+ {"label":"Y", "x":6, "y":0},
+ {"label":"U", "x":7, "y":0},
+ {"label":"I", "x":8, "y":0},
+ {"label":"O", "x":9, "y":0},
+ {"label":"P", "x":10, "y":0},
+ {"label":"Back", "x":11, "y":0},
+
+ {"label":"Tab", "x":0, "y":1},
+ {"label":"A", "x":1, "y":1},
+ {"label":"S", "x":2, "y":1},
+ {"label":"D", "x":3, "y":1},
+ {"label":"F", "x":4, "y":1},
+ {"label":"G", "x":5, "y":1},
+ {"label":"H", "x":6, "y":1},
+ {"label":"J", "x":7, "y":1},
+ {"label":"K", "x":8, "y":1},
+ {"label":"L", "x":9, "y":1},
+ {"label":":", "x":10, "y":1},
+ {"label":"\"", "x":11, "y":1},
+
+ {"label":"Shift", "x":0, "y":2},
+ {"label":"Z", "x":1, "y":2},
+ {"label":"X", "x":2, "y":2},
+ {"label":"C", "x":3, "y":2},
+ {"label":"V", "x":4, "y":2},
+ {"label":"B", "x":5, "y":2},
+ {"label":"N", "x":6, "y":2},
+ {"label":"M", "x":7, "y":2},
+ {"label":"<", "x":8, "y":2},
+ {"label":">", "x":9, "y":2},
+ {"label":"?", "x":10, "y":2},
+ {"label":"Shift", "x":11, "y":2},
+
+ {"label":"Ctrl", "x":0, "y":3},
+ {"label":"Caps Lock", "x":1, "y":3},
+ {"label":"Alt", "x":2, "y":3},
+ {"label":"Win", "x":3, "y":3},
+ {"label":"L1", "x":4, "y":3},
+ {"x":5, "y":3, "w":2},
+ {"label":"L2", "x":7, "y":3},
+ {"label":"Fn", "x":8, "y":3},
+ {"label":"M3", "x":9, "y":3},
+ {"label":"M4", "x":10, "y":3},
+ {"label":"Enter", "x":11, "y":3}
+ ]
+ }
+ }
+ }
\ No newline at end of file
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c b/keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c
new file mode 100644
index 000000000000..206d980eb164
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c
@@ -0,0 +1,101 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include QMK_KEYBOARD_H
+#define _______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* [0]
+ * ,-------------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | BS |
+ * |------------+------+------+------+------+-------------+------+------+------+------+--|
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------------+------+------+------+------+------|------+------+------+------+------+--|
+ * | SHIFT | Z | X | C | V | B | N | M | , | . | / | Shift |
+ * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+--|
+ * | Ctrl | Caps | ALT | OS | Ly1 | SPACE | Ly2 | M1 | M2 | M3 | Enter |
+ * `-------------------------------------------------------------------------------------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, 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_RSFT,
+ KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
+ ),
+
+ /* [1]
+ * ,-------------------------------------------------------------------------------------.
+ * | Reset | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RGBtg | BS |
+ * |-------+------+------+------+------+------+------+------+------+------+-------+------|
+ * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RGBmod| |
+ * |-------+------+------+------+------+------+------+------+------+------+-------+------|
+ * | | Vol- | Vol+ | Play | Mute | * | / | 1 | 2 | 3 | / | |
+ * |-------+------+------+------+------+------+------+------+------+------+-------+------|
+ * | | | | | | 0 | | | . | | = |
+ * `-------+------+------+------+------+-------------+------+------+------+-------+------'
+ */
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
+ _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
+ RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
+ ),
+
+ /* [2]
+ * ,-------------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+----+--+-------|
+ * | | & | | | ( | ) | | | { | } | [ | ] | |
+ * |------+------+------+------+------+------+------+------+------+------+-------+-------|
+ * | | ! | @ | # | ^ | | | ~ | < | > | ? | |
+ * |------+------+------+------+------+------+------+------+------+------+-------+-------|
+ * | | | | | | | | | | | |
+ * `-------------------------------------------------------------------------------------'
+ */
+ [2] = LAYOUT(
+ 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer, // Caplock indicator
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ return state;
+}
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c b/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
new file mode 100644
index 000000000000..1c0cb78057bf
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
@@ -0,0 +1,67 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include QMK_KEYBOARD_H
+#define _______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, 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_RSFT,
+ KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
+ ),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
+ _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
+ RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
+ ),
+
+ [2] = LAYOUT(
+ 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
+const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
+const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});
+
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_capslock_layer, // Caplock indicator
+ my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
+ my_symbol_layer, // F1-F12 keys & Symbols
+ my_other_layer // Self-Defined
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+}
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, 1));
+ rgblight_set_layer_state(2, layer_state_cmp(state, 2));
+ rgblight_set_layer_state(3, layer_state_cmp(state, 3));
+ return state;
+}
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/via/rules.mk b/keyboards/quarkeys/z40/rgblgt/keymaps/via/rules.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/quarkeys/z40/rgblgt/rgblgt.c b/keyboards/quarkeys/z40/rgblgt/rgblgt.c
new file mode 100644
index 000000000000..5a058a8a3e6d
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/rgblgt.c
@@ -0,0 +1,15 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include "rgblgt.h"
diff --git a/keyboards/quarkeys/z40/rgblgt/rgblgt.h b/keyboards/quarkeys/z40/rgblgt/rgblgt.h
new file mode 100644
index 000000000000..9a599d9cd133
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/rgblgt.h
@@ -0,0 +1,29 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "quantum.h"
+#define XXX KC_NO
+
+#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, k35, k36, k37, k38, k39, k3A \
+) { \
+ { 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, XXX, k36, k37, k38, k39, k3A }\
+}
diff --git a/keyboards/quarkeys/z40/rgblgt/rules.mk b/keyboards/quarkeys/z40/rgblgt/rules.mk
new file mode 100644
index 000000000000..a11c49f6a0fd
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgblgt/rules.mk
@@ -0,0 +1,14 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/quarkeys/z40/rgbmtix/config.h b/keyboards/quarkeys/z40/rgbmtix/config.h
new file mode 100644
index 000000000000..934ffed4d2fd
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/config.h
@@ -0,0 +1,60 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "config_common.h"
+
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
+#define DIODE_DIRECTION COL2ROW
+
+#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
+#define RGB_DI_PIN F1
+
+#define DEBOUNCE 5
+
+#define RGB_MATRIX_LED_COUNT 47
+#define DRIVER_LED_TOTAL RGBLED_NUM
+#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
+#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+#define RGB_MATRIX_HUE_STEP 8
+#define RGB_MATRIX_SAT_STEP 8
+#define RGB_MATRIX_VAL_STEP 8
+#define RGB_MATRIX_SPD_STEP 10
+
+// RGB_MATRIX effects
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS //Enables RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_BREATHING //Enables RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN //Enables RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON //Enables RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN //Enables RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL //Enables RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL //Enables RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL //Enables RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON //Enables RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON //Enables RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS //Enables RGB_MATRIX_RAINBOW_PINWHEELS
+
+// RGB_MATRIX reactive effects
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
+#define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
diff --git a/keyboards/quarkeys/z40/rgbmtix/info.json b/keyboards/quarkeys/z40/rgbmtix/info.json
new file mode 100644
index 000000000000..2466f559d2f7
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/info.json
@@ -0,0 +1,69 @@
+{
+ "keyboard_name": "Z40 RGB Matrix",
+ "manufacturer": "Quarkeys Stuidio",
+ "url": "www.quarkeys.com",
+ "maintainer": "TommyZ",
+ "usb": {
+ "vid": "0x8490",
+ "pid": "0x2801",
+ "device_version": "0.0.1"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"Q", "x":1, "y":0},
+ {"label":"W", "x":2, "y":0},
+ {"label":"E", "x":3, "y":0},
+ {"label":"R", "x":4, "y":0},
+ {"label":"T", "x":5, "y":0},
+ {"label":"Y", "x":6, "y":0},
+ {"label":"U", "x":7, "y":0},
+ {"label":"I", "x":8, "y":0},
+ {"label":"O", "x":9, "y":0},
+ {"label":"P", "x":10, "y":0},
+ {"label":"Back", "x":11, "y":0},
+
+ {"label":"Tab", "x":0, "y":1},
+ {"label":"A", "x":1, "y":1},
+ {"label":"S", "x":2, "y":1},
+ {"label":"D", "x":3, "y":1},
+ {"label":"F", "x":4, "y":1},
+ {"label":"G", "x":5, "y":1},
+ {"label":"H", "x":6, "y":1},
+ {"label":"J", "x":7, "y":1},
+ {"label":"K", "x":8, "y":1},
+ {"label":"L", "x":9, "y":1},
+ {"label":":", "x":10, "y":1},
+ {"label":"\"", "x":11, "y":1},
+
+ {"label":"Shift", "x":0, "y":2},
+ {"label":"Z", "x":1, "y":2},
+ {"label":"X", "x":2, "y":2},
+ {"label":"C", "x":3, "y":2},
+ {"label":"V", "x":4, "y":2},
+ {"label":"B", "x":5, "y":2},
+ {"label":"N", "x":6, "y":2},
+ {"label":"M", "x":7, "y":2},
+ {"label":"<", "x":8, "y":2},
+ {"label":">", "x":9, "y":2},
+ {"label":"?", "x":10, "y":2},
+ {"label":"Shift", "x":11, "y":2},
+
+ {"label":"Ctrl", "x":0, "y":3},
+ {"label":"Caps Lock", "x":1, "y":3},
+ {"label":"Alt", "x":2, "y":3},
+ {"label":"Win", "x":3, "y":3},
+ {"label":"L1", "x":4, "y":3},
+ {"x":5, "y":3, "w":2},
+ {"label":"L2", "x":7, "y":3},
+ {"label":"Fn", "x":8, "y":3},
+ {"label":"M3", "x":9, "y":3},
+ {"label":"M4", "x":10, "y":3},
+ {"label":"Enter", "x":11, "y":3}
+ ]
+ }
+ }
+ }
\ No newline at end of file
diff --git a/keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c b/keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c
new file mode 100644
index 000000000000..750c28cfa54b
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* [0]
+ * ,-------------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | BS |
+ * |------------+------+------+------+------+-------------+------+------+------+------+--|
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------------+------+------+------+------+------|------+------+------+------+------+--|
+ * | SHIFT | Z | X | C | V | B | N | M | , | . | / | Shift |
+ * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+--|
+ * | Ctrl | Caps | ALT | OS | Ly1 | SPACE | Ly2 | M1 | M2 | M3 | Enter |
+ * `-------------------------------------------------------------------------------------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, 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_RSFT,
+ KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
+ ),
+
+ /* [1]
+ * ,-------------------------------------------------------------------------------------.
+ * | Reset | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RGBtg | BS |
+ * |-------+------+------+------+------+------+------+------+------+------+-------+------|
+ * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RGBmod| |
+ * |-------+------+------+------+------+------+------+------+------+------+-------+------|
+ * | | Vol- | Vol+ | Play | Mute | * | / | 1 | 2 | 3 | / | |
+ * |-------+------+------+------+------+------+------+------+------+------+-------+------|
+ * | | | | | | 0 | | | . | | = |
+ * `-------+------+------+------+------+-------------+------+------+------+-------+------'
+ */
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
+ _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
+ RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
+ ),
+
+ /* [2]
+ * ,-------------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+----+--+-------|
+ * | | & | | | ( | ) | | | { | } | [ | ] | |
+ * |------+------+------+------+------+------+------+------+------+------+-------+-------|
+ * | | ! | @ | # | ^ | | | ~ | < | > | ? | |
+ * |------+------+------+------+------+------+------+------+------+------+-------+-------|
+ * | | | | | | | | | | | |
+ * `-------------------------------------------------------------------------------------'
+ */
+ [2] = LAYOUT(
+ 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c b/keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c
new file mode 100644
index 000000000000..7e89890b5a12
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c
@@ -0,0 +1,38 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, 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_RSFT,
+ KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
+ ),
+
+ [1] = LAYOUT(
+ QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
+ _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
+ RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
+ ),
+
+ [2] = LAYOUT(
+ 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk b/keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk
new file mode 100644
index 000000000000..36b7ba9cbc98
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/quarkeys/z40/rgbmtix/rgbmtix.c b/keyboards/quarkeys/z40/rgbmtix/rgbmtix.c
new file mode 100644
index 000000000000..470443d46202
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/rgbmtix.c
@@ -0,0 +1,43 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+
+#include "rgbmtix.h"
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ /*
+ { 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, XXX, k36, k37, k38, k39, k3A }\
+ */
+ { 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35 },
+ { 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23 },
+ { 22, 21, 20, 29, 18, 17, 16, 15, 14, 13, 12, 11 },
+ { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }
+ },
+ { // Index to Physical Position
+ {225, 64}, {200, 64}, {180, 64}, {160, 64}, {140, 64}, {110, 64}, { 80, 64}, { 60, 64}, { 40, 64}, { 20, 64}, { 0, 64},
+ {225, 42}, {200, 42}, {180, 42}, {160, 42}, {140, 42}, {120, 42}, {100, 42}, { 80, 42}, { 60, 42}, { 40, 42}, { 20, 42}, { 0, 42},
+ {225, 21}, {200, 21}, {180, 21}, {160, 21}, {140, 21}, {120, 21}, {100, 21}, { 80, 21}, { 60, 21}, { 40, 21}, { 20, 21}, { 0, 21},
+ {225, 0}, {200, 0}, {180, 0}, {160, 0}, {140, 0}, {120, 0}, {100, 0}, { 80, 0}, { 60, 0}, { 40, 0}, { 20, 0}, { 0, 0}
+ },
+ {
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
+ }
+};
diff --git a/keyboards/quarkeys/z40/rgbmtix/rgbmtix.h b/keyboards/quarkeys/z40/rgbmtix/rgbmtix.h
new file mode 100644
index 000000000000..9a599d9cd133
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/rgbmtix.h
@@ -0,0 +1,29 @@
+/*
+/ Copyright 2022 quarkeys
+/ 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 .
+*/
+
+#pragma once
+#include "quantum.h"
+#define XXX KC_NO
+
+#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, k35, k36, k37, k38, k39, k3A \
+) { \
+ { 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, XXX, k36, k37, k38, k39, k3A }\
+}
diff --git a/keyboards/quarkeys/z40/rgbmtix/rules.mk b/keyboards/quarkeys/z40/rgbmtix/rules.mk
new file mode 100644
index 000000000000..b613dfbeb5d3
--- /dev/null
+++ b/keyboards/quarkeys/z40/rgbmtix/rules.mk
@@ -0,0 +1,18 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+
+# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
From 35fff335f46ccb7907fe1fe6b626243b92feb35f Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:11:56 +0800
Subject: [PATCH 32/51] Update keyboards/quarkeys/z40/rgblgt/config.h
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z40/rgblgt/config.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/config.h b/keyboards/quarkeys/z40/rgblgt/config.h
index e8c90836c820..ec9a81274dc8 100644
--- a/keyboards/quarkeys/z40/rgblgt/config.h
+++ b/keyboards/quarkeys/z40/rgblgt/config.h
@@ -13,10 +13,6 @@
*/
#pragma once
-#include "config_common.h"
-
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
From e6ce136f2a67726f072777c7f6058243fc42cf6a Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:12:09 +0800
Subject: [PATCH 33/51] Update
keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c b/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
index 1c0cb78057bf..b1acf5078805 100644
--- a/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
+++ b/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
@@ -13,7 +13,6 @@
*/
#include QMK_KEYBOARD_H
-#define _______ KC_TRNS
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
From 58fffb12a0fcaeb6b4df8a3db310efda860881da Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:12:19 +0800
Subject: [PATCH 34/51] Update keyboards/quarkeys/z40/rgbmtix/config.h
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z40/rgbmtix/config.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/keyboards/quarkeys/z40/rgbmtix/config.h b/keyboards/quarkeys/z40/rgbmtix/config.h
index 934ffed4d2fd..82156e6ef87d 100644
--- a/keyboards/quarkeys/z40/rgbmtix/config.h
+++ b/keyboards/quarkeys/z40/rgbmtix/config.h
@@ -13,10 +13,6 @@
*/
#pragma once
-#include "config_common.h"
-
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
From b70e25b452342bc0fed46dd2a41eb0b05d1e2253 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:12:33 +0800
Subject: [PATCH 35/51] Update keyboards/quarkeys/z40/rgbmtix/config.h
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z40/rgbmtix/config.h | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/keyboards/quarkeys/z40/rgbmtix/config.h b/keyboards/quarkeys/z40/rgbmtix/config.h
index 82156e6ef87d..77bb16eab843 100644
--- a/keyboards/quarkeys/z40/rgbmtix/config.h
+++ b/keyboards/quarkeys/z40/rgbmtix/config.h
@@ -22,14 +22,10 @@
#define DEBOUNCE 5
#define RGB_MATRIX_LED_COUNT 47
-#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_HUE_STEP 8
#define RGB_MATRIX_SAT_STEP 8
#define RGB_MATRIX_VAL_STEP 8
#define RGB_MATRIX_SPD_STEP 10
From 4d68c718409561cd57441074f0375f50a27b232e Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:15:20 +0800
Subject: [PATCH 36/51] Update keyboards/quarkeys/z40/rgblgt/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgblgt/config.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/config.h b/keyboards/quarkeys/z40/rgblgt/config.h
index ec9a81274dc8..fdbafd0dfa7e 100644
--- a/keyboards/quarkeys/z40/rgblgt/config.h
+++ b/keyboards/quarkeys/z40/rgblgt/config.h
@@ -18,8 +18,6 @@
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
-#define DEBOUNCE 5
-
#define RGB_DI_PIN F1
#define RGBLED_NUM 47
#define RGBLIGHT_HUE_STEP 8
From b84729dbfba797dc5978b37dc6a3af372040253b Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:15:34 +0800
Subject: [PATCH 37/51] Update keyboards/quarkeys/z40/rgbmtix/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgbmtix/config.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/quarkeys/z40/rgbmtix/config.h b/keyboards/quarkeys/z40/rgbmtix/config.h
index 77bb16eab843..6a7e11ab320a 100644
--- a/keyboards/quarkeys/z40/rgbmtix/config.h
+++ b/keyboards/quarkeys/z40/rgbmtix/config.h
@@ -19,8 +19,6 @@
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
#define RGB_DI_PIN F1
-#define DEBOUNCE 5
-
#define RGB_MATRIX_LED_COUNT 47
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
From 5fb7253098b6e00e532b252ffb0fde400bc24626 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:25:59 +0800
Subject: [PATCH 38/51] Update keyboards/quarkeys/z40/rgbmtix/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgbmtix/rules.mk | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/keyboards/quarkeys/z40/rgbmtix/rules.mk b/keyboards/quarkeys/z40/rgbmtix/rules.mk
index b613dfbeb5d3..a6678d5c55e5 100644
--- a/keyboards/quarkeys/z40/rgbmtix/rules.mk
+++ b/keyboards/quarkeys/z40/rgbmtix/rules.mk
@@ -1,16 +1,14 @@
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
From b22c33265e80c6b749fdf838a49ff97a3d7101c4 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:26:20 +0800
Subject: [PATCH 39/51] Update keyboards/quarkeys/z40/rgblgt/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgblgt/rules.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/rules.mk b/keyboards/quarkeys/z40/rgblgt/rules.mk
index a11c49f6a0fd..66d190271063 100644
--- a/keyboards/quarkeys/z40/rgblgt/rules.mk
+++ b/keyboards/quarkeys/z40/rgblgt/rules.mk
@@ -7,7 +7,7 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
From c149bf00b6884f18c1fd8ae7d400863cd1593895 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:26:41 +0800
Subject: [PATCH 40/51] Update keyboards/quarkeys/z40/rgblgt/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgblgt/rules.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/rules.mk b/keyboards/quarkeys/z40/rgblgt/rules.mk
index 66d190271063..38fdbd323919 100644
--- a/keyboards/quarkeys/z40/rgblgt/rules.mk
+++ b/keyboards/quarkeys/z40/rgblgt/rules.mk
@@ -1,7 +1,7 @@
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
From 4173b621df179cdb1e17d824e9de9ff875326f28 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:26:55 +0800
Subject: [PATCH 41/51] Update keyboards/quarkeys/z40/rgblgt/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgblgt/rules.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/rules.mk b/keyboards/quarkeys/z40/rgblgt/rules.mk
index 38fdbd323919..2b4e6bae07a1 100644
--- a/keyboards/quarkeys/z40/rgblgt/rules.mk
+++ b/keyboards/quarkeys/z40/rgblgt/rules.mk
@@ -6,7 +6,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
From 186a4d81364d881bb0d8fac9ed2e2394c44beb13 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 5 Feb 2023 13:27:08 +0800
Subject: [PATCH 42/51] Update keyboards/quarkeys/z40/rgblgt/rules.mk
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/rgblgt/rules.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/rgblgt/rules.mk b/keyboards/quarkeys/z40/rgblgt/rules.mk
index 2b4e6bae07a1..3179af47fe09 100644
--- a/keyboards/quarkeys/z40/rgblgt/rules.mk
+++ b/keyboards/quarkeys/z40/rgblgt/rules.mk
@@ -9,5 +9,4 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
From 8407d534164b74fe99dd5245217344a685af4433 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 6 Feb 2023 11:23:59 +0800
Subject: [PATCH 43/51] z40 update
---
keyboards/quarkeys/z40/{rgbmtix => }/config.h | 40 ++++++++---
keyboards/quarkeys/z40/{rgblgt => }/info.json | 2 +-
.../z40/{rgblgt => }/keymaps/default/keymap.c | 5 +-
.../z40/{rgblgt => }/keymaps/via/keymap.c | 5 +-
.../z40/{rgblgt => }/keymaps/via/rules.mk | 0
keyboards/quarkeys/z40/readme.md | 7 +-
keyboards/quarkeys/z40/rgblgt/config.h | 46 ------------
keyboards/quarkeys/z40/rgblgt/rgblgt.c | 15 ----
keyboards/quarkeys/z40/rgblgt/rules.mk | 14 ----
keyboards/quarkeys/z40/rgbmtix/info.json | 69 ------------------
.../z40/rgbmtix/keymaps/default/keymap.c | 72 -------------------
.../quarkeys/z40/rgbmtix/keymaps/via/keymap.c | 38 ----------
.../quarkeys/z40/rgbmtix/keymaps/via/rules.mk | 2 -
keyboards/quarkeys/z40/rgbmtix/rgbmtix.h | 29 --------
keyboards/quarkeys/z40/{rgbmtix => }/rules.mk | 13 ++--
.../quarkeys/z40/{rgbmtix/rgbmtix.c => z40.c} | 5 +-
.../quarkeys/z40/{rgblgt/rgblgt.h => z40.h} | 0
17 files changed, 50 insertions(+), 312 deletions(-)
rename keyboards/quarkeys/z40/{rgbmtix => }/config.h (73%)
rename keyboards/quarkeys/z40/{rgblgt => }/info.json (98%)
rename keyboards/quarkeys/z40/{rgblgt => }/keymaps/default/keymap.c (99%)
rename keyboards/quarkeys/z40/{rgblgt => }/keymaps/via/keymap.c (99%)
rename keyboards/quarkeys/z40/{rgblgt => }/keymaps/via/rules.mk (100%)
delete mode 100644 keyboards/quarkeys/z40/rgblgt/config.h
delete mode 100644 keyboards/quarkeys/z40/rgblgt/rgblgt.c
delete mode 100644 keyboards/quarkeys/z40/rgblgt/rules.mk
delete mode 100644 keyboards/quarkeys/z40/rgbmtix/info.json
delete mode 100644 keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c
delete mode 100644 keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c
delete mode 100644 keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk
delete mode 100644 keyboards/quarkeys/z40/rgbmtix/rgbmtix.h
rename keyboards/quarkeys/z40/{rgbmtix => }/rules.mk (54%)
rename keyboards/quarkeys/z40/{rgbmtix/rgbmtix.c => z40.c} (97%)
rename keyboards/quarkeys/z40/{rgblgt/rgblgt.h => z40.h} (100%)
diff --git a/keyboards/quarkeys/z40/rgbmtix/config.h b/keyboards/quarkeys/z40/config.h
similarity index 73%
rename from keyboards/quarkeys/z40/rgbmtix/config.h
rename to keyboards/quarkeys/z40/config.h
index 934ffed4d2fd..a8837bd2cf6d 100644
--- a/keyboards/quarkeys/z40/rgbmtix/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -22,18 +22,14 @@
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
#define RGB_DI_PIN F1
+#define MYLED_COUNT 47
-#define DEBOUNCE 5
-
-#define RGB_MATRIX_LED_COUNT 47
-#define DRIVER_LED_TOTAL RGBLED_NUM
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+#ifdef RGB_MATRIX_ENABLE
+#define RGB_MATRIX_LED_COUNT MYLED_COUNT
+#define RGB_MATRIX_KEYPRESSES // Reacts to Keypresses
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-#define RGB_MATRIX_HUE_STEP 8
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_SAT_STEP 8
#define RGB_MATRIX_VAL_STEP 8
#define RGB_MATRIX_SPD_STEP 10
@@ -58,3 +54,27 @@
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+#define RGB_DI_PIN F1
+#define RGBLED_NUM MYLED_COUNT
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
+#define RGBLIGHT_LIMIT_VAL 130
+#define RGBLIGHT_SLEEP
+#endif
\ No newline at end of file
diff --git a/keyboards/quarkeys/z40/rgblgt/info.json b/keyboards/quarkeys/z40/info.json
similarity index 98%
rename from keyboards/quarkeys/z40/rgblgt/info.json
rename to keyboards/quarkeys/z40/info.json
index 4188b85b8cac..7c15b6e5e096 100644
--- a/keyboards/quarkeys/z40/rgblgt/info.json
+++ b/keyboards/quarkeys/z40/info.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "Z40 RGB_Light",
+ "keyboard_name": "Z40 Ortho",
"manufacturer": "Quarkeys Stuidio",
"url": "www.quarkeys.com",
"maintainer": "TommyZ",
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c b/keyboards/quarkeys/z40/keymaps/default/keymap.c
similarity index 99%
rename from keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c
rename to keyboards/quarkeys/z40/keymaps/default/keymap.c
index 206d980eb164..e54316ec2968 100644
--- a/keyboards/quarkeys/z40/rgblgt/keymaps/default/keymap.c
+++ b/keyboards/quarkeys/z40/keymaps/default/keymap.c
@@ -13,7 +13,6 @@
*/
#include QMK_KEYBOARD_H
-#define _______ KC_TRNS
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* [0]
@@ -70,8 +69,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
-};
+};
+#ifdef RGBLIGHT_ENABLE
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
@@ -99,3 +99,4 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(3, layer_state_cmp(state, 3));
return state;
}
+#endif
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c b/keyboards/quarkeys/z40/keymaps/via/keymap.c
similarity index 99%
rename from keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
rename to keyboards/quarkeys/z40/keymaps/via/keymap.c
index 1c0cb78057bf..f235747a709c 100644
--- a/keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
+++ b/keyboards/quarkeys/z40/keymaps/via/keymap.c
@@ -13,7 +13,6 @@
*/
#include QMK_KEYBOARD_H
-#define _______ KC_TRNS
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
@@ -36,8 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
-};
+};
+#ifdef RGBLIGHT_ENABLE
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
@@ -65,3 +65,4 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(3, layer_state_cmp(state, 3));
return state;
}
+#endif
diff --git a/keyboards/quarkeys/z40/rgblgt/keymaps/via/rules.mk b/keyboards/quarkeys/z40/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/quarkeys/z40/rgblgt/keymaps/via/rules.mk
rename to keyboards/quarkeys/z40/keymaps/via/rules.mk
diff --git a/keyboards/quarkeys/z40/readme.md b/keyboards/quarkeys/z40/readme.md
index 67fd582a9bad..21b4283be4db 100644
--- a/keyboards/quarkeys/z40/readme.md
+++ b/keyboards/quarkeys/z40/readme.md
@@ -5,15 +5,16 @@ A 40% Bottom mount low-profile & MX switch compatible keyboard.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z40-ACR, Z40-Pastry
* Hardware Specs: Per-key RGBs, layer & Capslock indicators
-* rgblgt folder contains firmware with RGB lighting effect; rgbmtix folder contains firmware with RGB matrix lighting effect
+* For RGB matrix effect, "RGB_MATRIX_ENABLE = yes", "RGB_MATRIX_DRIVER = WS2812", "RGBLIGHT_ENABLE = no";
+* For RGB light effect, "RGB_MATRIX_ENABLE = no", "#RGB_MATRIX_DRIVER = WS2812"(comment out), "RGBLIGHT_ENABLE = yes";
Make example for this keyboard solder version keymap(after setting up your build environment):
- make quarkeys/z40/rgblgt:default
+ make quarkeys/z40:default
Flashing example for this keyboard:
- make quarkeys/z40/rgblgt:default:flash
+ make quarkeys/z40:default:flash
**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.
diff --git a/keyboards/quarkeys/z40/rgblgt/config.h b/keyboards/quarkeys/z40/rgblgt/config.h
deleted file mode 100644
index e8c90836c820..000000000000
--- a/keyboards/quarkeys/z40/rgblgt/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#pragma once
-#include "config_common.h"
-
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-#define DIODE_DIRECTION COL2ROW
-
-#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
-
-#define DEBOUNCE 5
-
-#define RGB_DI_PIN F1
-#define RGBLED_NUM 47
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_LIMIT_VAL 130
-#define RGBLIGHT_SLEEP
diff --git a/keyboards/quarkeys/z40/rgblgt/rgblgt.c b/keyboards/quarkeys/z40/rgblgt/rgblgt.c
deleted file mode 100644
index 5a058a8a3e6d..000000000000
--- a/keyboards/quarkeys/z40/rgblgt/rgblgt.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#include "rgblgt.h"
diff --git a/keyboards/quarkeys/z40/rgblgt/rules.mk b/keyboards/quarkeys/z40/rgblgt/rules.mk
deleted file mode 100644
index a11c49f6a0fd..000000000000
--- a/keyboards/quarkeys/z40/rgblgt/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/quarkeys/z40/rgbmtix/info.json b/keyboards/quarkeys/z40/rgbmtix/info.json
deleted file mode 100644
index 2466f559d2f7..000000000000
--- a/keyboards/quarkeys/z40/rgbmtix/info.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "keyboard_name": "Z40 RGB Matrix",
- "manufacturer": "Quarkeys Stuidio",
- "url": "www.quarkeys.com",
- "maintainer": "TommyZ",
- "usb": {
- "vid": "0x8490",
- "pid": "0x2801",
- "device_version": "0.0.1"
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Back", "x":11, "y":0},
-
- {"label":"Tab", "x":0, "y":1},
- {"label":"A", "x":1, "y":1},
- {"label":"S", "x":2, "y":1},
- {"label":"D", "x":3, "y":1},
- {"label":"F", "x":4, "y":1},
- {"label":"G", "x":5, "y":1},
- {"label":"H", "x":6, "y":1},
- {"label":"J", "x":7, "y":1},
- {"label":"K", "x":8, "y":1},
- {"label":"L", "x":9, "y":1},
- {"label":":", "x":10, "y":1},
- {"label":"\"", "x":11, "y":1},
-
- {"label":"Shift", "x":0, "y":2},
- {"label":"Z", "x":1, "y":2},
- {"label":"X", "x":2, "y":2},
- {"label":"C", "x":3, "y":2},
- {"label":"V", "x":4, "y":2},
- {"label":"B", "x":5, "y":2},
- {"label":"N", "x":6, "y":2},
- {"label":"M", "x":7, "y":2},
- {"label":"<", "x":8, "y":2},
- {"label":">", "x":9, "y":2},
- {"label":"?", "x":10, "y":2},
- {"label":"Shift", "x":11, "y":2},
-
- {"label":"Ctrl", "x":0, "y":3},
- {"label":"Caps Lock", "x":1, "y":3},
- {"label":"Alt", "x":2, "y":3},
- {"label":"Win", "x":3, "y":3},
- {"label":"L1", "x":4, "y":3},
- {"x":5, "y":3, "w":2},
- {"label":"L2", "x":7, "y":3},
- {"label":"Fn", "x":8, "y":3},
- {"label":"M3", "x":9, "y":3},
- {"label":"M4", "x":10, "y":3},
- {"label":"Enter", "x":11, "y":3}
- ]
- }
- }
- }
\ No newline at end of file
diff --git a/keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c b/keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c
deleted file mode 100644
index 750c28cfa54b..000000000000
--- a/keyboards/quarkeys/z40/rgbmtix/keymaps/default/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* [0]
- * ,-------------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | BS |
- * |------------+------+------+------+------+-------------+------+------+------+------+--|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+--|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / | Shift |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+--|
- * | Ctrl | Caps | ALT | OS | Ly1 | SPACE | Ly2 | M1 | M2 | M3 | Enter |
- * `-------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, 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_RSFT,
- KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
- ),
-
- /* [1]
- * ,-------------------------------------------------------------------------------------.
- * | Reset | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RGBtg | BS |
- * |-------+------+------+------+------+------+------+------+------+------+-------+------|
- * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RGBmod| |
- * |-------+------+------+------+------+------+------+------+------+------+-------+------|
- * | | Vol- | Vol+ | Play | Mute | * | / | 1 | 2 | 3 | / | |
- * |-------+------+------+------+------+------+------+------+------+------+-------+------|
- * | | | | | | 0 | | | . | | = |
- * `-------+------+------+------+------+-------------+------+------+------+-------+------'
- */
-
- [1] = LAYOUT(
- QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
- _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
- RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
- ),
-
- /* [2]
- * ,-------------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+----+--+-------|
- * | | & | | | ( | ) | | | { | } | [ | ] | |
- * |------+------+------+------+------+------+------+------+------+------+-------+-------|
- * | | ! | @ | # | ^ | | | ~ | < | > | ? | |
- * |------+------+------+------+------+------+------+------+------+------+-------+-------|
- * | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT(
- 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c b/keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c
deleted file mode 100644
index 7e89890b5a12..000000000000
--- a/keyboards/quarkeys/z40/rgbmtix/keymaps/via/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, 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_RSFT,
- KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
- ),
-
- [1] = LAYOUT(
- QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
- _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
- RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
- ),
-
- [2] = LAYOUT(
- 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
- _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk b/keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/quarkeys/z40/rgbmtix/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/quarkeys/z40/rgbmtix/rgbmtix.h b/keyboards/quarkeys/z40/rgbmtix/rgbmtix.h
deleted file mode 100644
index 9a599d9cd133..000000000000
--- a/keyboards/quarkeys/z40/rgbmtix/rgbmtix.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-/ Copyright 2022 quarkeys
-/ 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 .
-*/
-
-#pragma once
-#include "quantum.h"
-#define XXX KC_NO
-
-#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, k35, k36, k37, k38, k39, k3A \
-) { \
- { 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, XXX, k36, k37, k38, k39, k3A }\
-}
diff --git a/keyboards/quarkeys/z40/rgbmtix/rules.mk b/keyboards/quarkeys/z40/rules.mk
similarity index 54%
rename from keyboards/quarkeys/z40/rgbmtix/rules.mk
rename to keyboards/quarkeys/z40/rules.mk
index b613dfbeb5d3..89107d24a865 100644
--- a/keyboards/quarkeys/z40/rgbmtix/rules.mk
+++ b/keyboards/quarkeys/z40/rules.mk
@@ -1,18 +1,17 @@
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
+RGBLIGHT_ENABLE = no # Enable this and unable RGB_MATRIX_ENABLE to use RGB light effect
+
+RGB_MATRIX_ENABLE = yes # Enable this and unable RGBLIGHT_ENABLE to use RGB Matrix effect
+RGB_MATRIX_DRIVER = WS2812 # Comment out this line when RGBLIGHTING is enabled
diff --git a/keyboards/quarkeys/z40/rgbmtix/rgbmtix.c b/keyboards/quarkeys/z40/z40.c
similarity index 97%
rename from keyboards/quarkeys/z40/rgbmtix/rgbmtix.c
rename to keyboards/quarkeys/z40/z40.c
index 470443d46202..9bc188f04fc1 100644
--- a/keyboards/quarkeys/z40/rgbmtix/rgbmtix.c
+++ b/keyboards/quarkeys/z40/z40.c
@@ -13,8 +13,8 @@
*/
-#include "rgbmtix.h"
-
+#include "z40.h"
+#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
// Key Matrix to LED Index
/*
@@ -41,3 +41,4 @@ led_config_t g_led_config = { {
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
}
};
+#endif
diff --git a/keyboards/quarkeys/z40/rgblgt/rgblgt.h b/keyboards/quarkeys/z40/z40.h
similarity index 100%
rename from keyboards/quarkeys/z40/rgblgt/rgblgt.h
rename to keyboards/quarkeys/z40/z40.h
From cff3deccd895df3aafe6417095c92d7efdcb1001 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 6 Feb 2023 17:31:07 +0800
Subject: [PATCH 44/51] Update keyboards/quarkeys/z40/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/config.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index a8837bd2cf6d..5d5b098edebd 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -15,8 +15,6 @@
#pragma once
#include "config_common.h"
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
#define DIODE_DIRECTION COL2ROW
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
From ddaff5bcadc482e7b7251424bea1a43bf25ae724 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 6 Feb 2023 17:31:24 +0800
Subject: [PATCH 45/51] Update keyboards/quarkeys/z40/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/config.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index 5d5b098edebd..3a975d5891cd 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -20,10 +20,8 @@
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
#define RGB_DI_PIN F1
-#define MYLED_COUNT 47
-
#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT MYLED_COUNT
+#define RGB_MATRIX_LED_COUNT 47
#define RGB_MATRIX_KEYPRESSES // Reacts to Keypresses
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended
From bf5fdfdf0553a5da1dbab46b589bf31cb0e751cf Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 6 Feb 2023 17:31:36 +0800
Subject: [PATCH 46/51] Update keyboards/quarkeys/z40/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index 3a975d5891cd..9d090b7d3ce3 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -54,7 +54,7 @@
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN F1
-#define RGBLED_NUM MYLED_COUNT
+#define RGBLED_NUM 47
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
From c5a1406fddceab479cb86451b564a86a5460402d Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Mon, 6 Feb 2023 17:31:45 +0800
Subject: [PATCH 47/51] Update keyboards/quarkeys/z40/config.h
Co-authored-by: Ryan
---
keyboards/quarkeys/z40/config.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index 9d090b7d3ce3..03fe1c73c44b 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -13,7 +13,6 @@
*/
#pragma once
-#include "config_common.h"
#define DIODE_DIRECTION COL2ROW
From 5bbde9ea17c7da0e582a85a9f816d9549a332cb2 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Tue, 7 Feb 2023 10:41:00 +0800
Subject: [PATCH 48/51] Update keyboards/quarkeys/z40/readme.md
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z40/readme.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/keyboards/quarkeys/z40/readme.md b/keyboards/quarkeys/z40/readme.md
index 21b4283be4db..ba0f1de4818d 100644
--- a/keyboards/quarkeys/z40/readme.md
+++ b/keyboards/quarkeys/z40/readme.md
@@ -5,8 +5,8 @@ A 40% Bottom mount low-profile & MX switch compatible keyboard.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z40-ACR, Z40-Pastry
* Hardware Specs: Per-key RGBs, layer & Capslock indicators
-* For RGB matrix effect, "RGB_MATRIX_ENABLE = yes", "RGB_MATRIX_DRIVER = WS2812", "RGBLIGHT_ENABLE = no";
-* For RGB light effect, "RGB_MATRIX_ENABLE = no", "#RGB_MATRIX_DRIVER = WS2812"(comment out), "RGBLIGHT_ENABLE = yes";
+* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGB_MATRIX_DRIVER = WS2812`, `RGBLIGHT_ENABLE = no`.
+* For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`.
Make example for this keyboard solder version keymap(after setting up your build environment):
From be3c3d7d5e0337746a8e048a2352b1774fb3e075 Mon Sep 17 00:00:00 2001
From: TommyZ <60314626+tommyamoszhao@users.noreply.github.com>
Date: Tue, 7 Feb 2023 10:41:08 +0800
Subject: [PATCH 49/51] Update keyboards/quarkeys/z40/config.h
Co-authored-by: jack <0x6a73@protonmail.com>
---
keyboards/quarkeys/z40/config.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index 03fe1c73c44b..1ca7a3584954 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -52,7 +52,6 @@
#endif
#ifdef RGBLIGHT_ENABLE
-#define RGB_DI_PIN F1
#define RGBLED_NUM 47
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
From 29a712315544d3ffd5dad72759b6cc85628fd616 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Thu, 9 Feb 2023 13:43:12 +0800
Subject: [PATCH 50/51] Z40, slight changes on info file, 'per-key lable' is
deleted
---
keyboards/quarkeys/z40/config.h | 5 +-
keyboards/quarkeys/z40/info.json | 92 ++++++++++++++++----------------
keyboards/quarkeys/z40/readme.md | 4 +-
3 files changed, 50 insertions(+), 51 deletions(-)
diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h
index a8837bd2cf6d..aeba2ce618d7 100644
--- a/keyboards/quarkeys/z40/config.h
+++ b/keyboards/quarkeys/z40/config.h
@@ -22,10 +22,9 @@
#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
#define RGB_DI_PIN F1
-#define MYLED_COUNT 47
#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_LED_COUNT MYLED_COUNT
+#define RGB_MATRIX_LED_COUNT 47
#define RGB_MATRIX_KEYPRESSES // Reacts to Keypresses
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended
@@ -58,7 +57,7 @@
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN F1
-#define RGBLED_NUM MYLED_COUNT
+#define RGBLED_NUM 47
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/quarkeys/z40/info.json b/keyboards/quarkeys/z40/info.json
index 7c15b6e5e096..57159669a4dc 100644
--- a/keyboards/quarkeys/z40/info.json
+++ b/keyboards/quarkeys/z40/info.json
@@ -13,56 +13,56 @@
"layouts": {
"LAYOUT": {
"layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Back", "x":11, "y":0},
+ {"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},
- {"label":"Tab", "x":0, "y":1},
- {"label":"A", "x":1, "y":1},
- {"label":"S", "x":2, "y":1},
- {"label":"D", "x":3, "y":1},
- {"label":"F", "x":4, "y":1},
- {"label":"G", "x":5, "y":1},
- {"label":"H", "x":6, "y":1},
- {"label":"J", "x":7, "y":1},
- {"label":"K", "x":8, "y":1},
- {"label":"L", "x":9, "y":1},
- {"label":":", "x":10, "y":1},
- {"label":"\"", "x":11, "y":1},
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "y":1},
+ {"x":10, "y":1},
+ {"x":11, "y":1},
- {"label":"Shift", "x":0, "y":2},
- {"label":"Z", "x":1, "y":2},
- {"label":"X", "x":2, "y":2},
- {"label":"C", "x":3, "y":2},
- {"label":"V", "x":4, "y":2},
- {"label":"B", "x":5, "y":2},
- {"label":"N", "x":6, "y":2},
- {"label":"M", "x":7, "y":2},
- {"label":"<", "x":8, "y":2},
- {"label":">", "x":9, "y":2},
- {"label":"?", "x":10, "y":2},
- {"label":"Shift", "x":11, "y":2},
+ {"x":0, "y":2},
+ {"x":1, "y":2},
+ {"x":2, "y":2},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
- {"label":"Ctrl", "x":0, "y":3},
- {"label":"Caps Lock", "x":1, "y":3},
- {"label":"Alt", "x":2, "y":3},
- {"label":"Win", "x":3, "y":3},
- {"label":"L1", "x":4, "y":3},
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3},
+ {"x":4, "y":3},
{"x":5, "y":3, "w":2},
- {"label":"L2", "x":7, "y":3},
- {"label":"Fn", "x":8, "y":3},
- {"label":"M3", "x":9, "y":3},
- {"label":"M4", "x":10, "y":3},
- {"label":"Enter", "x":11, "y":3}
+ {"x":7, "y":3},
+ {"x":8, "y":3},
+ {"x":9, "y":3},
+ {"x":10, "y":3},
+ {"x":11, "y":3}
]
}
}
diff --git a/keyboards/quarkeys/z40/readme.md b/keyboards/quarkeys/z40/readme.md
index 21b4283be4db..ba0f1de4818d 100644
--- a/keyboards/quarkeys/z40/readme.md
+++ b/keyboards/quarkeys/z40/readme.md
@@ -5,8 +5,8 @@ A 40% Bottom mount low-profile & MX switch compatible keyboard.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z40-ACR, Z40-Pastry
* Hardware Specs: Per-key RGBs, layer & Capslock indicators
-* For RGB matrix effect, "RGB_MATRIX_ENABLE = yes", "RGB_MATRIX_DRIVER = WS2812", "RGBLIGHT_ENABLE = no";
-* For RGB light effect, "RGB_MATRIX_ENABLE = no", "#RGB_MATRIX_DRIVER = WS2812"(comment out), "RGBLIGHT_ENABLE = yes";
+* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGB_MATRIX_DRIVER = WS2812`, `RGBLIGHT_ENABLE = no`.
+* For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`.
Make example for this keyboard solder version keymap(after setting up your build environment):
From 1c71effbe46ad8e7452d981252d378ac52930f40 Mon Sep 17 00:00:00 2001
From: tommyamoszhao <60314626+tommyamoszhao@users.noreply.github.com>
Date: Sun, 12 Feb 2023 16:06:10 +0800
Subject: [PATCH 51/51] Update readme.md
---
keyboards/quarkeys/z40/readme.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/keyboards/quarkeys/z40/readme.md b/keyboards/quarkeys/z40/readme.md
index ba0f1de4818d..d3428dd2061d 100644
--- a/keyboards/quarkeys/z40/readme.md
+++ b/keyboards/quarkeys/z40/readme.md
@@ -1,11 +1,13 @@
# Quarkeys Z40 Low Profile Keyboard
+![Quarkeys Z40 Pastry](https://raw.githubusercontent.com/tommyamoszhao/keyboardimage/main/Z40/Z40_1024.png)
+
A 40% Bottom mount low-profile & MX switch compatible keyboard.
* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z40-ACR, Z40-Pastry
* Hardware Specs: Per-key RGBs, layer & Capslock indicators
-* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGB_MATRIX_DRIVER = WS2812`, `RGBLIGHT_ENABLE = no`.
+* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGBLIGHT_ENABLE = no`.
* For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`.
Make example for this keyboard solder version keymap(after setting up your build environment):