diff options
author | Andre Brait <andrebrait@gmail.com> | 2022-02-02 06:04:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-01 21:04:50 -0800 |
commit | 70c5915da8cc496dc5d7c6deb27f780a39863008 (patch) | |
tree | df44e3e2c834d984edd5cbe94ff49f752c6651b3 | |
parent | 50f55c61fd1a8ed2e05356945b6751866a15ade1 (diff) | |
download | qmk_firmware-70c5915da8cc496dc5d7c6deb27f780a39863008.tar.gz qmk_firmware-70c5915da8cc496dc5d7c6deb27f780a39863008.zip |
[Keymap] Add MacOS layer (#16151)
Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r-- | keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c | 154 | ||||
-rw-r--r-- | keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md | 2 | ||||
-rw-r--r-- | keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk | 2 |
3 files changed, 106 insertions, 52 deletions
diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c index 74a45b703..e521425f2 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com> | 1 | /* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com> |
2 | Copyright 2021 Andre Brait <andrebrait@gmail.com> | 2 | Copyright 2022 Andre Brait <andrebrait@gmail.com> |
3 | 3 | ||
4 | This program is free software: you can redistribute it and/or modify | 4 | This program is free software: you can redistribute it and/or modify |
5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
@@ -17,11 +17,26 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
17 | 17 | ||
18 | #include QMK_KEYBOARD_H | 18 | #include QMK_KEYBOARD_H |
19 | 19 | ||
20 | #ifdef RGB_MATRIX_ENABLE | 20 | enum layers { |
21 | #ifndef RGB_CONFIRMATION_BLINKING_TIME | 21 | WIN_BASE = 0, |
22 | #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds | 22 | WIN_FN, |
23 | #endif | 23 | MAC_BASE, |
24 | #endif // RGB_MATRIX_ENABLE | 24 | MAC_FN |
25 | }; | ||
26 | |||
27 | enum custom_keycodes { | ||
28 | KC_MISSION_CONTROL = SAFE_RANGE, | ||
29 | KC_LAUNCHPAD | ||
30 | }; | ||
31 | |||
32 | #define KC_TASK LGUI(KC_TAB) | ||
33 | #define KC_FLXP LGUI(KC_E) | ||
34 | #define KC_MCTL KC_MISSION_CONTROL | ||
35 | #define KC_LPAD KC_LAUNCHPAD | ||
36 | #define TO_WINB TO(WIN_BASE) | ||
37 | #define TO_MACB TO(MAC_BASE) | ||
38 | #define MO_WINF MO(WIN_FN) | ||
39 | #define MO_MACF MO(MAC_FN) | ||
25 | 40 | ||
26 | // clang-format off | 41 | // clang-format off |
27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 42 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
@@ -45,25 +60,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
45 | // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). | 60 | // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). |
46 | // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. | 61 | // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. |
47 | // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. | 62 | // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. |
48 | [0] = LAYOUT( | 63 | // |
49 | 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_MUTE, | 64 | // RGB and function keys are inspired by the Keychron Q1 layouts instead of using the default keys. |
50 | 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, | 65 | // |
51 | 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, | 66 | // KC_PAUS/KC_BRMU and KC_SCRL/KC_BRMD are aliases for the same keys, but their names reflect better the function in each layout. |
52 | 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_PGDN, | 67 | [WIN_BASE] = LAYOUT( |
53 | 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_END, | 68 | 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_MUTE, |
54 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | 69 | 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, |
70 | 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, | ||
71 | 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_PGDN, | ||
72 | 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_END, | ||
73 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO_WINF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
55 | ), | 74 | ), |
56 | 75 | ||
57 | [1] = LAYOUT( | 76 | [WIN_FN] = LAYOUT( |
58 | _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_INS, _______, | 77 | _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_INS, XXXXXXX, |
59 | _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, | 78 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, |
60 | _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, | 79 | RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_PAUS, |
61 | _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 80 | TO_MACB, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL, |
62 | _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, | 81 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
63 | _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI | 82 | _______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX |
64 | ), | 83 | ), |
65 | 84 | ||
85 | [MAC_BASE] = LAYOUT( | ||
86 | 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_MUTE, | ||
87 | 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, | ||
88 | 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, | ||
89 | 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_PGDN, | ||
90 | 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_END, | ||
91 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO_MACF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
92 | ), | ||
66 | 93 | ||
94 | [MAC_FN] = LAYOUT( | ||
95 | _______, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_INS, XXXXXXX, | ||
96 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, | ||
97 | RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_BRMU, | ||
98 | TO_WINB, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRMD, | ||
99 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
100 | _______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX | ||
101 | ) | ||
67 | }; | 102 | }; |
68 | // clang-format on | 103 | // clang-format on |
69 | 104 | ||
@@ -80,13 +115,14 @@ bool encoder_update_user(uint8_t index, bool clockwise) { | |||
80 | 115 | ||
81 | #ifdef RGB_MATRIX_ENABLE | 116 | #ifdef RGB_MATRIX_ENABLE |
82 | 117 | ||
118 | #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds | ||
119 | |||
83 | /* Renaming those to make the purpose on this keymap clearer */ | 120 | /* Renaming those to make the purpose on this keymap clearer */ |
84 | #define LED_FLAG_CAPS LED_FLAG_NONE | 121 | #define LED_FLAG_CAPS LED_FLAG_NONE |
85 | #define LED_FLAG_EFFECTS LED_FLAG_INDICATOR | 122 | #define LED_FLAG_EFFECTS LED_FLAG_INDICATOR |
86 | 123 | ||
87 | static void set_rgb_caps_leds(void); | 124 | static void set_rgb_caps_leds(void); |
88 | 125 | ||
89 | #if RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
90 | static uint16_t effect_started_time = 0; | 126 | static uint16_t effect_started_time = 0; |
91 | static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0; | 127 | static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0; |
92 | static void start_effects(void); | 128 | static void start_effects(void); |
@@ -100,7 +136,31 @@ static void start_effects(void); | |||
100 | #endif | 136 | #endif |
101 | #define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0 | 137 | #define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0 |
102 | #define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0 | 138 | #define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0 |
103 | #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 | 139 | #define effect_blue() r_effect = 0x0, g_effect = 0x0, b_effect = 0xFF |
140 | #define effect_white() r_effect = 0xFF, g_effect = 0xFF, b_effect = 0xFF | ||
141 | |||
142 | static uint8_t previous_effect_layer = 255; | ||
143 | |||
144 | layer_state_t layer_state_set_user(layer_state_t state) { | ||
145 | uint8_t current_layer = get_highest_layer(state); | ||
146 | switch (current_layer) { | ||
147 | case WIN_BASE: | ||
148 | if (previous_effect_layer != current_layer) { | ||
149 | previous_effect_layer = current_layer; | ||
150 | effect_blue(); | ||
151 | start_effects(); | ||
152 | } | ||
153 | break; | ||
154 | case MAC_BASE: | ||
155 | if (previous_effect_layer != current_layer) { | ||
156 | previous_effect_layer = current_layer; | ||
157 | effect_white(); | ||
158 | start_effects(); | ||
159 | } | ||
160 | break; | ||
161 | } | ||
162 | return state; | ||
163 | } | ||
104 | 164 | ||
105 | bool led_update_user(led_t led_state) { | 165 | bool led_update_user(led_t led_state) { |
106 | if (led_state.caps_lock) { | 166 | if (led_state.caps_lock) { |
@@ -117,10 +177,26 @@ bool led_update_user(led_t led_state) { | |||
117 | return true; | 177 | return true; |
118 | } | 178 | } |
119 | 179 | ||
180 | #endif // RGB_MATRIX_ENABLE | ||
181 | |||
120 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 182 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
121 | switch (keycode) { | 183 | switch (keycode) { |
184 | case KC_MISSION_CONTROL: | ||
185 | if (record->event.pressed) { | ||
186 | host_consumer_send(0x29F); | ||
187 | } else { | ||
188 | host_consumer_send(0); | ||
189 | } | ||
190 | return false; // Skip all further processing of this key | ||
191 | case KC_LAUNCHPAD: | ||
192 | if (record->event.pressed) { | ||
193 | host_consumer_send(0x2A0); | ||
194 | } else { | ||
195 | host_consumer_send(0); | ||
196 | } | ||
197 | return false; // Skip all further processing of this key | ||
198 | #ifdef RGB_MATRIX_ENABLE | ||
122 | #ifdef NKRO_ENABLE | 199 | #ifdef NKRO_ENABLE |
123 | #if RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
124 | case NK_TOGG: | 200 | case NK_TOGG: |
125 | if (record->event.pressed) { | 201 | if (record->event.pressed) { |
126 | if (keymap_config.nkro) { | 202 | if (keymap_config.nkro) { |
@@ -133,25 +209,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
133 | start_effects(); | 209 | start_effects(); |
134 | } | 210 | } |
135 | break; | 211 | break; |
136 | case NK_ON: | ||
137 | if (record->event.pressed) { | ||
138 | if (!keymap_config.nkro) { | ||
139 | /* Turning NKRO ON */ | ||
140 | effect_green(); | ||
141 | start_effects(); | ||
142 | } | ||
143 | } | ||
144 | break; | ||
145 | case NK_OFF: | ||
146 | if (record->event.pressed) { | ||
147 | if (keymap_config.nkro) { | ||
148 | /* Turning NKRO OFF */ | ||
149 | effect_red(); | ||
150 | start_effects(); | ||
151 | } | ||
152 | } | ||
153 | break; | ||
154 | #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
155 | #endif // NKRO_ENABLE | 212 | #endif // NKRO_ENABLE |
156 | case RGB_MOD: | 213 | case RGB_MOD: |
157 | case RGB_RMOD: | 214 | case RGB_RMOD: |
@@ -166,7 +223,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
166 | if (record->event.pressed) { | 223 | if (record->event.pressed) { |
167 | if (rgb_matrix_get_flags() != LED_FLAG_ALL) { | 224 | if (rgb_matrix_get_flags() != LED_FLAG_ALL) { |
168 | /* Ignore changes to RGB settings while only it's supposed to be OFF */ | 225 | /* Ignore changes to RGB settings while only it's supposed to be OFF */ |
169 | return false; | 226 | return false; // Skip all further processing of this key |
170 | } | 227 | } |
171 | } | 228 | } |
172 | break; | 229 | break; |
@@ -174,9 +231,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
174 | if (record->event.pressed) { | 231 | if (record->event.pressed) { |
175 | if (rgb_matrix_is_enabled()) { | 232 | if (rgb_matrix_is_enabled()) { |
176 | switch (rgb_matrix_get_flags()) { | 233 | switch (rgb_matrix_get_flags()) { |
177 | #if RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
178 | case LED_FLAG_EFFECTS: | 234 | case LED_FLAG_EFFECTS: |
179 | #endif | ||
180 | case LED_FLAG_CAPS: | 235 | case LED_FLAG_CAPS: |
181 | /* Turned ON because of EFFECTS or CAPS, is actually OFF */ | 236 | /* Turned ON because of EFFECTS or CAPS, is actually OFF */ |
182 | /* Change to LED_FLAG_ALL to signal it's really ON */ | 237 | /* Change to LED_FLAG_ALL to signal it's really ON */ |
@@ -186,14 +241,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
186 | break; | 241 | break; |
187 | case LED_FLAG_ALL: | 242 | case LED_FLAG_ALL: |
188 | /* Is actually ON */ | 243 | /* Is actually ON */ |
189 | #if RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
190 | if (effect_started_time > 0) { | 244 | if (effect_started_time > 0) { |
191 | /* Signal EFFECTS */ | 245 | /* Signal EFFECTS */ |
192 | rgb_matrix_set_flags(LED_FLAG_EFFECTS); | 246 | rgb_matrix_set_flags(LED_FLAG_EFFECTS); |
193 | /* Will be re-enabled by the processing of the toggle */ | 247 | /* Will be re-enabled by the processing of the toggle */ |
194 | rgb_matrix_disable_noeeprom(); | 248 | rgb_matrix_disable_noeeprom(); |
195 | } else | 249 | } else |
196 | #endif | ||
197 | if (host_keyboard_led_state().caps_lock) { | 250 | if (host_keyboard_led_state().caps_lock) { |
198 | /* Signal CAPS */ | 251 | /* Signal CAPS */ |
199 | rgb_matrix_set_flags(LED_FLAG_CAPS); | 252 | rgb_matrix_set_flags(LED_FLAG_CAPS); |
@@ -205,13 +258,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
205 | } | 258 | } |
206 | } | 259 | } |
207 | break; | 260 | break; |
261 | #endif // RGB_MATRIX_ENABLE | ||
208 | } | 262 | } |
209 | return true; | 263 | return true; |
210 | } | 264 | } |
211 | 265 | ||
212 | 266 | #ifdef RGB_MATRIX_ENABLE | |
213 | void rgb_matrix_indicators_user() { | 267 | void rgb_matrix_indicators_user() { |
214 | #if RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
215 | if (effect_started_time > 0) { | 268 | if (effect_started_time > 0) { |
216 | /* Render blinking EFFECTS */ | 269 | /* Render blinking EFFECTS */ |
217 | const uint16_t deltaTime = sync_timer_elapsed(effect_started_time); | 270 | const uint16_t deltaTime = sync_timer_elapsed(effect_started_time); |
@@ -241,7 +294,6 @@ void rgb_matrix_indicators_user() { | |||
241 | } | 294 | } |
242 | } | 295 | } |
243 | } | 296 | } |
244 | #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
245 | if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { | 297 | if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { |
246 | rgb_matrix_set_color_all(0x0, 0x0, 0x0); | 298 | rgb_matrix_set_color_all(0x0, 0x0, 0x0); |
247 | } | 299 | } |
@@ -250,7 +302,6 @@ void rgb_matrix_indicators_user() { | |||
250 | } | 302 | } |
251 | } | 303 | } |
252 | 304 | ||
253 | #if RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
254 | static void start_effects() { | 305 | static void start_effects() { |
255 | effect_started_time = sync_timer_read(); | 306 | effect_started_time = sync_timer_read(); |
256 | if (!rgb_matrix_is_enabled()) { | 307 | if (!rgb_matrix_is_enabled()) { |
@@ -262,7 +313,6 @@ static void start_effects() { | |||
262 | rgb_matrix_set_flags(LED_FLAG_EFFECTS); | 313 | rgb_matrix_set_flags(LED_FLAG_EFFECTS); |
263 | } | 314 | } |
264 | } | 315 | } |
265 | #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 | ||
266 | 316 | ||
267 | // RGB led number layout, function of the key | 317 | // RGB led number layout, function of the key |
268 | 318 | ||
diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md index 5cb49bd83..99d0a3672 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md | |||
@@ -5,6 +5,8 @@ It basically reflects my needs for both Delete and Insert being readily availabl | |||
5 | 5 | ||
6 | The differences are as follows: | 6 | The differences are as follows: |
7 | 7 | ||
8 | - Dedicated MacOS and Windows/Linux layers | ||
9 | - Switching between them by pressing Fn + CAPS LOCK | ||
8 | - Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway) | 10 | - Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway) |
9 | - Short DEBOUNCE time (5 ms) | 11 | - Short DEBOUNCE time (5 ms) |
10 | - Per-key debounce algorithm (sym_defer_pk) | 12 | - Per-key debounce algorithm (sym_defer_pk) |
diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk index 6024d42f1..057e9a954 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk | |||
@@ -1,4 +1,6 @@ | |||
1 | # Enable additional features. | 1 | # Enable additional features. |
2 | 2 | ||
3 | DEBOUNCE_TYPE = sym_defer_pk | 3 | DEBOUNCE_TYPE = sym_defer_pk |
4 | |||
5 | # Disabling MouseKey because it breaks my KVM switch | ||
4 | MOUSEKEY_ENABLE = no | 6 | MOUSEKEY_ENABLE = no |