a4760c4d1b03e1006eb62ca72ecc22e0e6ea44bb

Author
Joel Challis <git@zvecr.com>
Committer
GitHub <noreply@github.com>
Date

Message

Remove duplicated rgblight implementation from mxss (#22122)

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/mxss/config.h b/keyboards/mxss/config.h
  2index bfa2338678c02592399adeecf5a08d09a0fe28fc..704da3911aa3673f774b0bd84e9fdbe7f5ce44e3 100644
  3--- a/keyboards/mxss/config.h
  4+++ b/keyboards/mxss/config.h
  5@@ -21,6 +21,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  6 #define LOCKING_SUPPORT_ENABLE
  7 /* Locking resynchronize hack */
  8 #define LOCKING_RESYNC_ENABLE
  9-
 10-// FLED config takes up 1 byte, stored color count takes 1, stored colors take up to 8
 11-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 10
 12diff --git a/keyboards/mxss/info.json b/keyboards/mxss/info.json
 13index 7b24c4671793deac12d0c1a3b608b28850c1fec0..08461574579f2c433f2f66f380fb5aa60ebb8b2a 100644
 14--- a/keyboards/mxss/info.json
 15+++ b/keyboards/mxss/info.json
 16@@ -8,6 +8,15 @@
 17     "pid": "0x5353",
 18     "device_version": "0.0.1"
 19   },
 20+  "features": {
 21+    "bootmagic": true,
 22+    "command": false,
 23+    "console": false,
 24+    "extrakey": true,
 25+    "mousekey": true,
 26+    "nkro": false,
 27+    "rgblight": true
 28+  },
 29   "rgblight": {
 30     "saturation_steps": 8,
 31     "brightness_steps": 8,
 32diff --git a/keyboards/mxss/keymaps/default/keymap.c b/keyboards/mxss/keymaps/default/keymap.c
 33index 06e73f4688b6fc3189eb9d8a7ac31523799c3698..8f7c2bd2a5c2f994cd3cfab08274f9fd53faf9e3 100644
 34--- a/keyboards/mxss/keymaps/default/keymap.c
 35+++ b/keyboards/mxss/keymaps/default/keymap.c
 36@@ -14,21 +14,6 @@
 37  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 38  */
 39 #include QMK_KEYBOARD_H
 40-#include "mxss_frontled.h"
 41-
 42-hs_set caps_color = { .hue = 0, .sat = 255 };
 43-
 44-// Colors for layers
 45-// Format: {hue, saturation}
 46-// {0, 0} to turn off the LED
 47-// Add additional rows to handle more layers
 48-hs_set layer_colors[4] = {
 49-    [0] = {.hue = 0,     .sat = 0},  // Color for Layer 0
 50-    [1] = {.hue = 86,    .sat = 255},  // Color for Layer 1
 51-    [2] = {.hue = 36,    .sat = 255},  // Color for Layer 2
 52-    [3] = {.hue = 185,   .sat = 255},  // Color for Layer 3
 53-};
 54-size_t lc_size = ARRAY_SIZE(layer_colors);
 55 
 56 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 57 	LAYOUT( /* Base */
 58@@ -41,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 59 
 60     LAYOUT( /* L1 */
 61 	KC_GRV, 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,
 62-    KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, FLED_VAD, FLED_VAI, FLED_MOD, RGB_VAI,
 63+    KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI,
 64     QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD,
 65     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG,
 66     KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,           KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI
 67diff --git a/keyboards/mxss/keymaps/via/keymap.c b/keyboards/mxss/keymaps/via/keymap.c
 68index 3591f4d3f9259aac062565523d0e1180efdea2bd..a9ce5f5bd172f7c456c75c5bdb0a27664840cd21 100644
 69--- a/keyboards/mxss/keymaps/via/keymap.c
 70+++ b/keyboards/mxss/keymaps/via/keymap.c
 71@@ -14,7 +14,6 @@
 72  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 73  */
 74 #include QMK_KEYBOARD_H
 75-#include "mxss_frontled.h"
 76 
 77 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 78 	LAYOUT_all( /* L0 */
 79@@ -26,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 80     ),
 81     LAYOUT_all( /* L1 */
 82         KC_GRV, 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_TRNS, KC_TRNS,
 83-        KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, FLED_VAD, FLED_VAI, FLED_MOD, RGB_VAI,
 84+        KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI,
 85         QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD,
 86         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG,
 87         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI
 88diff --git a/keyboards/mxss/mxss.c b/keyboards/mxss/mxss.c
 89deleted file mode 100644
 90index 021eb1de4ebaf2d71291bd3bb6cec7f7854a7e52..0000000000000000000000000000000000000000
 91--- a/keyboards/mxss/mxss.c
 92+++ /dev/null
 93@@ -1,73 +0,0 @@
 94-/* Copyright 2020 Jumail Mundekkat / MxBlue
 95- *
 96- * This program is free software: you can redistribute it and/or modify
 97- * it under the terms of the GNU General Public License as published by
 98- * the Free Software Foundation, either version 2 of the License, or
 99- * (at your option) any later version.
100- *
101- * This program is distributed in the hope that it will be useful,
102- * but WITHOUT ANY WARRANTY; without even the implied warranty of
103- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
104- * GNU General Public License for more details.
105- *
106- * You should have received a copy of the GNU General Public License
107- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
108- *
109- * EEPROM management code from ../cannonkeys/stm32f072/keyboard.c
110- */
111-
112-#include "quantum.h"
113-#include "eeprom.h"
114-#include "mxss_frontled.h"
115-#include "version.h" // for QMK_BUILDDATE used in EEPROM magic
116-
117-void via_init_kb(void) {
118-	fled_init();
119-}
120-
121-void matrix_init_kb(void) {
122-    // If VIA is disabled, we still need to load settings
123-	// Call via_init_kb() the same way as via_init(), with setting
124-	// EEPROM valid afterwards.
125-#ifndef VIA_ENABLE
126-    fled_init();
127-    via_eeprom_set_valid(true);
128-#endif // VIA_ENABLE
129-
130-	matrix_init_user();
131-}
132-
133-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
134-    // Handle custom keycodes for front LED operation
135-    process_record_fled(keycode, record);
136-	return process_record_user(keycode, record);
137-}
138-
139-bool led_update_kb(led_t led_state) {
140-    fled_lock_update(led_state);
141-	return led_update_user(led_state);
142-}
143-
144-layer_state_t layer_state_set_kb(layer_state_t state) {
145-    fled_layer_update(state);
146-    return layer_state_set_user(state);
147-}
148-
149-// Fallback eeprom functions if VIA is not enabled
150-#ifndef VIA_ENABLE
151-
152-// Sets VIA/keyboard level usage of EEPROM to valid/invalid
153-// Keyboard level code (eg. via_init_kb()) should not call this
154-void via_eeprom_set_valid(bool valid)
155-{
156-    char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
157-    uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3]  & 0x0F );
158-    uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6]  & 0x0F );
159-    uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9]  & 0x0F );
160-
161-    eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0, valid ? magic0 : 0xFF);
162-    eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1, valid ? magic1 : 0xFF);
163-    eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2, valid ? magic2 : 0xFF);
164-}
165-
166-#endif
167diff --git a/keyboards/mxss/mxss_frontled.c b/keyboards/mxss/mxss_frontled.c
168deleted file mode 100644
169index 11c942c959c45ef5f9967abf7ec5ec8755c38a8f..0000000000000000000000000000000000000000
170--- a/keyboards/mxss/mxss_frontled.c
171+++ /dev/null
172@@ -1,278 +0,0 @@
173-/* Copyright 2020 Jumail Mundekkat / MxBlue
174- *
175- * This program is free software: you can redistribute it and/or modify
176- * it under the terms of the GNU General Public License as published by
177- * the Free Software Foundation, either version 2 of the License, or
178- * (at your option) any later version.
179- *
180- * This program is distributed in the hope that it will be useful,
181- * but WITHOUT ANY WARRANTY; without even the implied warranty of
182- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
183- * GNU General Public License for more details.
184- *
185- * You should have received a copy of the GNU General Public License
186- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
187- *
188- * Extended from the work done by fcoury: https://github.com/qmk/qmk_firmware/pull/4915
189- */
190-
191-#include "mxss_frontled.h"
192-#include "eeprom.h"
193-#include "rgblight.h"
194-#include "via.h"
195-#include "version.h" // for QMK_BUILDDATE used in EEPROM magic
196-
197-// Variables for controlling front LED application
198-uint8_t fled_mode;  // Mode for front LEDs
199-uint8_t fled_val;   // Brightness for front leds (0 - 255)
200-rgb_led_t fleds[2];  // Front LED rgb values for indicator mode use
201-
202-// Layer indicator colors
203-__attribute__ ((weak))
204-hs_set layer_colors[FRONTLED_COLOR_MAXCNT];
205-
206-// Caps lock indicator color
207-__attribute__ ((weak))
208-hs_set caps_color;
209-
210-__attribute__ ((weak))
211-size_t lc_size = ARRAY_SIZE(layer_colors);
212-
213-void fled_init(void) {
214-    // This checks both an EEPROM reset (from bootmagic lite, keycodes)
215-    // and also firmware build date (from via_eeprom_is_valid())
216-    if (eeconfig_is_enabled()) {
217-        fled_load_conf();
218-    // Else, default config
219-    } else {
220-        // Default mode/brightness
221-        fled_mode = FLED_RGB;
222-        fled_val = 10 * FLED_VAL_STEP;
223-
224-        // Default colors
225-        caps_color.hue = 0;
226-        caps_color.sat = 255;
227-        layer_colors[0].hue = 0;
228-        layer_colors[0].sat = 0;
229-        layer_colors[1].hue = 86;
230-        layer_colors[1].sat = 255;
231-        layer_colors[2].hue = 36;
232-        layer_colors[2].sat = 255;
233-        layer_colors[3].hue = 185;
234-        layer_colors[3].sat = 255;
235-
236-        fled_update_conf();   // Store default config to EEPROM
237-    }
238-
239-    // Set default values for leds
240-    setrgb(0, 0, 0, &fleds[0]);
241-    setrgb(0, 0, 0, &fleds[1]);
242-
243-    // Handle lighting for indicator mode
244-    if (fled_mode == FLED_INDI) {
245-        fled_lock_update(host_keyboard_led_state());
246-        fled_layer_update(layer_state);
247-    }
248-}
249-
250-void  process_record_fled(uint16_t keycode, keyrecord_t *record) {
251-    // Handle custom keycodes for front LED operation
252-    switch (keycode) {
253-        case FLED_MOD: // Change between front LED operation modes (off, indicator, RGB)
254-        if (record->event.pressed)
255-            fled_mode_cycle();
256-        break;
257-
258-        case FLED_VAI: // Increase the brightness of the front LEDs by FLED_VAL_STEP
259-        if (record->event.pressed)
260-            fled_val_increase();
261-        break;
262-
263-        case FLED_VAD: // Decrease the brightness of the front LEDs by FLED_VAL_STEP
264-        if (record->event.pressed)
265-            fled_val_decrease();
266-        break;
267-
268-        default:
269-        break; // Process all other keycodes normally
270-      }
271-
272diff --git a/keyboards/mxss/mxss_frontled.h b/keyboards/mxss/mxss_frontled.h
273deleted file mode 100644
274index c8d4199d4780fb323e505a41d7a817ef7b5c7cb3..0000000000000000000000000000000000000000
275--- a/keyboards/mxss/mxss_frontled.h
276+++ /dev/null
277@@ -1,87 +0,0 @@
278-/* Copyright 2020 Jumail Mundekkat / MxBlue
279- *
280- * This program is free software: you can redistribute it and/or modify
281- * it under the terms of the GNU General Public License as published by
282- * the Free Software Foundation, either version 2 of the License, or
283- * (at your option) any later version.
284- *
285- * This program is distributed in the hope that it will be useful,
286- * but WITHOUT ANY WARRANTY; without even the implied warranty of
287- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
288- * GNU General Public License for more details.
289- *
290- * You should have received a copy of the GNU General Public License
291- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
292- */
293-
294-// EEPROM management code taken from Wilba6582
295-// https://github.com/Wilba6582/qmk_firmware/blob/zeal60/keyboards/zeal60/zeal_eeprom.h
296-
297-#pragma once
298-
299-#include "quantum.h"
300-#include "quantum_keycodes.h"
301-#include "via.h"
302-
303-// RGBLED index for front LEDs
304-#define RGBLIGHT_FLED1 14
305-#define RGBLIGHT_FLED2 15
306-
307-// Brightness increase step for front LEDs
308-#define FLED_VAL_STEP 8
309-
310-// Front LED settings
311-#define FRONTLED_CONF_ADDR ((uint8_t*) VIA_EEPROM_CUSTOM_CONFIG_ADDR)
312-#define FRONTLED_COLOR_CNT_ADDR (FRONTLED_CONF_ADDR + 1)
313-#define FRONTLED_COLOR_ADDR ((uint16_t*)(FRONTLED_COLOR_CNT_ADDR + 1))
314-
315-// No point persisting more 4, VIA only allows editing of 3 + 1 for caps
316-#define FRONTLED_COLOR_MAXCNT 4
317-
318-// Modes for front LEDs
319-#define FLED_OFF    0b00
320-#define FLED_INDI   0b01
321-#define FLED_RGB    0b10
322-#define FLED_UNDEF  0b11
323-
324-// Config storage format for EEPROM
325-typedef union {
326-  uint8_t raw;
327-  struct {
328-    uint8_t  mode    :2;
329-    uint8_t  val     :6;
330-  };
331-} fled_config;
332-
333-// Structure to store hue and saturation values
334-typedef union {
335-    uint16_t raw;
336-    struct {
337-        uint8_t hue;
338-        uint8_t sat;
339-    };
340-} hs_set;
341-
342-// Custom keycodes for front LED control
343-enum fled_keycodes {
344-    FLED_MOD = QK_KB_0, // QK_KB_0 = VIA custom keycode start
345-    FLED_VAI,
346-    FLED_VAD,
347-};
348-
349-void fled_init(void);                // Run init functions for front LEDs
350-void process_record_fled(uint16_t keycode, keyrecord_t* record); // Process keycodes for front LEDs
351-void fled_load_conf(void);          // Load front LED config from EEPROM
352-void fled_update_conf(void);        // Store current front LED config to EEPROM
353-
354-void fled_mode_cycle(void);         // Cycle between the 3 modes for the front LEDs
355-void fled_val_increase(void);       // Increase the brightness of the front LEDs
356-void fled_val_decrease(void);       // Decrease the brightness of the front LEDs
357-
358-void fled_layer_update(layer_state_t state);   // Process layer update for front LEDs
359-void fled_lock_update(led_t led_state);     // Process lock update for front LEDs
360-
361-void set_fled_layer_color(uint8_t layer, hs_set hs); // Set color for a given layer
362-void set_fled_caps_color(hs_set hs);        // Set color for the capslock indicator
363-hs_set get_fled_caps_color(void);           // Get color for the capslock indicator
364-hs_set get_fled_layer_color(uint8_t layer);       // Get color for a given layer
365diff --git a/keyboards/mxss/readme.md b/keyboards/mxss/readme.md
366index 17343be5269bc58fbcff200c3301ce7781a3b43d..e22fe256ede5793fff0ce4cfeaa0466e6ec37935 100644
367--- a/keyboards/mxss/readme.md
368+++ b/keyboards/mxss/readme.md
369@@ -2,11 +2,6 @@
370 
371 ![MxSS - Polycarb 65% Kit for MX/SMK](https://i.imgur.com/WDTWcmU.jpg)
372 
373-### Important Note:
374-**This PCB supports the VIA configurator, and this is the recommended way to configure the keymap on this keyboard. Building the firmware should only be necessary if you would like to change the colours of the front LEDs in indicator mode.**
375-
376-**For more information about the VIA configurator, [see here](https://caniusevia.com/).**
377-
378 ### Information:
379 
380  - Case: Frosted Polycarbonate, CNC milled
381@@ -24,32 +19,23 @@
382  - RGB underglow
383  - 1.5kg with plate and weight
384 
385-Keyboard Maintainer: [MxBlue](https://github.com/mxblu)  
386-
387-Hardware Supported: Custom PCB, ATMega32u4
388-
389-Hardware Availability: https://geekhack.org/index.php?topic=94986.0
390+* Keyboard Maintainer: [MxBlue](https://github.com/mxblu)
391+* Hardware Supported: Custom PCB, ATMega32u4
392+* Hardware Availability: https://geekhack.org/index.php?topic=94986.0
393 
394 Make example for this keyboard (after setting up your build environment):
395 
396     make mxss:default
397 
398-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
399-
400-# Front LED Operation
401+Flashing example for this keyboard:
402 
403-The MxSS PCB has 2 front RGB LEDs which has a separate brightness and mode of operation to the rest of the RGB LEDs. These are controlled through the supplied custom keycodes.
404+    make mxss:default:flash
405 
406-There are 3 modes of operation:
407diff --git a/keyboards/mxss/rgblight.c b/keyboards/mxss/rgblight.c
408deleted file mode 100644
409index 9809020a81a4fd8563dbf1f237a7db3c1d5f9409..0000000000000000000000000000000000000000
410--- a/keyboards/mxss/rgblight.c
411+++ /dev/null
412@@ -1,1392 +0,0 @@
413-/* Copyright 2016-2017 Yang Liu
414- *
415- * This program is free software: you can redistribute it and/or modify
416- * it under the terms of the GNU General Public License as published by
417- * the Free Software Foundation, either version 2 of the License, or
418- * (at your option) any later version.
419- *
420- * This program is distributed in the hope that it will be useful,
421- * but WITHOUT ANY WARRANTY; without even the implied warranty of
422- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
423- * GNU General Public License for more details.
424- *
425- * You should have received a copy of the GNU General Public License
426- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
427- */
428-#include <math.h>
429-#include <string.h>
430-#include <stdlib.h>
431-#ifdef __AVR__
432-#    include <avr/eeprom.h>
433-#    include <avr/interrupt.h>
434-#endif
435-#ifdef EEPROM_ENABLE
436-#    include "eeprom.h"
437-#endif
438-#include "wait.h"
439-#include "progmem.h"
440-#include "timer.h"
441-#include "rgblight.h"
442-#include "color.h"
443-#include "debug.h"
444-#include "led_tables.h"
445-#include <lib/lib8tion/lib8tion.h>
446-#ifdef VELOCIKEY_ENABLE
447-#    include "velocikey.h"
448-#endif
449-// MxSS custom
450-#include "mxss_frontled.h"
451-
452-#ifndef MIN
453-#    define MIN(a, b) (((a) < (b)) ? (a) : (b))
454-#endif
455-
456-#ifdef RGBLIGHT_SPLIT
457-/* for split keyboard */
458-#    define RGBLIGHT_SPLIT_SET_CHANGE_MODE rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_MODE
459-#    define RGBLIGHT_SPLIT_SET_CHANGE_HSVS rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_HSVS
460-#    define RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS rgblight_status.change_flags |= (RGBLIGHT_STATUS_CHANGE_MODE | RGBLIGHT_STATUS_CHANGE_HSVS)
461-#    define RGBLIGHT_SPLIT_SET_CHANGE_LAYERS rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_LAYERS
462-#    define RGBLIGHT_SPLIT_SET_CHANGE_TIMER_ENABLE rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_TIMER
463-#    define RGBLIGHT_SPLIT_ANIMATION_TICK rgblight_status.change_flags |= RGBLIGHT_STATUS_ANIMATION_TICK
464-#else
465-#    define RGBLIGHT_SPLIT_SET_CHANGE_MODE
466-#    define RGBLIGHT_SPLIT_SET_CHANGE_HSVS
467-#    define RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS
468-#    define RGBLIGHT_SPLIT_SET_CHANGE_LAYERS
469-#    define RGBLIGHT_SPLIT_SET_CHANGE_TIMER_ENABLE
470-#    define RGBLIGHT_SPLIT_ANIMATION_TICK
471-#endif
472-
473-#define _RGBM_SINGLE_STATIC(sym) RGBLIGHT_MODE_##sym,
474-#define _RGBM_SINGLE_DYNAMIC(sym)
475-#define _RGBM_MULTI_STATIC(sym) RGBLIGHT_MODE_##sym,
476-#define _RGBM_MULTI_DYNAMIC(sym)
477-#define _RGBM_TMP_STATIC(sym, msym) RGBLIGHT_MODE_##sym,
478-#define _RGBM_TMP_DYNAMIC(sym, msym)
479-static uint8_t static_effect_table[] = {
480-#include "rgblight_modes.h"
481-};
482-
483-#define _RGBM_SINGLE_STATIC(sym) RGBLIGHT_MODE_##sym,
484-#define _RGBM_SINGLE_DYNAMIC(sym) RGBLIGHT_MODE_##sym,
485-#define _RGBM_MULTI_STATIC(sym) RGBLIGHT_MODE_##sym,
486-#define _RGBM_MULTI_DYNAMIC(sym) RGBLIGHT_MODE_##sym,
487-#define _RGBM_TMP_STATIC(sym, msym) RGBLIGHT_MODE_##msym,
488-#define _RGBM_TMP_DYNAMIC(sym, msym) RGBLIGHT_MODE_##msym,
489-static uint8_t mode_base_table[] = {
490-    0,  // RGBLIGHT_MODE_zero
491-#include "rgblight_modes.h"
492-};
493-
494-static inline int is_static_effect(uint8_t mode) { return memchr(static_effect_table, mode, sizeof(static_effect_table)) != NULL; }
495-
496-#ifdef RGBLIGHT_LED_MAP
497-const uint8_t led_map[] PROGMEM = RGBLIGHT_LED_MAP;
498-#endif
499-
500-#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
501-__attribute__((weak)) const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
502-#endif
503-
504-rgblight_config_t rgblight_config;
505-rgblight_status_t rgblight_status         = {.timer_enabled = false};
506-bool              is_rgblight_initialized = false;
507-
508-#ifdef RGBLIGHT_USE_TIMER
509-animation_status_t animation_status = {};
510-#endif
511-
512diff --git a/keyboards/mxss/rules.mk b/keyboards/mxss/rules.mk
513index cc4f0ca926198ebc0f9cf246602db342ea912c78..6e7633bfe015beed407755e5b0bf5bfed8f67eae 100644
514--- a/keyboards/mxss/rules.mk
515+++ b/keyboards/mxss/rules.mk
516@@ -1,22 +1 @@
517-# Build Options
518-#   change yes to no to disable
519-#
520-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
521-MOUSEKEY_ENABLE = yes       # Mouse keys
522-EXTRAKEY_ENABLE = yes       # Audio control and System control
523-CONSOLE_ENABLE = no         # Console for debug
524-COMMAND_ENABLE = yes        # Commands for debug and configuration
525-NKRO_ENABLE = no            # Enable N-Key Rollover
526-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
527-AUDIO_ENABLE = no           # Audio output
528-
529-SRC += mxss_frontled.c
530-
531-# Remove the common RGB light code and use my iteration instead
532-COMMON_VPATH += $(QUANTUM_DIR)/rgblight
533-OPT_DEFS += -DRGBLIGHT_ENABLE
534-SRC += rgblight.c
535-SRC += $(QUANTUM_DIR)/color.c
536-WS2812_DRIVER_REQUIRED = yes
537-CIE1931_CURVE = yes
538-RGB_KEYCODES_ENABLE = yes
539+# This file intentionally left blank
540diff --git a/keyboards/mxss/templates/keymap.c b/keyboards/mxss/templates/keymap.c
541deleted file mode 100644
542index e16cf44293b4b393cab8ce0dd0a880190bec9878..0000000000000000000000000000000000000000
543--- a/keyboards/mxss/templates/keymap.c
544+++ /dev/null
545@@ -1,35 +0,0 @@
546-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
547- *
548- * This program is free software: you can redistribute it and/or modify
549- * it under the terms of the GNU General Public License as published by
550- * the Free Software Foundation, either version 2 of the License, or
551- * (at your option) any later version.
552- *
553- * This program is distributed in the hope that it will be useful,
554- * but WITHOUT ANY WARRANTY; without even the implied warranty of
555- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
556- * GNU General Public License for more details.
557- *
558- * You should have received a copy of the GNU General Public License
559- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
560- */
561-#include QMK_KEYBOARD_H
562-#include "mxss_frontled.h"
563-
564-hs_set caps_color = { .hue = 0, .sat = 255 };
565-
566-// Colors for layers
567-// Format: {hue, saturation}
568-// {0, 0} to turn off the LED
569-// Add additional rows to handle more layers
570-hs_set layer_colors[4] = {
571-    [0] = {.hue = 0,     .sat = 0},  // Color for Layer 0
572-    [1] = {.hue = 86,    .sat = 255},  // Color for Layer 1
573-    [2] = {.hue = 36,    .sat = 255},  // Color for Layer 2
574-    [3] = {.hue = 185,   .sat = 255},  // Color for Layer 3
575-};
576-size_t lc_size = ARRAY_SIZE(layer_colors);
577-
578-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
579-__KEYMAP_GOES_HERE__
580-};