aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/qaz/config.h49
-rw-r--r--keyboards/qaz/info.json15
-rw-r--r--keyboards/qaz/keymaps/default/config.h6
-rw-r--r--keyboards/qaz/keymaps/default/keymap.c57
-rw-r--r--keyboards/qaz/keymaps/default/readme.md1
-rw-r--r--keyboards/qaz/keymaps/default/rules.mk1
-rw-r--r--keyboards/qaz/keymaps/default_big_space/config.h6
-rw-r--r--keyboards/qaz/keymaps/default_big_space/keymap.c57
-rw-r--r--keyboards/qaz/keymaps/default_big_space/readme.md1
-rw-r--r--keyboards/qaz/keymaps/default_big_space/rules.mk1
-rw-r--r--keyboards/qaz/keymaps/via/keymap.c29
-rw-r--r--keyboards/qaz/keymaps/via/rules.mk1
-rw-r--r--keyboards/qaz/qaz.c1
-rw-r--r--keyboards/qaz/qaz.h33
-rw-r--r--keyboards/qaz/readme.md15
-rw-r--r--keyboards/qaz/rules.mk22
16 files changed, 295 insertions, 0 deletions
diff --git a/keyboards/qaz/config.h b/keyboards/qaz/config.h
new file mode 100644
index 000000000..1dbaaa0fc
--- /dev/null
+++ b/keyboards/qaz/config.h
@@ -0,0 +1,49 @@
1#pragma once
2
3#include "config_common.h"
4
5/* USB Device descriptor parameter */
6#define VENDOR_ID 0x7431
7#define PRODUCT_ID 0x0001
8#define DEVICE_VER 0x0001
9#define MANUFACTURER whydobearsexplod
10#define PRODUCT qaz keyboard
11
12/* key matrix size */
13#define MATRIX_ROWS 6
14#define MATRIX_COLS 7
15
16/*
17 * Keyboard Matrix Assignments
18 *
19 * Change this to how you wired your keyboard
20 * COLS: AVR pins used for columns, left to right
21 * ROWS: AVR pins used for rows, top to bottom
22 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
23 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
24 *
25 */
26#define MATRIX_ROW_PINS { F4, D4, C6, E6, D1, D0 }
27#define MATRIX_COL_PINS { B4, D3, D2, F5, B5, F6, D7 }
28#define UNUSED_PINS
29
30/* COL2ROW, ROW2COL*/
31#define DIODE_DIRECTION COL2ROW
32
33/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
34#define DEBOUNCE 5
35
36/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
37#define LOCKING_SUPPORT_ENABLE
38/* Locking resynchronize hack */
39#define LOCKING_RESYNC_ENABLE
40
41#define RGB_DI_PIN F7
42
43#ifdef RGB_DI_PIN
44#define RGBLIGHT_ANIMATIONS
45#define RGBLED_NUM 21
46#define RGBLIGHT_HUE_STEP 8
47#define RGBLIGHT_SAT_STEP 8
48#define RGBLIGHT_VAL_STEP 8
49#endif
diff --git a/keyboards/qaz/info.json b/keyboards/qaz/info.json
new file mode 100644
index 000000000..c8993d57e
--- /dev/null
+++ b/keyboards/qaz/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "qaz",
3 "url": "",
4 "maintainer": "tominabox1",
5 "width": 10.25,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_split_space": {
9 "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0, "w":1.25}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":"Ent", "x":9.25, "y":1}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":5.75, "y":2}, {"label":"M", "x":6.75, "y":2}, {"label":".", "x":7.75, "y":2}, {"label":"Shift","x":8.75, "y":2, "w":1.5},{"label":"Super", "x":0, "y":3}, {"label":"Meta", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"", "x":3, "y":3, "w":2.25}, {"label":"", "x":5.25, "y":3, "w":2}, {"label":"AltGr", "x":7.25, "y":3},{"label":"Meta", "x":8.25, "y":3},{"label":"Super", "x":9.25, "y":3}]
10 },
11 "LAYOUT": {
12 "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0, "w":1.25}, {"label":"A", "x":0, "y":1, "w":1.25}, {"label":"S", "x":1.25, "y":1}, {"label":"D", "x":2.25, "y":1}, {"label":"F", "x":3.25, "y":1}, {"label":"G", "x":4.25, "y":1}, {"label":"H", "x":5.25, "y":1}, {"label":"J", "x":6.25, "y":1}, {"label":"K", "x":7.25, "y":1}, {"label":"L", "x":8.25, "y":1}, {"label":"Ent", "x":9.25, "y":1}, {"label":"Z", "x":0, "y":2, "w":1.75}, {"label":"X", "x":1.75, "y":2}, {"label":"C", "x":2.75, "y":2}, {"label":"V", "x":3.75, "y":2}, {"label":"B", "x":4.75, "y":2}, {"label":"N", "x":5.75, "y":2}, {"label":"M", "x":6.75, "y":2}, {"label":".", "x":7.75, "y":2}, {"label":"Shift","x":8.75, "y":2, "w":1.5},{"label":"Super", "x":0, "y":3}, {"label":"Meta", "x":1, "y":3}, {"label":"", "x":2, "y":3, "w":6.25}, {"label":"Meta", "x":8.25, "y":3},{"label":"Super", "x":9.25, "y":3}]
13 }
14 }
15}
diff --git a/keyboards/qaz/keymaps/default/config.h b/keyboards/qaz/keymaps/default/config.h
new file mode 100644
index 000000000..12482ff6f
--- /dev/null
+++ b/keyboards/qaz/keymaps/default/config.h
@@ -0,0 +1,6 @@
1#pragma once
2
3#ifdef COMBO_ENABLE
4# define COMBO_COUNT 5
5# define COMBO_TERM 200
6#endif
diff --git a/keyboards/qaz/keymaps/default/keymap.c b/keyboards/qaz/keymaps/default/keymap.c
new file mode 100644
index 000000000..cf721292a
--- /dev/null
+++ b/keyboards/qaz/keymaps/default/keymap.c
@@ -0,0 +1,57 @@
1#include QMK_KEYBOARD_H
2
3enum layers{
4 _BASE,
5 _NUM_SYM,
6 _NAV
7};
8enum combo_events {
9 COMBO_BSPC,
10 COMBO_NUMBAK,
11 COMBO_TAB,
12 COMBO_ESC,
13 COMBO_DEL,
14};
15
16#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC)
17#define KC_GA LGUI_T(KC_A)
18#define KC_AS LALT_T(KC_S)
19#define KC_CD LCTL_T(KC_D)
20#define KC_SF LSFT_T(KC_F)
21#define KC_SJ RSFT_T(KC_J)
22#define KC_CK RCTL_T(KC_K)
23#define KC_AL RALT_T(KC_L)
24#define KC_GSCLN RGUI_T(KC_SCLN)
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_BASE] = LAYOUT_split_space(
28 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
29 KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_ENT,
30 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
31 KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, LT(_NUM_SYM,KC_SPACE), KC_RALT, KC_RGUI, KC_RCTL
32 ),
33
34 [_NUM_SYM] = LAYOUT_split_space(
35 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
36 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_EQUAL, KC_MINS,
37 KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_RPRN, KC_RBRC, KC_RCBR, KC_SCLN, KC_QUOTE,
38 RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
39 )
40};
41
42#ifdef COMBO_ENABLE
43const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
44const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
45const uint16_t PROGMEM combo_tab[] = {KC_Q, KC_W, COMBO_END};
46const uint16_t PROGMEM combo_esc[] = {KC_E, KC_W, COMBO_END};
47const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
48
49combo_t key_combos[COMBO_COUNT] = {
50 [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC),
51 [COMBO_NUMBAK] = COMBO(combo_numbak,KC_BSPC),
52 [COMBO_TAB] = COMBO(combo_tab,KC_TAB),
53 [COMBO_ESC] = COMBO(combo_esc,KC_ESC),
54 [COMBO_DEL] = COMBO(combo_del,KC_DEL),
55
56};
57#endif
diff --git a/keyboards/qaz/keymaps/default/readme.md b/keyboards/qaz/keymaps/default/readme.md
new file mode 100644
index 000000000..fb85d36e2
--- /dev/null
+++ b/keyboards/qaz/keymaps/default/readme.md
@@ -0,0 +1 @@
# Default QAZ Layout
diff --git a/keyboards/qaz/keymaps/default/rules.mk b/keyboards/qaz/keymaps/default/rules.mk
new file mode 100644
index 000000000..ab1e43818
--- /dev/null
+++ b/keyboards/qaz/keymaps/default/rules.mk
@@ -0,0 +1 @@
COMBO_ENABLE = yes
diff --git a/keyboards/qaz/keymaps/default_big_space/config.h b/keyboards/qaz/keymaps/default_big_space/config.h
new file mode 100644
index 000000000..12482ff6f
--- /dev/null
+++ b/keyboards/qaz/keymaps/default_big_space/config.h
@@ -0,0 +1,6 @@
1#pragma once
2
3#ifdef COMBO_ENABLE
4# define COMBO_COUNT 5
5# define COMBO_TERM 200
6#endif
diff --git a/keyboards/qaz/keymaps/default_big_space/keymap.c b/keyboards/qaz/keymaps/default_big_space/keymap.c
new file mode 100644
index 000000000..13f105add
--- /dev/null
+++ b/keyboards/qaz/keymaps/default_big_space/keymap.c
@@ -0,0 +1,57 @@
1#include QMK_KEYBOARD_H
2
3enum layers{
4 _BASE,
5 _NUM_SYM,
6 _NAV
7};
8enum combo_events {
9 COMBO_BSPC,
10 COMBO_NUMBAK,
11 COMBO_TAB,
12 COMBO_ESC,
13 COMBO_DEL,
14};
15
16#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC)
17#define KC_GA LGUI_T(KC_A)
18#define KC_AS LALT_T(KC_S)
19#define KC_CD LCTL_T(KC_D)
20#define KC_SF LSFT_T(KC_F)
21#define KC_SJ RSFT_T(KC_J)
22#define KC_CK RCTL_T(KC_K)
23#define KC_AL RALT_T(KC_L)
24#define KC_GSCLN RGUI_T(KC_SCLN)
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_BASE] = LAYOUT(
28 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
29 KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_ENT,
30 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
31 KC_LCTL, KC_LALT, LT(_NUM_SYM,KC_SPACE), KC_RGUI, KC_RCTL
32 ),
33
34 [_NUM_SYM] = LAYOUT(
35 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
36 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_EQUAL, KC_MINS,
37 KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_RPRN, KC_RBRC, KC_RCBR, KC_SCLN, KC_QUOTE,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
39 )
40};
41
42#ifdef COMBO_ENABLE
43const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
44const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
45const uint16_t PROGMEM combo_tab[] = {KC_Q, KC_W, COMBO_END};
46const uint16_t PROGMEM combo_esc[] = {KC_E, KC_W, COMBO_END};
47const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
48
49combo_t key_combos[COMBO_COUNT] = {
50 [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC),
51 [COMBO_NUMBAK] = COMBO(combo_numbak,KC_BSPC),
52 [COMBO_TAB] = COMBO(combo_tab,KC_TAB),
53 [COMBO_ESC] = COMBO(combo_esc,KC_ESC),
54 [COMBO_DEL] = COMBO(combo_del,KC_DEL),
55
56};
57#endif
diff --git a/keyboards/qaz/keymaps/default_big_space/readme.md b/keyboards/qaz/keymaps/default_big_space/readme.md
new file mode 100644
index 000000000..f1fc30c21
--- /dev/null
+++ b/keyboards/qaz/keymaps/default_big_space/readme.md
@@ -0,0 +1 @@
# Default QAZ Layout full size spacebar
diff --git a/keyboards/qaz/keymaps/default_big_space/rules.mk b/keyboards/qaz/keymaps/default_big_space/rules.mk
new file mode 100644
index 000000000..ab1e43818
--- /dev/null
+++ b/keyboards/qaz/keymaps/default_big_space/rules.mk
@@ -0,0 +1 @@
COMBO_ENABLE = yes
diff --git a/keyboards/qaz/keymaps/via/keymap.c b/keyboards/qaz/keymaps/via/keymap.c
new file mode 100644
index 000000000..92556c330
--- /dev/null
+++ b/keyboards/qaz/keymaps/via/keymap.c
@@ -0,0 +1,29 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = LAYOUT_split_space(
5 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
6 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
7 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
8 KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_SPACE, KC_RALT, KC_RGUI, KC_RCTL
9 ),
10
11 [1] = LAYOUT_split_space(
12 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
13 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
14 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
15 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
16 ),
17 [2] = LAYOUT_split_space(
18 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
19 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
20 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
21 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
22 ),
23 [3] = LAYOUT_split_space(
24 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
25 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
28 )
29};
diff --git a/keyboards/qaz/keymaps/via/rules.mk b/keyboards/qaz/keymaps/via/rules.mk
new file mode 100644
index 000000000..74d66eb22
--- /dev/null
+++ b/keyboards/qaz/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/qaz/qaz.c b/keyboards/qaz/qaz.c
new file mode 100644
index 000000000..a9e72fa61
--- /dev/null
+++ b/keyboards/qaz/qaz.c
@@ -0,0 +1 @@
#include "qaz.h"
diff --git a/keyboards/qaz/qaz.h b/keyboards/qaz/qaz.h
new file mode 100644
index 000000000..aba68d3d2
--- /dev/null
+++ b/keyboards/qaz/qaz.h
@@ -0,0 +1,33 @@
1#pragma once
2
3#include "quantum.h"
4
5#define XXX KC_NO
6
7#define LAYOUT_split_space( \
8 K00, K01, K02, K03, K04, K05, K06, K40, K41, K42, \
9 K10, K11, K12, K13, K14, K15, K16, K50, K51, K52, \
10 K20, K21, K22, K23, K24, K25, K26, K43, K53, \
11 K30, K31, K32, K33, K34, K35, K36, K44 \
12) { \
13{ K00, K01, K02, K03, K04, K05, K06 }, \
14{ K10, K11, K12, K13, K14, K15, K16 }, \
15{ K20, K21, K22, K23, K24, K25, K26 }, \
16{ K30, K31, K32, K33, K34, K35, K36 }, \
17{ K40, K41, K42, K43, K44, XXX, XXX }, \
18{ K50, K51, K52, K53, XXX, XXX, XXX } \
19}
20
21#define LAYOUT( \
22 K00, K01, K02, K03, K04, K05, K06, K40, K41, K42, \
23 K10, K11, K12, K13, K14, K15, K16, K50, K51, K52, \
24 K20, K21, K22, K23, K24, K25, K26, K43, K53, \
25 K30, K31, K34, K36, K44 \
26) { \
27{ K00, K01, K02, K03, K04, K05, K06 }, \
28{ K10, K11, K12, K13, K14, K15, K16 }, \
29{ K20, K21, K22, K23, K24, K25, K26 }, \
30{ K30, K31, XXX, XXX, K34, XXX, K36 }, \
31{ K40, K41, K42, K43, K44, XXX, XXX }, \
32{ K50, K51, K52, K53, XXX, XXX, XXX } \
33}
diff --git a/keyboards/qaz/readme.md b/keyboards/qaz/readme.md
new file mode 100644
index 000000000..2f1e7fcc9
--- /dev/null
+++ b/keyboards/qaz/readme.md
@@ -0,0 +1,15 @@
1# QAZ
2
3![QAZ](https://i.imgur.com/kmxDneol.png)
4
5QAZ is a careful exercise in minimalism, leveraging advanced QMK magic like combos, tapdances and mod layers to unlock complete functionality while remaining oddly familiar.
6Throw it in your fanny pack and hop on your fixed gear and away you go. QAZ is cheap, hip, and effective with all the keyboardy features you expect, including the ability to type numbers- should you choose to add them to your layout.
7
8* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1)
9* Hardware Availability: 40s Discord Mini Group Buy
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb qaz -km default
14
15See 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).
diff --git a/keyboards/qaz/rules.mk b/keyboards/qaz/rules.mk
new file mode 100644
index 000000000..760e96e1c
--- /dev/null
+++ b/keyboards/qaz/rules.mk
@@ -0,0 +1,22 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output