Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Keyboard] Add Quarkeys Z40 keyboard #19741

Merged
merged 59 commits into from
Feb 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
1d596f7
[Keyboard] Add Z60 Solder
tommyamoszhao Dec 22, 2022
771c757
License update, and config.h file merged
tommyamoszhao Dec 22, 2022
dbd6e02
[Keyboard] Add Quarkeys Z67 Solder PCB
tommyamoszhao Dec 22, 2022
d49cf8c
updated as required
tommyamoszhao Dec 22, 2022
31d3e38
Update keyboards/quarkeys/z60/config.h
tommyamoszhao Dec 22, 2022
9e4a68c
Update keyboards/quarkeys/z60/config.h
tommyamoszhao Dec 22, 2022
6eb25e0
[Keyboard] Add Z60 Re-organized keyboard directory
tommyamoszhao Dec 22, 2022
5765a17
Update keyboards/quarkeys/z60/readme.md
tommyamoszhao Dec 23, 2022
0f520aa
Update keyboards/quarkeys/z60/readme.md
tommyamoszhao Dec 23, 2022
19b00a4
Update keyboards/quarkeys/z60/readme.md
tommyamoszhao Dec 23, 2022
f1511dd
Update readme.md
tommyamoszhao Dec 23, 2022
a18aa46
[Keyboard] Add Quarkeys Z60 Hotswap
tommyamoszhao Dec 23, 2022
8add7f7
Merge pull request #1 from tommyamoszhao/Add-keyboard-Z60-Hotswap
tommyamoszhao Dec 23, 2022
42514bc
'#ifdef' in Makefile is not needed
tommyamoszhao Dec 24, 2022
4f96ebf
Delete Makefile
tommyamoszhao Dec 24, 2022
16fee53
[Keyboard] Add Quarkeys Z67 Solder & Hotswap
tommyamoszhao Jan 1, 2023
37ccf10
Update readme.md
tommyamoszhao Jan 1, 2023
b5eba8d
Merge branch 'qmk:master' into master
tommyamoszhao Jan 1, 2023
143ddcd
Update keyboards/quarkeys/z67/hotswap/rules.mk
tommyamoszhao Jan 1, 2023
efa8705
Update keyboards/quarkeys/z67/hotswap/rules.mk
tommyamoszhao Jan 1, 2023
aa622cd
Update keyboards/quarkeys/z67/solder/rules.mk
tommyamoszhao Jan 1, 2023
9e9cf4e
[Keymap] keymap updated with empty layouts deleted
tommyamoszhao Jan 1, 2023
9ebe35b
Merge branch 'master' of https://github.com/tommyamoszhao/qmk_firmware
tommyamoszhao Jan 1, 2023
32861e7
Update keyboards/quarkeys/z67/hotswap/rules.mk
tommyamoszhao Jan 4, 2023
bc2be3e
Update keyboards/quarkeys/z67/readme.md
tommyamoszhao Jan 4, 2023
dbcddea
Update keyboards/quarkeys/z67/solder/rules.mk
tommyamoszhao Jan 4, 2023
ed52bca
Update keyboards/quarkeys/z67/solder/rules.mk
tommyamoszhao Jan 4, 2023
5ccf67e
Merge branch 'qmk:master' into master
tommyamoszhao Jan 15, 2023
393544a
Update keyboards/quarkeys/z67/hotswap/config.h
tommyamoszhao Jan 15, 2023
5483223
Update keyboards/quarkeys/z67/solder/rules.mk
tommyamoszhao Jan 15, 2023
e6a3c85
Update keyboards/quarkeys/z67/solder/info.json
tommyamoszhao Jan 15, 2023
9e4e13a
Update keyboards/quarkeys/z67/hotswap/info.json
tommyamoszhao Jan 15, 2023
1e88794
Update keyboards/quarkeys/z67/solder/config.h
tommyamoszhao Jan 15, 2023
5c48a1f
Update keyboards/quarkeys/z67/hotswap/rules.mk
tommyamoszhao Jan 15, 2023
dd07019
Merge branch 'qmk:master' into master
tommyamoszhao Feb 3, 2023
611087d
[Keyboard] Add Quarkeys Z40 keyboard
tommyamoszhao Feb 3, 2023
35fff33
Update keyboards/quarkeys/z40/rgblgt/config.h
tommyamoszhao Feb 5, 2023
e6ce136
Update keyboards/quarkeys/z40/rgblgt/keymaps/via/keymap.c
tommyamoszhao Feb 5, 2023
58fffb1
Update keyboards/quarkeys/z40/rgbmtix/config.h
tommyamoszhao Feb 5, 2023
b70e25b
Update keyboards/quarkeys/z40/rgbmtix/config.h
tommyamoszhao Feb 5, 2023
4d68c71
Update keyboards/quarkeys/z40/rgblgt/config.h
tommyamoszhao Feb 5, 2023
b84729d
Update keyboards/quarkeys/z40/rgbmtix/config.h
tommyamoszhao Feb 5, 2023
5fb7253
Update keyboards/quarkeys/z40/rgbmtix/rules.mk
tommyamoszhao Feb 5, 2023
b22c332
Update keyboards/quarkeys/z40/rgblgt/rules.mk
tommyamoszhao Feb 5, 2023
c149bf0
Update keyboards/quarkeys/z40/rgblgt/rules.mk
tommyamoszhao Feb 5, 2023
4173b62
Update keyboards/quarkeys/z40/rgblgt/rules.mk
tommyamoszhao Feb 5, 2023
186a4d8
Update keyboards/quarkeys/z40/rgblgt/rules.mk
tommyamoszhao Feb 5, 2023
8407d53
z40 update
tommyamoszhao Feb 6, 2023
cc3e18f
Merge branch 'master' of https://github.com/tommyamoszhao/qmk_firmware
tommyamoszhao Feb 6, 2023
cff3dec
Update keyboards/quarkeys/z40/config.h
tommyamoszhao Feb 6, 2023
ddaff5b
Update keyboards/quarkeys/z40/config.h
tommyamoszhao Feb 6, 2023
bf5fdfd
Update keyboards/quarkeys/z40/config.h
tommyamoszhao Feb 6, 2023
c5a1406
Update keyboards/quarkeys/z40/config.h
tommyamoszhao Feb 6, 2023
5bbde9e
Update keyboards/quarkeys/z40/readme.md
tommyamoszhao Feb 7, 2023
be3c3d7
Update keyboards/quarkeys/z40/config.h
tommyamoszhao Feb 7, 2023
3c36f97
Merge branch 'qmk:master' into master
tommyamoszhao Feb 8, 2023
29a7123
Z40, slight changes on info file, 'per-key lable' is deleted
tommyamoszhao Feb 9, 2023
9c71183
Merge branch 'master' of https://github.com/tommyamoszhao/qmk_firmware
tommyamoszhao Feb 9, 2023
1c71eff
Update readme.md
tommyamoszhao Feb 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions keyboards/quarkeys/z40/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
/ Copyright 2022 quarkeys
/ This program is free software: you can redistribute it and/or modify
/ it under the terms of the GNU General Public License as published by
/ the Free Software Foundation, either version 2 of the License, or
/ (at your option) any later version.
/ This program is distributed in the hope that it will be useful,
/ but WITHOUT ANY WARRANTY; without even the implied warranty of
/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
/ GNU General Public License for more details.
/ You should have received a copy of the GNU General Public License
/ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#define DIODE_DIRECTION COL2ROW

#define MATRIX_ROW_PINS { E6, B3, C7, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B6, B5, B4, D7, D6, D0, B1, B0 }
#define RGB_DI_PIN F1
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_LED_COUNT 47
#define RGB_MATRIX_KEYPRESSES // Reacts to Keypresses
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_SAT_STEP 8
#define RGB_MATRIX_VAL_STEP 8
#define RGB_MATRIX_SPD_STEP 10

// RGB_MATRIX effects
#define ENABLE_RGB_MATRIX_ALPHAS_MODS //Enables RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_BREATHING //Enables RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN //Enables RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON //Enables RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN //Enables RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL //Enables RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL //Enables RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL //Enables RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON //Enables RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON //Enables RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS //Enables RGB_MATRIX_RAINBOW_PINWHEELS

// RGB_MATRIX reactive effects
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
#endif

#ifdef RGBLIGHT_ENABLE
#define RGBLED_NUM 47
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)

#define RGBLIGHT_LAYERS
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
#define RGBLIGHT_LIMIT_VAL 130
#define RGBLIGHT_SLEEP
#endif
69 changes: 69 additions & 0 deletions keyboards/quarkeys/z40/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"keyboard_name": "Z40 Ortho",
"manufacturer": "Quarkeys Stuidio",
"url": "www.quarkeys.com",
"maintainer": "TommyZ",
"usb": {
"vid": "0x8490",
"pid": "0x2801",
"device_version": "0.0.1"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
"LAYOUT": {
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},
{"x":4, "y":0},
{"x":5, "y":0},
{"x":6, "y":0},
{"x":7, "y":0},
{"x":8, "y":0},
{"x":9, "y":0},
{"x":10, "y":0},
{"x":11, "y":0},

{"x":0, "y":1},
{"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
{"x":4, "y":1},
{"x":5, "y":1},
{"x":6, "y":1},
{"x":7, "y":1},
{"x":8, "y":1},
{"x":9, "y":1},
{"x":10, "y":1},
{"x":11, "y":1},

{"x":0, "y":2},
{"x":1, "y":2},
{"x":2, "y":2},
{"x":3, "y":2},
{"x":4, "y":2},
{"x":5, "y":2},
{"x":6, "y":2},
{"x":7, "y":2},
{"x":8, "y":2},
{"x":9, "y":2},
{"x":10, "y":2},
{"x":11, "y":2},

{"x":0, "y":3},
{"x":1, "y":3},
{"x":2, "y":3},
{"x":3, "y":3},
{"x":4, "y":3},
{"x":5, "y":3, "w":2},
{"x":7, "y":3},
{"x":8, "y":3},
{"x":9, "y":3},
{"x":10, "y":3},
{"x":11, "y":3}
]
}
}
}
102 changes: 102 additions & 0 deletions keyboards/quarkeys/z40/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
/*
/ 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 <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* [0]
* ,-------------------------------------------------------------------------------------.
* | Esc | Q | W | E | R | T | Y | U | I | O | P | BS |
* |------------+------+------+------+------+-------------+------+------+------+------+--|
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
* |------------+------+------+------+------+------|------+------+------+------+------+--|
* | SHIFT | Z | X | C | V | B | N | M | , | . | / | Shift |
* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+--|
* | Ctrl | Caps | ALT | OS | Ly1 | SPACE | Ly2 | M1 | M2 | M3 | Enter |
* `-------------------------------------------------------------------------------------'
*/
[0] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
),

/* [1]
* ,-------------------------------------------------------------------------------------.
* | Reset | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RGBtg | BS |
* |-------+------+------+------+------+------+------+------+------+------+-------+------|
* | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RGBmod| |
* |-------+------+------+------+------+------+------+------+------+------+-------+------|
* | | Vol- | Vol+ | Play | Mute | * | / | 1 | 2 | 3 | / | |
* |-------+------+------+------+------+------+------+------+------+------+-------+------|
* | | | | | | 0 | | | . | | = |
* `-------+------+------+------+------+-------------+------+------+------+-------+------'
*/

[1] = LAYOUT(
QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
_______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
),

/* [2]
* ,-------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+----+--+-------|
* | | & | | | ( | ) | | | { | } | [ | ] | |
* |------+------+------+------+------+------+------+------+------+------+-------+-------|
* | | ! | @ | # | ^ | | | ~ | < | > | ? | |
* |------+------+------+------+------+------+------+------+------+------+-------+-------|
* | | | | | | | | | | | |
* `-------------------------------------------------------------------------------------'
*/
[2] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
_______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

#ifdef RGBLIGHT_ENABLE
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});

const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
my_capslock_layer, // Caplock indicator
my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
my_symbol_layer, // F1-F12 keys & Symbols
my_other_layer // Self-Defined
);

void keyboard_post_init_user(void) {
rgblight_layers = my_rgb_layers;
}

bool led_update_user(led_t led_state) {
rgblight_set_layer_state(0, led_state.caps_lock);
return true;
}

layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
rgblight_set_layer_state(3, layer_state_cmp(state, 3));
return state;
}
#endif
68 changes: 68 additions & 0 deletions keyboards/quarkeys/z40/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
/ 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 <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT
),

[1] = LAYOUT(
QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______,
_______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______,
RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL
),

[2] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
_______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

#ifdef RGBLIGHT_ENABLE
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED});
const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({40, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28, 2, HSV_WHITE});
const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE});

const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
my_capslock_layer, // Caplock indicator
my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control
my_symbol_layer, // F1-F12 keys & Symbols
my_other_layer // Self-Defined
);

void keyboard_post_init_user(void) {
rgblight_layers = my_rgb_layers;
}

bool led_update_user(led_t led_state) {
rgblight_set_layer_state(0, led_state.caps_lock);
return true;
}

layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
rgblight_set_layer_state(3, layer_state_cmp(state, 3));
return state;
}
#endif
2 changes: 2 additions & 0 deletions keyboards/quarkeys/z40/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
23 changes: 23 additions & 0 deletions keyboards/quarkeys/z40/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Quarkeys Z40 Low Profile Keyboard

![Quarkeys Z40 Pastry](https://raw.githubusercontent.com/tommyamoszhao/keyboardimage/main/Z40/Z40_1024.png)

A 40% Bottom mount low-profile & MX switch compatible keyboard.

* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com)
* Hardware Supported: Z40-ACR, Z40-Pastry
* Hardware Specs: Per-key RGBs, layer & Capslock indicators
* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGBLIGHT_ENABLE = no`.
* For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`.

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

make quarkeys/z40:default

Flashing example for this keyboard:

make quarkeys/z40:default:flash

**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1.

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
17 changes: 17 additions & 0 deletions keyboards/quarkeys/z40/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output

# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
RGBLIGHT_ENABLE = no # Enable this and unable RGB_MATRIX_ENABLE to use RGB light effect

RGB_MATRIX_ENABLE = yes # Enable this and unable RGBLIGHT_ENABLE to use RGB Matrix effect
RGB_MATRIX_DRIVER = WS2812 # Comment out this line when RGBLIGHTING is enabled
Loading