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/14] [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/14] 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/14] [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/14] 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/14] 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/14] 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/14] [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/14] 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/14] 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/14] 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/14] 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/14] [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/14] '#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/14] 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