summaryrefslogtreecommitdiff
path: root/keyboards/junco
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2024-02-18 08:20:57 +0000
committerGitHub <noreply@github.com>2024-02-18 08:20:57 +0000
commit2eb9ff8efd1df2c98724481c71c8ab8a5b62e31e (patch)
tree8f3b9dd7e9a8dfc8657f1f2adfc24bc0ad185280 /keyboards/junco
parent2d1aed78a67b3d2b002cc739ef087963b05b76b8 (diff)
Remove obvious user keymaps, keyboards/{i,j,k}* edition (#23102)
Diffstat (limited to 'keyboards/junco')
-rw-r--r--keyboards/junco/keymaps/deluxe/config.h58
-rw-r--r--keyboards/junco/keymaps/deluxe/keymap.c329
-rw-r--r--keyboards/junco/keymaps/deluxe/readme.md43
-rw-r--r--keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc48
-rw-r--r--keyboards/junco/keymaps/deluxe/rules.mk20
5 files changed, 0 insertions, 498 deletions
diff --git a/keyboards/junco/keymaps/deluxe/config.h b/keyboards/junco/keymaps/deluxe/config.h
deleted file mode 100644
index db185a4849..0000000000
--- a/keyboards/junco/keymaps/deluxe/config.h
+++ /dev/null
@@ -1,58 +0,0 @@
1// Copyright 2022 Dane Skalski (@Daneski13)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6/* Indicator LEDs */
7// LED index for caps lock key on the extension layer
8#define CAPS_LOCK_LED_INDEX 25
9// LED index for num lock key on the symbol layer
10#define NUM_LOCK_LED_INDEX 62
11// LED index for key that sticks the adjust layer
12#define ADJST_LED_INDEX 19
13
14// Number of Layers that can be used by VIA.
15// Change this if you want more layers
16#define DYNAMIC_KEYMAP_LAYER_COUNT 6
17
18/* - Encoder settings - */
19#ifdef ENCODER_ENABLE
20# define ENCODER_RESOLUTION 4
21#endif
22#ifdef ENCODER_MAP_ENABLE
23// Key delay for encoders (necessary for some keycodes)
24# define ENCODER_MAP_KEY_DELAY 10
25#endif
26
27/*
28 - RGB Stuff -
29 All effects can be found in the QMK docs:
30 https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
31*/
32#ifdef RGB_MATRIX_ENABLE
33
34// Allows the indicator LEDs to work
35# define SPLIT_LED_STATE_ENABLE
36# define SPLIT_LAYER_STATE_ENABLE
37
38// Default effect when EEPROM cleared
39# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON
40
41// Turns off RGB effects when there is no longer a USB connection
42# define RGB_MATRIX_SLEEP
43
44// Throttling of RGB to increase keyboard responsiveness, set to 1.5x the default limits
45# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 6 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
46# define RGB_MATRIX_LED_FLUSH_LIMIT 24 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms), the default, is equivalent to limiting to 60fps
47
48// Key press reactive animations
49# define SPLIT_TRANSPORT_MIRROR // Necessary setting for key press animations
50# define RGB_MATRIX_KEYPRESSES // Enables key press effects
51# define ENABLE_RGB_MATRIX_MULTISPLASH
52
53// Normal effects
54# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
55# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
56# define ENABLE_RGB_MATRIX_PIXEL_RAIN
57
58#endif
diff --git a/keyboards/junco/keymaps/deluxe/keymap.c b/keyboards/junco/keymaps/deluxe/keymap.c
deleted file mode 100644
index 42b6429b97..0000000000
--- a/keyboards/junco/keymaps/deluxe/keymap.c
+++ /dev/null
@@ -1,329 +0,0 @@
1// Copyright 2022 Dane Skalski (@Daneski13)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6// Layers enum
7enum junco_layers { _QWERTY, _COLEMAK_DH, _SYMB, _EXT, _ADJUST };
8
9// Custom keycodes
10enum custom_keycodes {
11 // Keycode for toggling between macOS and Windows key mappings
12 // Actually just an alias to the GUI and Alt swap Magic keycode
13 KC_OS = MAGIC_TOGGLE_ALT_GUI,
14 // Keycode for swapping the base layer between QWERTY and Colemak-DH
15 KC_TOGGLE_BASE = SAFE_RANGE,
16 // Keycode for redo action (Ctrl + Y on windows, Ctrl + Shift + Z on macOS)
17 KC_REDO,
18 // Keycodes for next/previous word
19 KC_WNXT,
20 KC_WPRV,
21 // Keycode for sticking/unsticking the adjust layer
22 KC_ADJST
23};
24
25/* LED indicators */
26bool is_caps_lock_enabled(void) { // Caps lock
27 return (host_keyboard_led_state().caps_lock);
28}
29bool is_num_lock_enabled(void) { // Num lock
30 return (host_keyboard_led_state().num_lock);
31}
32bool is_adjust_layer_sticky(layer_state_t state) { // Adjust layer sticky
33 // Checks if the state is equal to just the adjust layer being active.
34 // Doing it this way can leverage SPLIT_LAYER_STATE_ENABLE
35 return (state == (1UL << _ADJUST)) ? true : false;
36}
37// Indicator color based on the RGB Matrix mode
38RGB indicator_color(void) {
39 RGB rgb;
40 // Normally the indicator color is white to stand out in the RGB rainbow.
41 // When using the custom RGB mode that already is white, the indicator color
42 // is green to stand out.
43 if (rgb_matrix_config.mode == RGB_MATRIX_CUSTOM_WHITE_UNDERGLOW_CYCLE) {
44 // Green
45 rgb.r = 0;
46 rgb.g = 255;
47 rgb.b = 0;
48 } else {
49 // White
50 rgb.r = 255;
51 rgb.g = 255;
52 rgb.b = 255;
53 }
54 return rgb;
55}
56
57const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 // clang-format off
59 /*
60 Traditional QWERTY
61 ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐
62 │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ - │
63 ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
64 │Tab│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │Ent│
65 ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
66 │Esc│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │
67 ├───┼───┼───┼───┼───┼───┼───┐ ┌───┼───┼───┼───┼───┼───┼───┤
68 │Sft│ Z │ X │ C │ V │ B │Mut│ │▶⏸ │ N │ M │ , │ . │ / │Sft│
69 └───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┴───┘
70 ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐
71 │Ctr│Win│Alt│Del│Spc│ │Sft│Bsp│Alt│Win│Ctr│
72 └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
73 For macOS - GUI (cmd) and Alt (opt) swapped
74 */
75 [_QWERTY] = LAYOUT_split4x6_r1(
76 KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
77 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER,
78 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE,
79 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
80 KC_LCTL, KC_LGUI, KC_LALT, LT(_EXT, KC_DEL), KC_SPC, KC_RSFT, LT(_SYMB, KC_BSPC), KC_RALT, KC_RGUI, KC_RCTL
81 ),
82
83 /*
84 Colemak-DH
85 ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐
86 │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ - │
87 ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
88 │Tab│ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ; │Ent│
89 ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
90 │Esc│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ ' │
91 ├───┼───┼───┼───┼───┼───┼───┐ ┌───┼───┼───┼───┼───┼───┼───┤
92 │Sft│ Z │ X │ C │ D │ V │Mut│ │▶⏸ │ K │ H │ , │ . │ / │Sft│
93 └───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┴───┘
94 ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐
95 │Ctr│Win│Alt│Del│Spc│ │Sft│Bsp│Alt│Win│Ctr│
96 └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
97 For macOS - GUI/Win (cmd) and Alt (opt) swapped
98 */
99 [_COLEMAK_DH] = LAYOUT_split4x6_r1(
100 KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
101 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SEMICOLON, KC_ENTER,
102 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOTE,
103 KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_MUTE, KC_MPLY, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
104 KC_LCTL, KC_LGUI, KC_LALT, LT(_EXT, KC_DEL), KC_SPC, KC_RSFT, LT(_SYMB, KC_BSPC), KC_RALT, KC_RGUI, KC_RCTL
105 ),
106
107 /*
108 Symbols/Numpad Layer
109 ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐
110 │F1 │F2 │F3 │F4 │F5 │F6 │ │F7 │F8 │F9 │F10│F11│F12│
111 ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
112 │Tab│ ! │ @ │ # │ $ │ % │ │ * │ 7 │ 8 │ 9 │ + │Ent│
113 ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
114 │ \ │ _ │ [ │ { │ ( │ ^ │ │ = │ 4 │ 5 │ 6 │ 0 │NUM│
115 ├───┼───┼───┼───┼───┼───┼───┐ ┌───┼───┼───┼───┼───┼───┼───┤
116 │___│ | │ ] │ } │ ) │ & │___│ │___│ / │ 1 │ 2 │ 3 │ - │___│
117 └───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┴───┘
118 ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐
119 │___│___│___│___│___│ │___│___│___│___│___│
120 └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
121 */
122 [_SYMB] = LAYOUT_split4x6_r1(
123 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
124 KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PAST, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_ENTER,
125 KC_BSLS, KC_UNDS, KC_LBRC, KC_LCBR, KC_LPRN, KC_CIRC, KC_PEQL, KC_P4, KC_P5, KC_P6, KC_P0, KC_NUM,
126 _______, KC_PIPE, KC_RBRC, KC_RCBR, KC_RPRN, KC_AMPR, _______, _______, KC_PSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
127 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
128 ),
129
130 /*
131 Extension/Function Layer
132 ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
133 │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10│ F11│ F12│
134 ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
135 │ ⇤ │PGUP│End │ ↑ │Home│ │ │BRIU│ F7 │ F8 │ F9 │ F10│____│
136 ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
137 │Cps │PGDN│ ← │ ↓ │ → │ │ │BRID│ F4 │ F5 │ F6 │ F11│____│
138 ├────┼────┼────┼────┼────┼────┼────┐ ┌────┼────┼────┼────┼────┼────┼────┤
139 │____│ │ │ │ │ │____│ │____│ │ F1 │ F2 │ F3 │ F12│____│
140 └────┴────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┴────┘
141 ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐
142 │___│___│___│___│___│ │___│___│___│___│___│
143 └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
144 */
145 [_EXT] = LAYOUT_split4x6_r1(
146 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
147 S(KC_TAB), KC_PGUP, KC_END, KC_UP, KC_HOME, _______, KC_BRIU, KC_F7, KC_F8, KC_F9, KC_F10, _______,
148 KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_BRID, KC_F4, KC_F5, KC_F6, KC_F11, _______,
149 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, _______,
150 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
151 ),
152
153 /*
154 Adjust Layer, Keyboard Settings
155 ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
156 │ │ │ │ │ │ │ │ │ │ │ │ │ │
157 ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
158 │SpdU│HueU│SatU│ValU│Rnxt│Stck│ │ │EClr│Rbt │DBUG│BOOT│ │
159 ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
160 │SpdD│HueD│SatD│ValD│Rprv│RTgl│ │ │LOUT│ OS │ │ │ │
161 ├────┼────┼────┼────┼────┼────┼────┐ ┌────┼────┼────┼────┼────┼────┼────┤
162 │ │ │ │ │ │ │RTgl│ │ │ │ │ │ │ │ │
163 └────┴────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┴────┘
164 ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐
165 │___│___│___│___│___│ │___│___│___│___│___│
166 └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
167 */
168 [_ADJUST] = LAYOUT_split4x6_r1(
169 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
170 RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, KC_ADJST, KC_NO, EE_CLR, QK_RBT, DB_TOGG, QK_BOOT, KC_NO,
171 RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, RGB_TOG, KC_NO, KC_TOGGLE_BASE, KC_OS, KC_NO, KC_NO, KC_NO,
172 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
173 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
174 )
175 // clang-format on
176};
177
178/*
179 --- Rotary Encoder Mappings ---
180
181 Encoder mappings go from leftmost encoder to rightmost encoder on the physical board.
182 index 0 is the the optional leftmost encoder on the left half, index 1 is the right encoder
183 on the left half (by the thumb keys), index 2 is the left encoder on the right half (by the
184 thumb keys), and index 3 is the optional rightmost encoder on the right half.
185
186 If you are only using the 2 required encoders by the thumb keys, you only need to worry about
187 index 1 and index 2.
188
189 Note that the key to be sent for counter-clockwise rotation (CCW) goes first and then the key for
190 clockwise (CW) within ENCODER_CCW_CW.
191*/
192#ifdef ENCODER_MAP_ENABLE
193// clang-format off
194
195// Base layer encoder mappings:
196const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
197 // Base layers
198 // index 0: mouse wheel up (CCW)/down (CW) index 1: volume up/down index 2: media prev/next index 3: mouse wheel left/right
199 [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_WH_L, KC_WH_R) },
200 [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
201
202 // Passes through to base layer
203 [_SYMB] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
204 // undo/redo previous word/next word
205 [_EXT] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_UNDO, KC_REDO), ENCODER_CCW_CW(KC_WPRV, KC_WNXT) },
206 // RGB Speed down/up RGB previous mode/next mode RGB brightness down/up
207 [_ADJUST] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
208 // clang-format on
209};
210
211#endif
212
213// Called whenever a layer is changed
214layer_state_t layer_state_set_user(layer_state_t state) {
215 // Make sure the adjust layer isn't sticky
216 if (is_adjust_layer_sticky(state)) return state;
217
218 // When both the symbol and extension layer keys are held, the Adjust layer is active.
219 return update_tri_layer_state(state, _SYMB, _EXT, _ADJUST);
220}
221
222bool process_record_user(uint16_t keycode, keyrecord_t *record) {
223 switch (keycode) {
224 // Toggle base layer
225 case KC_TOGGLE_BASE:
226 if (record->event.pressed) {
227 // Toggle swapping base layers between Colemak-DH and QWERTY.
228 // When base layer is QWERTY, swap to Colemak-DH and vice-versa
229 if (get_highest_layer(default_layer_state) == _QWERTY) {
230 default_layer_set(1UL << _COLEMAK_DH);
231 } else {
232 default_layer_set(1UL << _QWERTY);
233 }
234 }
235 return false;
236
237 // Override undo in favor of the more modern undo action
238 case KC_UNDO:
239 if (record->event.pressed) {
240 // Use the correct modifier for macOS or Windows
241 uint16_t mod = keymap_config.swap_lalt_lgui ? KC_LGUI : KC_LCTL;
242 // Send Ctrl+Z/Cmd+Z
243 register_code(mod);
244 tap_code_delay(KC_Z, 10);
245 unregister_code(mod);
246 }
247 return false;
248
249 // Redo action
250 case KC_REDO:
251 if (record->event.pressed) {
252 // Whether or not macOS mapping is enabled
253 if (keymap_config.swap_lalt_lgui) {
254 // macOS - Send Cmd+Shift+Z
255 register_code(KC_LGUI);
256 register_code(KC_LSFT);
257 tap_code_delay(KC_Z, 10);
258 unregister_code(KC_LSFT);
259 unregister_code(KC_LGUI);
260 } else {
261 // Windows - Send Ctrl+Y
262 register_code(KC_LCTL);
263 tap_code_delay(KC_Y, 10);
264 unregister_code(KC_LCTL);
265 }
266 }
267 return false;
268
269 // Next word
270 case KC_WNXT:
271 if (record->event.pressed) {
272 // Use the correct modifier for macOS or Windows
273 uint16_t mod = keymap_config.swap_lalt_lgui ? KC_LALT : KC_LCTL;
274 // Send Ctrl+Right/Option+Right
275 register_code(mod);
276 tap_code_delay(KC_RGHT, 10);
277 unregister_code(mod);
278 }
279 return false;
280
281 // Previous word
282 case KC_WPRV:
283 if (record->event.pressed) {
284 // Use the correct modifier for macOS or Windows
285 uint16_t mod = keymap_config.swap_lalt_lgui ? KC_LALT : KC_LCTL;
286 // Send Ctrl+Left/Option+Left
287 register_code(mod);
288 tap_code_delay(KC_LEFT, 10);
289 unregister_code(mod);
290 }
291 return false;
292
293 // Stick / Unstick the adjust layer
294 case KC_ADJST:
295 if (record->event.pressed) {
296 // If currently not sticky, we want only the adjust layer to be active to make it stick.
297 // Otherwise we want the default layer, un-stick.
298 is_adjust_layer_sticky(layer_state) ? layer_state_set(default_layer_state) : layer_move(_ADJUST);
299 dprintf("Adjust layer is now %s\n", is_adjust_layer_sticky(layer_state) ? "stuck" : "un-stuck");
300 }
301 return false;
302 default:
303 return true;
304 }
305}
306
307/* Indicators (Caps Lock / Num Lock / Adjust Layer Sticky) */
308bool rgb_matrix_indicators_user(void) {
309 layer_state_t curr_layer_state = layer_state;
310 layer_state_t layer = get_highest_layer(curr_layer_state);
311 RGB rgb = indicator_color();
312
313 /* Only show the indicator on their respective layers */
314 // Caps Lock is only on the extension layer
315 if (is_caps_lock_enabled() && layer == _EXT) {
316 rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, rgb.r, rgb.g, rgb.b);
317 }
318
319 // Num Lock is only on the symbol layer
320 if (is_num_lock_enabled() && layer == _SYMB) {
321 rgb_matrix_set_color(NUM_LOCK_LED_INDEX, rgb.r, rgb.g, rgb.b);
322 }
323
324 // If the adjust layer is stuck/sticky, light it up. Don't need to care about
325 // checking the layer since it can only be active on the adjust layer anyway
326 if (is_adjust_layer_sticky(curr_layer_state)) rgb_matrix_set_color(ADJST_LED_INDEX, rgb.r, rgb.g, rgb.b);
327
328 return false;
329}
diff --git a/keyboards/junco/keymaps/deluxe/readme.md b/keyboards/junco/keymaps/deluxe/readme.md
deleted file mode 100644
index d52d315f7d..0000000000
--- a/keyboards/junco/keymaps/deluxe/readme.md
+++ /dev/null
@@ -1,43 +0,0 @@
1# Deluxe Junco Keymap
2
3This is my personal keymap for Junco at time of writing. It departs from the [default layout](../default/README.md) with the encoder mappings and some extra keycodes. This keymap also adds indicators when caps lock and num lock are enabled. When enabled, that key will become a static white (green on the white backlight mode) but only when the layer that respective key is on is active.
4
5I wanted that classic rainbow barf RGB effect for the underglow even if the per-key lighting is something else, so I added 2 custom RGB matrix animations: white per-key lighting with rainbow underglow and pixel rain with rainbow underglow.
6
7Here are some gifs of the animations:
8
9![White + Underglow Animation](https://i.imgur.com/2vCiZz0.gif)
10
11![Pixel Rain + Underglow Animation](https://i.imgur.com/f6t0OfD.gif)
12
13## Base Layers
14
15The base layers are the same as the default layout, except the right side's left encoder (by the thumb keys) is now media controls. Since I am using all 4 encoders it doesn't make sense to have 2 mouse scroll up/down, but for someone with just 2 encoders it may make sense to have media controls on a layer.
16
17QWERTY:
18
19![QWERTY Layer](https://i.imgur.com/vkS9Tceh.png)
20
21Colemak-DH:
22
23![Colemak-DH Layer](https://i.imgur.com/5YYgaUAh.png)
24
25## Symbol Layer
26
27Symbol layer is identical to the default layout.
28
29![Symbol Layer](https://i.imgur.com/6F35Z4Wh.png)
30
31## Extension Layer
32
33Encoders on the right side become undo/redo and scrolling horizontally by word.
34
35![Extension Layer](https://i.imgur.com/0VCStS8h.png)
36
37## Adjust Layer
38
39Pressing "Stick Adj Layer" will "stick" the adjust layer so you can use the rotary encoders for RGB settings rather than holding down both backspace and delete. To go back to the default layer, press that stick key again or press and release either Del or Backspace. When the adjust layer is currently "sticky" the sticky key will become the indicator color mentioned earlier.
40
41"Toggle Base" will toggle between QWERTY and Colemak-DH and toggle OS will toggle between macOS and Windows key-mappings (swapping WIN/Command with Alt/Option by the thumb keys and properly mapping redo/word scrolling).
42
43![Adjust layer](https://i.imgur.com/71ftNoNh.png)
diff --git a/keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc b/keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc
deleted file mode 100644
index 3efe506749..0000000000
--- a/keyboards/junco/keymaps/deluxe/rgb_matrix_user.inc
+++ /dev/null
@@ -1,48 +0,0 @@
1// Copyright 2022 Dane Skalski (@Daneski13)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4RGB_MATRIX_EFFECT(WHITE_UNDERGLOW_CYCLE)
5RGB_MATRIX_EFFECT(PIXEL_RAIN_UNDERGLOW_CYCLE)
6
7#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
8
9// This is a modified version of the effect_runner_dx_dy_dist function from rgb_matrix
10// that only applies the effect to the underglow LEDs of this keyboard
11static bool underglow_effect_runner(effect_params_t* params, dx_dy_dist_f underglow_effect_func, bool backlight_white) {
12 RGB_MATRIX_USE_LIMITS(led_min, led_max);
13
14 HSV hsv = rgb_matrix_config.hsv;
15 HSV white = {0, 0, hsv.v};
16 RGB rgb = rgb_matrix_hsv_to_rgb(white);
17 uint8_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 2);
18 for (uint8_t i = led_min; i < led_max; i++) {
19 // Underglow LEDs are indicies 0 - 7 and 37 - 44
20 if ((i <= 7) || (37 <= i && i <= 44)) {
21 // Apply the maths and colors to the underglow LEDs
22 RGB_MATRIX_TEST_LED_FLAGS();
23 int16_t dx = g_led_config.point[i].x - k_rgb_matrix_center.x;
24 int16_t dy = g_led_config.point[i].y - k_rgb_matrix_center.y;
25 uint8_t dist = sqrt16(dx * dx + dy * dy);
26 RGB rgb = rgb_matrix_hsv_to_rgb(underglow_effect_func(hsv, dx, dy, dist, time));
27 rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
28 } else {
29 // Set the backlight to white if needed
30 if (!backlight_white) continue;
31 rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
32 }
33 }
34 return rgb_matrix_check_finished_leds(led_max);
35}
36
37// Solid white but the underglow is a rainbow spiral
38static bool WHITE_UNDERGLOW_CYCLE(effect_params_t* params) {
39 return underglow_effect_runner(params, &CYCLE_SPIRAL_math, true);
40}
41
42// Pixel rain effect but the underglow is a rainbow spiral
43static bool PIXEL_RAIN_UNDERGLOW_CYCLE(effect_params_t* params) {
44 PIXEL_RAIN(params);
45 return underglow_effect_runner(params, &CYCLE_SPIRAL_math, false);
46}
47
48#endif
diff --git a/keyboards/junco/keymaps/deluxe/rules.mk b/keyboards/junco/keymaps/deluxe/rules.mk
deleted file mode 100644
index b788c6155b..0000000000
--- a/keyboards/junco/keymaps/deluxe/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
1# Enables Audio control and System control Keycodes
2EXTRAKEY_ENABLE = yes
3# Enables Mousekeys
4MOUSEKEY_ENABLE = yes
5# Encoder Support
6ENCODER_ENABLE = yes
7# Use Enocoder Mapping
8ENCODER_MAP_ENABLE = yes
9
10# Enables RGB Lighting Effects
11RGB_MATRIX_ENABLE = yes
12
13# Allows use of `qmk console` for debugging
14CONSOLE_ENABLE = yes
15
16# Enables VIA
17VIA_ENABLE = yes
18
19# Custom RGB Matrix Effect
20RGB_MATRIX_CUSTOM_USER = yes