aboutsummaryrefslogtreecommitdiff
path: root/keyboards/massdrop
diff options
context:
space:
mode:
authorJon Roberts <jon@emptyflask.net>2020-03-17 16:01:54 -0500
committerGitHub <noreply@github.com>2020-03-17 21:01:54 +0000
commit8b0efc21246d8e6671236511b8107a05d739c152 (patch)
tree51b10ff2beef0c6cc4ad27eac86ad6ab63de7d36 /keyboards/massdrop
parent2f936420ddaffed0d1a22b94b4d666225466193a (diff)
downloadqmk_firmware-8b0efc21246d8e6671236511b8107a05d739c152.tar.gz
qmk_firmware-8b0efc21246d8e6671236511b8107a05d739c152.zip
[Keymap] New Massdrop ALT keymap for emptyflask (#8460)
amended to remove a couple of unnecessary lines, thanks to @zvecr and @fauxpark
Diffstat (limited to 'keyboards/massdrop')
-rw-r--r--keyboards/massdrop/alt/keymaps/emptyflask/README.md14
-rw-r--r--keyboards/massdrop/alt/keymaps/emptyflask/config.h3
-rw-r--r--keyboards/massdrop/alt/keymaps/emptyflask/keymap.c292
3 files changed, 309 insertions, 0 deletions
diff --git a/keyboards/massdrop/alt/keymaps/emptyflask/README.md b/keyboards/massdrop/alt/keymaps/emptyflask/README.md
new file mode 100644
index 000000000..b07693eba
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/emptyflask/README.md
@@ -0,0 +1,14 @@
1### Drop (Massdrop) ALT Layout
2
3This layout is for the [Drop ALT Keyboard](https://drop.com/buy/massdrop-alt-high-profile-mechanical-keyboard).
4
5Features:
6
7* Tap caps lock for ESC, hold for CTRL
8* Prefer grave/tilde to dedicated ESC key
9* Swap home and delete. It's more compatible with my keycaps, and closer to a traditional layout.
10* Numpad layer (FN-\ to enable)
11* Method for clearing all stuck-down mods (taken from favorable-mutation, for tapped modifiers)
12
13To do:
14* Customize RGB: solid colors by default, highlight numpad keys when using that layer.
diff --git a/keyboards/massdrop/alt/keymaps/emptyflask/config.h b/keyboards/massdrop/alt/keymaps/emptyflask/config.h
new file mode 100644
index 000000000..b3152c420
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/emptyflask/config.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#define ONESHOT_TIMEOUT 3000
diff --git a/keyboards/massdrop/alt/keymaps/emptyflask/keymap.c b/keyboards/massdrop/alt/keymaps/emptyflask/keymap.c
new file mode 100644
index 000000000..6ef6e2aa5
--- /dev/null
+++ b/keyboards/massdrop/alt/keymaps/emptyflask/keymap.c
@@ -0,0 +1,292 @@
1#include QMK_KEYBOARD_H
2
3enum my_keycodes {
4 U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect / Always Active
5 U_T_AGCR, // USB Toggle Automatic GCR control
6 DBG_TOG, // DEBUG Toggle On / Off
7 DBG_MTRX, // DEBUG Toggle Matrix Prints
8 DBG_KBD, // DEBUG Toggle Keyboard Prints
9 DBG_MOU, // DEBUG Toggle Mouse Prints
10 MD_BOOT, // Restart into bootloader after hold timeout
11 HK_COSL, // Clear held-down keys
12 QWERTY, // Switch to QWERTY layout
13 COLEMAK, // Switch to Colemak layout
14 DVORAK, // Switch to Dvorak layout
15 WORKMAN, // Switch to Workman layout
16};
17
18enum my_layers {
19 _QWERTY = 0,
20 _COLEMAK,
21 _DVORAK,
22 _WORKMAN,
23 _FUNCTION,
24 _NUMPAD,
25 _LAYOUTS,
26};
27
28#define CTL_ESC LCTL_T(KC_ESC) // Tap for ESC, hold for CTRL
29#define MD_LOCK LCTL(LGUI(KC_Q)) // MacOS lock screen shortcut
30#define MO_FUNC MO(_FUNCTION) // Hold for function layer
31#define TG_NUMP TG(_NUMPAD) // Toggle numpad layer
32#define OSL_LAY OSL(_LAYOUTS) // One-shot layer to change layout
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 /* QWERTY
36 * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────┐
37 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
38 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ BackSpace │ Home │
39 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
40 * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
41 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
42 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ Del │
43 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
44 * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
45 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
46 * │ Ctrl/Esc │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Return │ PgUp │
47 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
48 * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
49 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
50 * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ Up │ PgDn │
51 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
52 * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
53 * │ │ │ │ │ │ │▒▒│ │ │ │
54 * │ Ctrl │ GUI │ Alt │ Space │ Alt │ Func │▒▒│ Left │ Down │ Right │
55 * │ │ │ │ │ │ │▒▒│ │ │ │
56 * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
57 */
58 [_QWERTY] = LAYOUT_65_ansi_blocker(
59 KC_GRV, 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_HOME,
60 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_DEL,
61 CTL_ESC, 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_PGUP,
62 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
63 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
64 ),
65
66 [_COLEMAK] = LAYOUT_65_ansi_blocker(
67 KC_GRV, 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_HOME,
68 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
69 CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGUP,
70 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
71 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
72 ),
73
74 [_DVORAK] = LAYOUT_65_ansi_blocker(
75 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
76 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL,
77 CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGUP,
78 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_PGDN,
79 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
80 ),
81
82 [_WORKMAN] = LAYOUT_65_ansi_blocker(
83 KC_GRV, 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_HOME,
84 KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
85 CTL_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_ENT, KC_PGUP,
86 KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
87 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT
88 ),
89
90 /* Function layer
91 * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────┐
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
93 * │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Del │ End │
94 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
95 * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
96 * │ │ RGB │ RGB │ RGB │ RGB │ RGB │ │ USB │ USB │ │ │ │ │ │ │
97 * │ │ Speed │ Val │ Speed │ Hue │ Sat │ │ Port │ GCR │ │ PrtSc │ ScrLk │ Pause │ NumPad │ Mute │
98 * │ │ - │ + │ + │ + │ + │ │ │ │ │ │ │ │ │ │
99 * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
100 * │ │ RGB │ RGB │ RGB │ RGB │ RGB │ │ │ │ (Mac) │ │ │ │ │
101 * │ CapsLock │ Mode │ Val │ Mode │ Hue │ Sat │ │ │ │ Lock │ │ │ │ Vol+ │
102 * │ │ - │ - │ + │ - │ - │ │ │ │ │ │ │ │ │
103 * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
104 * │ │ RGB │ │ │ │ │ 6KRO/ │ │ │ │ │ │ │ │
105 * │ │ On/Off│ │ │ │Restart│ NKRO │ Debug │ │ │ Layout│ │ PgUp │ Vol- │
106 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
107 * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
108 * │ │ │ │ │ │ │▒▒│ │ │ │
109 * │ │ │ │ Clear modifiers │ │ │▒▒│ Home │ PgDn │ End │
110 * │ │ │ │ │ │ │▒▒│ │ │ │
111 * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
112 */
113 [_FUNCTION] = LAYOUT_65_ansi_blocker(
114 KC_ESC, 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_DEL, KC_END,
115 _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, TG_NUMP, KC_MUTE,
116 KC_CAPS, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, MD_LOCK, _______, _______, _______, KC_VOLU,
117 _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, OSL_LAY, _______, KC_PGUP, KC_VOLD,
118 _______, _______, _______, HK_COSL, _______, _______, KC_HOME, KC_PGDN, KC_END
119 ),
120
121 /* Number pad (FN-\ to toggle)
122 * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────┐
123 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
124 * │ │ │ │ │ │ │ │ │ / │ * │ - │ │ │ │ │
125 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
126 * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
127 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
128 * │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ + │ │ │ │ │
129 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
130 * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
131 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
132 * │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ + │ │ │ │
133 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
134 * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
135 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
136 * │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ = │ │ │ │
137 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
138 * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
139 * │ │ │ │ │ │ │▒▒│ │ │ │
140 * │ │ │ │ 0 │ . │ │▒▒│ │ │ │
141 * │ │ │ │ │ │ │▒▒│ │ │ │
142 * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
143 */
144 [_NUMPAD] = LAYOUT_65_ansi_blocker(
145 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
146 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
147 _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______,
148 _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PEQL, _______, _______, _______,
149 _______, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______
150 ),
151
152 /* Alternate layouts (FN-/ then one of [Q,C,D,W]) */
153 [_LAYOUTS] = LAYOUT_65_ansi_blocker(
154 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
155 _______, QWERTY, WORKMAN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
156 _______, _______, _______, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
157 _______, _______, _______, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
158 _______, _______, _______, _______, _______, _______, _______, _______, _______
159 ),
160
161 /* Template
162 * ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬────────────┬───────┐
163 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
164 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
165 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
166 * ├───────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬─────────┼───────┤
167 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
168 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
169 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
170 * ├──────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─────────┼───────┤
171 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
172 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
173 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
174 * ├────────────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴──┬────┴───────┬───────┼───────┤
175 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
176 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
177 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
178 * ├─────────┬─────┴───┬───┴─────┬─┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┼───────┴─┬──┬───────┼───────┼───────┤
179 * │ │ │ │ │ │ │▒▒│ │ │ │
180 * │ │ │ │ │ │ │▒▒│ │ │ │
181 * │ │ │ │ │ │ │▒▒│ │ │ │
182 * └─────────┴─────────┴─────────┴───────────────────────────────────────────────┴─────────┴─────────┴──┴───────┴───────┴───────┘
183 [X] = LAYOUT_65_ansi_blocker(
184 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
185 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
186 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
187 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
188 _______, _______, _______, _______, _______, _______, _______, _______, _______
189 ),
190 */
191};
192
193#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
194#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
195
196bool process_record_user(uint16_t keycode, keyrecord_t *record) {
197 static uint32_t key_timer;
198
199 switch (keycode) {
200 case QWERTY:
201 if (record->event.pressed) {
202 set_single_persistent_default_layer(_QWERTY);
203 }
204 return true;
205 case COLEMAK:
206 if (record->event.pressed) {
207 set_single_persistent_default_layer(_COLEMAK);
208 }
209 return true;
210 case DVORAK:
211 if (record->event.pressed) {
212 set_single_persistent_default_layer(_DVORAK);
213 }
214 return true;
215 case WORKMAN:
216 if (record->event.pressed) {
217 set_single_persistent_default_layer(_WORKMAN);
218 }
219 return true;
220 case HK_COSL:
221 clear_keyboard();
222 reset_oneshot_layer();
223 return true;
224 case U_T_AUTO:
225 if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
226 TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
227 }
228 return false;
229 case U_T_AGCR:
230 if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
231 TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
232 }
233 return false;
234 case DBG_TOG:
235 if (record->event.pressed) {
236 TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
237 }
238 return false;
239 case DBG_MTRX:
240 if (record->event.pressed) {
241 TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
242 }
243 return false;
244 case DBG_KBD:
245 if (record->event.pressed) {
246 TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
247 }
248 return false;
249 case DBG_MOU:
250 if (record->event.pressed) {
251 TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
252 }
253 return false;
254 case MD_BOOT:
255 if (record->event.pressed) {
256 key_timer = timer_read32();
257 } else {
258 if (timer_elapsed32(key_timer) >= 500) {
259 reset_keyboard();
260 }
261 }
262 return false;
263 case RGB_TOG:
264 if (record->event.pressed) {
265 switch (rgb_matrix_get_flags()) {
266 case LED_FLAG_ALL: {
267 rgb_matrix_set_flags(LED_FLAG_KEYLIGHT);
268 rgb_matrix_set_color_all(0, 0, 0);
269 }
270 break;
271 case LED_FLAG_KEYLIGHT: {
272 rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
273 rgb_matrix_set_color_all(0, 0, 0);
274 }
275 break;
276 case LED_FLAG_UNDERGLOW: {
277 rgb_matrix_set_flags(LED_FLAG_NONE);
278 rgb_matrix_disable_noeeprom();
279 }
280 break;
281 default: {
282 rgb_matrix_set_flags(LED_FLAG_ALL);
283 rgb_matrix_enable_noeeprom();
284 }
285 break;
286 }
287 }
288 return false;
289 default:
290 return true; //Process all other keycodes normally
291 }
292}