aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano <warste@gmail.com>2020-04-27 22:11:02 +0200
committerGitHub <noreply@github.com>2020-04-27 13:11:02 -0700
commitfd6b674b4985881797f16dda0d9859caae0521ab (patch)
treecdf0eb56494fec422bb00ecd4d5eb817714f128b
parent2c0deb8a1366fadec9892b762423f5f94357fb03 (diff)
downloadqmk_firmware-fd6b674b4985881797f16dda0d9859caae0521ab.tar.gz
qmk_firmware-fd6b674b4985881797f16dda0d9859caae0521ab.zip
[Keymap] Gherkin SuperMicro 28 (#8886)
* Gherkin SuperMicro 28 * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * removed jpegs * removed jpegs * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * removed firmware sizes * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * Update keymap.c
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h52
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c246
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md13
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk19
4 files changed, 330 insertions, 0 deletions
diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
new file mode 100644
index 000000000..c708babf1
--- /dev/null
+++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
@@ -0,0 +1,52 @@
1#pragma once
2
3// bootloader (first top leftmost key)
4#define BOOTMAGIC_LITE_ROW 0
5#define BOOTMAGIC_LITE_COLUMN 1
6
7
8// Behaviors That Can Be Configured
9
10
11#define TAPPING_TERM 250
12 // how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
13
14#define PERMISSIVE_HOLD
15 // makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM
16#define IGNORE_MOD_TAP_INTERRUPT
17 // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys.
18
19#define TAPPING_FORCE_HOLD
20 // makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap)
21 // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
22
23
24/*
25 #define TAPPING_TERM_PER_KEY
26 // enables handling for per key TAPPING_TERM settings
27 #define RETRO_TAPPING
28 // tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
29 #define TAPPING_TOGGLE 2
30 // how many taps before triggering the toggle
31 #define LEADER_TIMEOUT 300
32 // how long before the leader key times out
33 // If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
34 #define LEADER_PER_KEY_TIMING
35 // sets the timer for leader key chords to run on each key press rather than overall
36 #define LEADER_KEY_STRICT_KEY_PROCESSING
37 // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
38 #define ONESHOT_TIMEOUT 300
39 // how long before oneshot times out
40 #define ONESHOT_TAP_TOGGLE 2
41 // how many taps before oneshot toggle is triggered
42 #define QMK_KEYS_PER_SCAN 4
43 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
44 #define COMBO_COUNT 2
45 // Set this to the number of combos that you're using in the Combo feature.
46 #define COMBO_TERM 200
47 // how long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
48 #define TAP_CODE_DELAY 100
49 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
50 #define TAP_HOLD_CAPS_DELAY 80
51 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPSLOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
52*/
diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c b/keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c
new file mode 100644
index 000000000..188c1cd5d
--- /dev/null
+++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c
@@ -0,0 +1,246 @@
1/* Copyright 2019 Stefano Marago'
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18/*
19 * see jj40/stevexyz for more information
20 */
21
22
23#include QMK_KEYBOARD_H
24
25enum layers {
26 LAYER_HOME, // home base layer
27 LAYER_FUNC, // function keys and cursors
28 LAYER_NUMSYM, // numbers and other characters
29 LAYER_SYST, // media, mouse and other system keys
30 LAYER_ARROWPAD,
31 LAYER_NUMPAD,
32 LAYER_MEDIAPAD,
33};
34
35enum custom_keycodes {
36 CK_TRIPLEZERO = SAFE_RANGE,
37};
38
39
40const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
41
42/*
43 * LEGEND:
44 *
45 * ,--------------------------------.
46 * | Top row: shifted character |
47 * | Central row: standard char |
48 * | Bottom row: hold modifier |
49 * `--------------------------------'
50 *
51 * "____" means free to be assigned
52 *
53 */
54
55/* Qwerty Home Layer
56 * ,---------------------------------------------------------------------.
57 * | | | | | | | | | | |
58 * | Q | W | E | R | T | Y | U | I | O | P |
59 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
60 * |------+------+------+------+-------------+------+------+------+------|
61 * | | | | | | | | | | |
62 * | A | S | D | F | G | H | J | K | L | Enter|
63 * | Shift| FnNav|NumSym| AltGr| OSkey| OSkey| AltGr| FnNav|NumSym| Shift|
64 * '------+------+------+------+------+------|------+------+------+------'
65 * | | | | | | | | |
66 * | Z | X | C | V | B | N | M | Space|
67 * | Ctrl | Alt | FnNav|NumSym| Shift| Alt | Ctrl | Shift|
68 * '-------------------------------------------------------'
69 */
70 [LAYER_HOME] = LAYOUT_ortho_3x10(
71 LT(LAYER_ARROWPAD, KC_Q), LT(LAYER_NUMPAD, KC_W), LT(LAYER_MEDIAPAD, KC_E), KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
72 MT(MOD_LSFT, KC_A), LT(LAYER_FUNC, KC_S), LT(LAYER_NUMSYM, KC_D), MT(MOD_RALT, KC_F), MT(MOD_LGUI, KC_G), MT(MOD_RGUI, KC_H), MT(MOD_RALT, KC_J), LT(LAYER_FUNC, KC_K), LT(LAYER_NUMSYM, KC_L), MT(MOD_RSFT, KC_ENT),
73 XXXXXXX, MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(LAYER_FUNC, KC_C), LT(LAYER_NUMSYM, KC_V), MT(MOD_LSFT, KC_B), MT(MOD_LALT, KC_N), MT(MOD_RCTL, KC_M), MT(MOD_RSFT, KC_SPC), XXXXXXX ),
74
75/* Function and Navigation Layer
76 * ,---------------------------------------------------------------------.
77 * | | | | | | | | | | |
78 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 |
79 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
80 * |------+------+------+------+-------------+------+------+------+------|
81 * | | | | | | | | | | |
82 * | ESC | Home | PgDn | PgUp | End | Left | Down | Up | Right| Baksp|
83 * | Shift| ____ |SysLay| AltGr| OSkey| OSkey| AltGr| ____ |SysLay| Shift|
84 * '------+------+------+------+------+------|------+------+------+------'
85 * | | | | | | | | |
86 * | ____ | ____ | | ____ | ____ | ____ | ____ | ____ |
87 * | Ctrl | Alt | ____ |SysLay| Shift| Alt | Ctrl | Shift|
88 * '-------------------------------------------------------'
89 */
90 [LAYER_FUNC] = LAYOUT_ortho_3x10(
91 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
92 MT(MOD_LSFT, KC_ESC), KC_HOME, LT(LAYER_SYST, KC_PGDN), MT(MOD_RALT, KC_PGUP), MT(MOD_LGUI, KC_END), MT(MOD_RGUI, KC_LEFT), MT(MOD_RALT, KC_DOWN), KC_UP, LT(LAYER_SYST, KC_RGHT), MT(MOD_RSFT, KC_BSPC),
93 XXXXXXX, KC_LCTL, KC_LALT, KC_NO, MO(LAYER_SYST), KC_LSFT, KC_LALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX ),
94
95/* Number and Symbols Layer
96 * ,---------------------------------------------------------------------.
97 * | ! | @ | # | $ | % | ^ | & | * | ( | ) |
98 * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
99 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
100 * |------+------+------+------+-------------+------+------+------+------|
101 * | | ~ | _ | + | { | } | | | : | " | |
102 * | TAB | ` | - | = | [ | ] | \ | ; | ' | Del |
103 * | Shift|SysLay| ____ | AltGr| OSkey| OSkey| AltGr|SysLay| ____ | Shift|
104 * ' -----+------+------+------+------+------|------+------+------+------'
105 * | | | | | < | > | ? | |
106 * | ____ | ____ | ____ | | , | . | / | ____ |
107 * | Ctrl | Alt |SysLay| ____ | Shift| Alt | Ctrl | Shift|
108 * '-------------------------------------------------------'
109 */
110 [LAYER_NUMSYM] = LAYOUT_ortho_3x10(
111 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
112 MT(MOD_LSFT, KC_TAB), LT(LAYER_SYST, KC_GRV), KC_MINS, MT(MOD_RALT, KC_EQL), MT(MOD_LGUI, KC_LBRC), MT(MOD_RGUI, KC_RBRC), MT(MOD_RALT, KC_BSLS), LT(LAYER_SYST, KC_SCLN), KC_QUOT, MT(MOD_RSFT, KC_DEL),
113 XXXXXXX, KC_LCTL, KC_LALT, MO(LAYER_SYST), KC_NO, MT(MOD_LSFT, KC_COMM), MT(MOD_LALT, KC_DOT), MT(MOD_RCTL, KC_SLSH), MT(MOD_RSFT, KC_SPC), XXXXXXX ),
114
115/* System Layer
116 * ,---------------------------------------------------------------------.
117 * | | | | | | | | | | |
118 * | F11 | F12 | Play | Next |MsWhlU|MsBtn1|OSMenu|SysReq|MsBtn2|Backsp|
119 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
120 * |------+------+------+------+-------------+------+------+------+------|
121 * | | | | | | | | | | |
122 * | Caps | Mute | Vol- | Vol+ |MsWhlD|MsLeft|MSDown| MsUp |MsRigh| Ins |
123 * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift|
124 * '------+------+------+------+------+------|------+------+------+------'
125 * | | | | | | | | |
126 * | ____ | ____ | | |PrnScr|ScrLck|Pause | ____ |
127 * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | Shift|
128 * '-------------------------------------------------------'
129 * simplified view (for media and mouse there are dedicated layers)
130 * ,---------------------------------------------------------------------.
131 * | | | | | | | | | | |
132 * | F11 | F12 | | | | |OSMenu|SysReq| |Backsp|
133 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
134 * |------+------+------+------+-------------+------+------+------+------|
135 * | | | | | | | | | | |
136 * | Caps | | | | | | | | | Ins |
137 * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift|
138 * '------+------+------+------+------+------|------+------+------+------+
139 * | | | | | | | | |
140 * | | | | |PrnScr|ScrLck|Pause | |
141 * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | Shift|
142 * '-------------------------------------------------------'
143 */
144 [LAYER_SYST] = LAYOUT_ortho_3x10(
145 KC_F11, KC_F12, KC_MPLY, KC_MNXT, KC_MS_WH_UP, KC_MS_BTN1, KC_APP, KC_SYSREQ, KC_MS_BTN2, KC_BSPC,
146 MT(MOD_LSFT, KC_CAPS), KC_MUTE, KC_VOLD, KC_VOLU, KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, MT(MOD_RSFT, KC_INS),
147 XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, MT(MOD_RSFT, KC_SPC), XXXXXXX ),
148
149 /* ArrowPad (mod su Q) /------mouse-------\ /-----cursor-------\
150 * ,---------------------------------------------------------------------.
151 * | | | | | | | | | | |
152 * | | | |MsBtn1| MsUp |MsBtn2| Home | Up | PgUp |Backsp|
153 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
154 * |------+------+------+------+-------------+------+------+------+------|
155 * | | | | | | | | | | |
156 * | | | |MsLeft|MsDown|MsRigh| Left | Down | Right| Enter|
157 * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
158 * '------+------+------+------+------+------|------+------+------+------'
159 * | | | | | | | | |
160 * | | |MsWhlU|MsDown|MsWhlD| End | Down | PdDn |
161 * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | ____ |
162 * '-------------------------------------------------------'
163 */
164 [LAYER_ARROWPAD] = LAYOUT_ortho_3x10(
165 KC_NO, KC_NO, KC_NO, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_HOME, KC_UP, KC_PGUP, KC_BSPC,
166 KC_LSFT, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT,
167 XXXXXXX, KC_LCTL, KC_LALT, KC_MS_WH_UP, KC_MS_DOWN, KC_MS_WH_DOWN, KC_END, KC_DOWN, KC_PGDN, XXXXXXX ),
168
169/* NumPad (mod su W)
170 * ,---------------------------------------------------------------------.
171 * | | | | | | | | | | |
172 * | | | / | * | - |Backsp| 7 | 8 | 9 | 0 |
173 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
174 * |------+------+------+------+-------------+------+------+------+------|
175 * | | | | | | | | | | |
176 * | | | | = | + | . | 4 | 5 | 6 | Enter|
177 * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
178 * '------+------+------+------+------+------|------+------+------+------'
179 * | | | | | | | | |
180 * | | | | Tab | , | 1 | 2 | 3 |
181 * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | ____ |
182 * '-------------------------------------------------------'
183 */
184 [LAYER_NUMPAD] = LAYOUT_ortho_3x10(
185 KC_NO, KC_NO, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_BSPC, KC_7, KC_8, KC_9, KC_0,
186 KC_LSFT, KC_NO, KC_NO, KC_KP_EQUAL, KC_KP_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ENT,
187 XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_TAB, KC_COMM, KC_1, KC_2, KC_3, XXXXXXX ),
188
189 /* MediaPad (mod su E)
190 * ,---------------------------------------------------------------------.
191 * | | | | | | | | | | |
192 * | | | | | | | | Vol+ | | |
193 * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
194 * |------+------+------+------+-------------+------+------+------+------|
195 * | | | | | | | | | | |
196 * | | | | | | | Prev | Play | Next | |
197 * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |
198 * '------+------+------+------+------+------|------+------+------+------'
199 * | | | | | | | | |
200 * | | | | | | Mute | Vol- | |
201 * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | ____ |
202 * '-------------------------------------------------------'
203 */
204 [LAYER_MEDIAPAD] = LAYOUT_ortho_3x10(
205 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_NO,
206 KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO,
207 XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_NO, XXXXXXX ),
208
209};
210
211
212void matrix_init_user(void) {
213 // eeconfig_init(); // reset keyboard to a standard default state; useful when new releases messup with eeprom values
214 // set num lock on at start (for numonly layer to work)
215 if (!host_keyboard_led_state().num_lock) {
216 tap_code(KC_NUMLOCK);
217 }
218}
219
220void matrix_scan_user(void) {
221}
222
223bool process_record_user(uint16_t keycode, keyrecord_t *record) {
224 switch (keycode) {
225 case CK_TRIPLEZERO:
226 if (record->event.pressed) {
227 SEND_STRING("000");
228 } // else { when released... }
229 break;
230 }
231 return true;
232};
233
234void keyboard_pre_init_user(void) {
235 // Call the keyboard pre init code.
236
237 // Set our LED pins as output
238 setPinOutput(D5);
239 setPinOutput(B0);
240}
241
242bool led_update_user(led_t led_state) {
243 writePin(D5, !led_state.num_lock);
244 writePin(B0, !led_state.caps_lock);
245 return false; // prevent keyboard from processing state
246}
diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md b/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md
new file mode 100644
index 000000000..40d2bc22d
--- /dev/null
+++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md
@@ -0,0 +1,13 @@
1# gherkin super micro edition
2
3With this configuration the "28" layout first experimented on the plank-like jj40 is being ported to a more proper board, leaving just two keys not used.
4
5For more information please have a look at https://github.com/stevexyz/qmk_firmware/blob/master/keyboards/jj40/keymaps/stevexyz/readme.md
6
7The image below explain the main layers. In addition to them with q, w and e there are three specific dedicated layers for cursors/mouse, numpad and media.
8![layers](https://raw.githubusercontent.com/stevexyz/qmk_firmware/master/keyboards/40percentclub/gherkin/keymaps/stevexyz/layers.jpeg)
9
10![prototype](https://github.com/stevexyz/qmk_firmware/blob/master/keyboards/40percentclub/gherkin/keymaps/stevexyz/gherkin28.jpeg)
11
12Happy hacking!
13_Stefano
diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk b/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk
new file mode 100644
index 000000000..2c5a23df3
--- /dev/null
+++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk
@@ -0,0 +1,19 @@
1# Build Options (yes/no)
2#
3BOOTMAGIC_ENABLE = lite # Just bootloader enabled with keys
4MOUSEKEY_ENABLE = yes # Mouse keys
5EXTRAKEY_ENABLE = yes # Audio control and System control
6CONSOLE_ENABLE = no # Console for debug
7COMMAND_ENABLE = no # Commands for debug and configuration
8BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
9MIDI_ENABLE = no # MIDI support
10UNICODE_ENABLE = no # Unicode
11BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
12AUDIO_ENABLE = no # Audio output on port C6
13FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
14HD44780_ENABLE = no # Enable support for HD44780 based LCDs
15TAP_DANCE_ENABLE = no
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend (it uses the same timer as BACKLIGHT_ENABLE)
17
18NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
19RGBLIGHT_ENABLE = no