aboutsummaryrefslogtreecommitdiff
path: root/keyboards/mechlovin
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/mechlovin')
-rw-r--r--keyboards/mechlovin/adelais/adelais.h70
-rw-r--r--keyboards/mechlovin/adelais/config.h9
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/config.h21
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/readme.md16
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/config.h7
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/rev1.h58
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/config.h7
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/rev2.h58
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/config.h75
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h (renamed from keyboards/mechlovin/adelais/standard_led/halconf.h)1
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h (renamed from keyboards/mechlovin/adelais/standard_led/mcuconf.h)1
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c166
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/rev3.h78
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk5
-rw-r--r--keyboards/mechlovin/adelais/rules.mk4
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/.noci (renamed from keyboards/mechlovin/adelais/standard_led/.noci)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/chconf.h24
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/config.h (renamed from keyboards/mechlovin/adelais/standard_led/config.h)8
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/halconf.h24
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/mcuconf.h29
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/readme.md (renamed from keyboards/mechlovin/adelais/standard_led/readme.md)2
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev2/.noci (renamed from keyboards/mechlovin/adelais/standard_led/rev2/.noci)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h (renamed from keyboards/mechlovin/adelais/standard_led/rev2/config.h)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev2/rev2.h77
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev2/rules.mk (renamed from keyboards/mechlovin/adelais/standard_led/rev2/rules.mk)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h (renamed from keyboards/mechlovin/adelais/standard_led/rev3/config.h)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev3/rev3.h77
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev3/rules.mk (renamed from keyboards/mechlovin/adelais/standard_led/rev3/rules.mk)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/apm32f103/rules.mk5
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h (renamed from keyboards/mechlovin/adelais/standard_led/rev4/config.h)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/readme.md16
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/rev4.h77
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/rules.mk (renamed from keyboards/mechlovin/adelais/standard_led/rev4/rules.mk)0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rev4/stm32f303/rules.mk6
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/rules.mk2
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/.noci0
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/readme.md (renamed from keyboards/mechlovin/adelais/standard_led/rev4/readme.md)6
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h67
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/matrix.c363
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/readme.md16
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/rev1.h77
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/rules.mk13
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rules.mk2
-rw-r--r--keyboards/mechlovin/adelais/standard_led/rules.mk8
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/config.h3
-rw-r--r--keyboards/mechlovin/delphine/rules.mk2
-rw-r--r--keyboards/mechlovin/hannah60rgb/rules.mk2
-rw-r--r--keyboards/mechlovin/hannah65/rules.mk2
-rw-r--r--keyboards/mechlovin/hannah910/rev1/rules.mk2
-rw-r--r--keyboards/mechlovin/hannah910/rev2/rules.mk2
-rw-r--r--keyboards/mechlovin/hannah910/rev3/rules.mk2
-rw-r--r--keyboards/mechlovin/hex4b/rules.mk2
-rw-r--r--keyboards/mechlovin/hex6c/rules.mk2
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/config.h4
-rw-r--r--keyboards/mechlovin/infinity87/rules.mk2
-rw-r--r--keyboards/mechlovin/infinity88/rules.mk2
-rw-r--r--keyboards/mechlovin/infinityce/rules.mk2
-rw-r--r--keyboards/mechlovin/kanu/rules.mk2
-rw-r--r--keyboards/mechlovin/mechlovin9/rules.mk2
-rw-r--r--keyboards/mechlovin/olly/jf/rules.mk2
-rw-r--r--keyboards/mechlovin/serratus/rules.mk2
-rw-r--r--keyboards/mechlovin/th1800/rules.mk2
-rw-r--r--keyboards/mechlovin/tmkl/rules.mk2
63 files changed, 1401 insertions, 115 deletions
diff --git a/keyboards/mechlovin/adelais/adelais.h b/keyboards/mechlovin/adelais/adelais.h
index a6bd2477a..6c3980a09 100644
--- a/keyboards/mechlovin/adelais/adelais.h
+++ b/keyboards/mechlovin/adelais/adelais.h
@@ -18,58 +18,18 @@
18 18
19#include "quantum.h" 19#include "quantum.h"
20 20
21#define LAYOUT_alice_split_bs( \ 21#ifdef KEYBOARD_mechlovin_adelais_rgb_led_rev1
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\ 22 #include "rev1.h"
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\ 23#elif KEYBOARD_mechlovin_adelais_rgb_led_rev2
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\ 24 #include "rev2.h"
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\ 25#elif KEYBOARD_mechlovin_adelais_rgb_led_rev3
26 K40, K42, K44, K46, K48, K4A, K4E \ 26 #include "rev3.h"
27) { \ 27#elif KEYBOARD_mechlovin_adelais_standard_led_arm_rev2
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ 28 #include "rev2.h"
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ 29#elif KEYBOARD_mechlovin_adelais_standard_led_arm_rev3
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \ 30 #include "rev3.h"
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ 31#elif KEYBOARD_mechlovin_adelais_standard_led_arm_rev4
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \ 32 #include "rev4.h"
33} 33#elif KEYBOARD_mechlovin_adelais_standard_led_avr_rev1
34 34 #include "rev1.h"
35#define LAYOUT_alice( \ 35#endif
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
51 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
52 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
53 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
66 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
67 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
diff --git a/keyboards/mechlovin/adelais/config.h b/keyboards/mechlovin/adelais/config.h
index 3ec5c4913..035ffa803 100644
--- a/keyboards/mechlovin/adelais/config.h
+++ b/keyboards/mechlovin/adelais/config.h
@@ -26,11 +26,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26 26
27/* key matrix size */ 27/* key matrix size */
28#define MATRIX_ROWS 5 28#define MATRIX_ROWS 5
29#define MATRIX_COLS 15 29#define MATRIX_COLS 15 \ No newline at end of file
30
31/* COL2ROW, ROW2COL*/
32#define DIODE_DIRECTION COL2ROW
33
34#define LED_NUM_LOCK_PIN C15
35#define LED_CAPS_LOCK_PIN B2
36#define LED_SCROLL_LOCK_PIN B9
diff --git a/keyboards/mechlovin/adelais/rgb_led/config.h b/keyboards/mechlovin/adelais/rgb_led/config.h
new file mode 100644
index 000000000..2ec0afd47
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2020 Team Mechlovin'
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* COL2ROW, ROW2COL*/
21#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/mechlovin/adelais/rgb_led/readme.md b/keyboards/mechlovin/adelais/rgb_led/readme.md
deleted file mode 100644
index f58ca7aa2..000000000
--- a/keyboards/mechlovin/adelais/rgb_led/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
1# Adelais En Ciel
2
3![adelais](https://i.imgur.com/6U1IfZe.png)
4
5Compatible with TGR Alice and all clone variants.
6`rgb_led` (Adelais En Ciel) comes with per-key RGB LEDs pre-soldered, rev.2 and rev.3 support a rotary encoder.
7
8* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
9* Hardware Supported: Adelais En Ciel
10* Hardware Availability: [Mechlovin.studio](https://mechlovin.studio/collections/pcb/products/adelais-en-ciel-alice-compatible-rgb-pcb?variant=33937050828939)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make mechlovin/adelais/rgb_led:default
15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
index d75cbd3f2..97092e25e 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
@@ -13,7 +13,12 @@
13#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) 13#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
14#define RGB_MATRIX_FRAMEBUFFER_EFFECTS 14#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
15#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects 15#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
16// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended 16#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
17#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) 17#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
18#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 18#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
19#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set 19#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
20
21
22#define LED_NUM_LOCK_PIN C15
23#define LED_CAPS_LOCK_PIN B2
24#define LED_SCROLL_LOCK_PIN B9 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.h b/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.h
index 16cdf9ed8..45d48fac4 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.h
@@ -17,3 +17,61 @@
17#pragma once 17#pragma once
18 18
19#include "quantum.h" 19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
26 K40, K42, K44, K46, K48, K4A, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
33}
34
35#define LAYOUT_alice( \
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
index c830edce2..9c71c537b 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
@@ -31,7 +31,7 @@
31#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) 31#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
32#define RGB_MATRIX_FRAMEBUFFER_EFFECTS 32#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
33#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects 33#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
34// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended 34#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
35#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) 35#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
36#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 36#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
37#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set 37#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
@@ -43,3 +43,8 @@
43#define ENCODER_RESOLUTION 4 43#define ENCODER_RESOLUTION 4
44 44
45#define TAP_CODE_DELAY 10 45#define TAP_CODE_DELAY 10
46
47
48#define LED_NUM_LOCK_PIN C15
49#define LED_CAPS_LOCK_PIN B2
50#define LED_SCROLL_LOCK_PIN B9 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.h b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.h
index 16cdf9ed8..45d48fac4 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.h
@@ -17,3 +17,61 @@
17#pragma once 17#pragma once
18 18
19#include "quantum.h" 19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
26 K40, K42, K44, K46, K48, K4A, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
33}
34
35#define LAYOUT_alice( \
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
new file mode 100644
index 000000000..5b3a8e825
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h
@@ -0,0 +1,75 @@
1/*
2Copyright 2021 Mechlovin' Studio
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define PRODUCT_ID 0xAEC3
21#define PRODUCT Adelais En Ciel Rev3
22
23#define MATRIX_ROW_PINS { A4, A3, C13, A1, A2}
24#define MATRIX_COL_PINS { B10, B11, B2, B1, B0, A6, A5, A14, A13, A15, B3, B4, B5, B8, B9 }
25
26#define RGB_DI_PIN A7
27#define WS2812_SPI SPID1 // default: SPID1
28#define WS2812_SPI_MOSI_PAL_MODE 5 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5
29#define RGBLED_NUM 23
30#define RGBLIGHT_EFFECT_BREATHING
31#define RGBLIGHT_EFFECT_RAINBOW_MOOD
32#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
33#define RGBLIGHT_EFFECT_SNAKE
34#define RGBLIGHT_EFFECT_KNIGHT
35#define RGBLIGHT_EFFECT_CHRISTMAS
36#define RGBLIGHT_EFFECT_STATIC_GRADIENT
37#define RGBLIGHT_EFFECT_RGB_TEST
38#define RGBLIGHT_EFFECT_ALTERNATING
39#define RGBLIGHT_EFFECT_TWINKLE
40#define RGBLIGHT_HUE_STEP 8
41#define RGBLIGHT_SAT_STEP 8
42#define RGBLIGHT_VAL_STEP 8
43
44//rgb matrix setting
45// This is a 7-bit address, that gets left-shifted and bit 0
46// set to 0 for write, 1 for read (as per I2C protocol)
47// The address will vary depending on your wiring:
48// 0b1110100 AD <-> GND
49// 0b1110111 AD <-> VCC
50// 0b1110101 AD <-> SCL
51// 0b1110110 AD <-> SDA
52#define DRIVER_ADDR_1 0b0110010
53#define DRIVER_COUNT 1
54#define DRIVER_LED_TOTAL 66
55#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
56#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
57#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
58#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
59#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
60#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
61#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
62#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
63
64#define RGB_MATRIX_DISABLE_KEYCODES
65
66#define ENCODERS_PAD_A { B12 }
67#define ENCODERS_PAD_B { B13 }
68#define ENCODER_RESOLUTION 4
69
70#define TAP_CODE_DELAY 10
71
72
73#define LED_NUM_LOCK_PIN A0
74#define LED_CAPS_LOCK_PIN C14
75#define LED_SCROLL_LOCK_PIN C15 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/standard_led/halconf.h b/keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h
index 01d02f71c..d001829d0 100644
--- a/keyboards/mechlovin/adelais/standard_led/halconf.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/halconf.h
@@ -14,7 +14,6 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16 16
17
18#pragma once 17#pragma once
19 18
20#define HAL_USE_I2C TRUE 19#define HAL_USE_I2C TRUE
diff --git a/keyboards/mechlovin/adelais/standard_led/mcuconf.h b/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h
index b7ecee020..20d2a82c2 100644
--- a/keyboards/mechlovin/adelais/standard_led/mcuconf.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h
@@ -14,7 +14,6 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16 16
17
18#pragma once 17#pragma once
19 18
20#include_next <mcuconf.h> 19#include_next <mcuconf.h>
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
new file mode 100644
index 000000000..7631bc850
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
@@ -0,0 +1,166 @@
1/* Copyright 2021 Team Mechlovin
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#include "rev3.h"
18
19#ifdef RGB_MATRIX_ENABLE
20const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
21 {0, CS3_SW5, CS2_SW5, CS1_SW5}, /* D9-K31-00 */
22 {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* D46-K00-01 */
23 {0, CS6_SW9, CS5_SW9, CS4_SW9}, /* D59-K01-02 */
24 {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* D73-K02-03 */
25 {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* D75-K03-04 */
26 {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* D77-K04-05 */
27 {0, CS12_SW9, CS11_SW9, CS10_SW9}, /* D79-K05-06 */
28 {0, CS15_SW5, CS14_SW5, CS13_SW5}, /* D81-K06-07 */
29 {0, CS15_SW9, CS14_SW9, CS13_SW9}, /* D83-K07-08 */
30 {0, CS18_SW5, CS17_SW5, CS16_SW5}, /* D85-K08-09 */
31 {0, CS18_SW9, CS17_SW9, CS16_SW9}, /* D87-K09-10 */
32 {0, CS21_SW5, CS20_SW5, CS19_SW5}, /* D90-K0A-11 */
33 {0, CS21_SW9, CS20_SW9, CS19_SW9}, /* D93-K0B-12 */
34 {0, CS24_SW5, CS23_SW5, CS22_SW5}, /* D95-K0C-13 */
35 {0, CS24_SW9, CS23_SW9, CS22_SW9}, /* D98-K0D-14 */
36 {0, CS24_SW3, CS23_SW3, CS22_SW3}, /* D100-K0E-15 */
37 {0, CS3_SW4, CS2_SW4, CS1_SW4}, /* D94-K41-16 */
38 {0, CS6_SW4, CS5_SW4, CS4_SW4}, /* D92-K10-17 */
39 {0, CS6_SW6, CS5_SW6, CS4_SW6}, /* D89-K11-18 */
40 {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* D86-K12-19 */
41 {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* D84-K13-20 */
42 {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* D82-K14-21 */
43 {0, CS12_SW6, CS11_SW6, CS10_SW6}, /* D80-K15-22 */
44 {0, CS15_SW4, CS14_SW4, CS13_SW4}, /* D78-K16-23 */
45 {0, CS15_SW6, CS14_SW6, CS13_SW6}, /* D76-K17-24 */
46 {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* D74-K18-25 */
47 {0, CS18_SW6, CS17_SW6, CS16_SW6}, /* D72-K19-26 */
48 {0, CS21_SW4, CS20_SW4, CS19_SW4}, /* D51-K1A-27 */
49 {0, CS21_SW6, CS20_SW6, CS19_SW6}, /* D10-K1B-28 */
50 {0, CS24_SW4, CS23_SW4, CS22_SW4}, /* D101-K1C-29 */
51 {0, CS24_SW6, CS23_SW6, CS22_SW6}, /* D104-K1D-30 */
52 {0, CS3_SW3, CS2_SW3, CS1_SW3}, /* D108-K43-31 */
53 {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* D111-K20-32 */
54 {0, CS6_SW7, CS5_SW7, CS4_SW7}, /* D114-K21-33 */
55 {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* D117-K22-34 */
56 {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* D120-K23-35 */
57 {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* D123-K24-36 */
58 {0, CS12_SW7, CS11_SW7, CS10_SW7}, /* D126-K25-37 */
59 {0, CS15_SW3, CS14_SW3, CS13_SW3}, /* D129-K26-38 */
60 {0, CS15_SW7, CS14_SW7, CS13_SW7}, /* D133-K27-39 */
61 {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* D142-K28-40 */
62 {0, CS18_SW7, CS17_SW7, CS16_SW7}, /* D146-K29-41 */
63 {0, CS21_SW3, CS20_SW3, CS19_SW3}, /* D160-K2A-42 */
64 {0, CS21_SW7, CS20_SW7, CS19_SW7}, /* D167-K2B-43 */
65 {0, CS24_SW7, CS23_SW7, CS22_SW7}, /* D168-K2D-44 */
66
67 {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* D163-K30-45 */
68 {0, CS6_SW8, CS5_SW8, CS4_SW8}, /* D147-K31-46 */
69 {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* D144-K32-47 */
70 {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* D137-K33-48 */
71 {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* D130-K34-49 */
72 {0, CS12_SW8, CS11_SW8, CS10_SW8}, /* D127-K35-50 */
73 {0, CS15_SW2, CS14_SW2, CS13_SW2}, /* D124-K36-51 */
74 {0, CS15_SW8, CS14_SW8, CS13_SW8}, /* D121-K37-52 */
75 {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* D118-K38-53 */
76 {0, CS18_SW8, CS17_SW8, CS16_SW8}, /* D115-K39-54 */
77 {0, CS21_SW2, CS20_SW2, CS19_SW2}, /* D112-K3A-55 */
78 {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* D109-K3B-56 */
79 {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* D105-K3D-57 */
80 {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* D103-K3E-58 */
81
82 {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* D163-K40-59 */
83 {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* D147-K42-60 */
84 {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* D137-K44-61 */
85 {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* D127-K46-62 */
86 {0, CS15_SW1, CS14_SW1, CS13_SW1}, /* D121-K48-63 */
87 {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* D115-K4A-64 */
88 {0, CS24_SW1, CS23_SW1, CS22_SW1}, /* D103-K4E-65 */
89};
90
91led_config_t g_led_config = {
92 {
93 // Key Matrix to LED Index
94 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
95 {17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, NO_LED},
96 {32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, NO_LED},
97 {45, NO_LED, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58},
98 {59, NO_LED, 60, NO_LED, 61, NO_LED, 62, NO_LED, 63, NO_LED, 64, NO_LED, NO_LED, NO_LED, 65},
99 }, {
100 //LED Index to Physical Positon
101 {0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {224, 0},
102 {0,16}, { 17, 16}, { 34,16 }, { 51,16 }, { 69,16}, { 86,16}, {103,16}, { 120,16}, { 138,16}, { 155,16}, { 172,16}, { 189,16}, {207, 16}, {215, 16}, {224,16},
103 {0,32}, { 17, 32}, { 34,32 }, { 51,32 }, { 69,32}, { 86,32}, {103,32}, { 120,32}, { 138,32}, { 155,32}, { 172,32}, { 189,32}, {207, 32}, {224,32},
104 { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48},
105 { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,64}, {224, 64},
106 }, {
107 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
108 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
109 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
110 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
111 1, 1, 1, 1, 1, 1, 1, 1,
112 }
113};
114
115__attribute__((weak)) void rgb_matrix_indicators_user(void) {
116 if (host_keyboard_led_state().caps_lock) {
117 rgb_matrix_set_color(32, 255, 255, 255);
118 }
119}
120
121
122#endif
123
124bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
125 if (record->event.pressed) {
126 switch(keycode) {
127 #ifdef RGBLIGHT_ENABLE
128 #ifdef RGB_MATRIX_ENABLE
129 case KC_F13: // toggle rgb matrix
130 rgb_matrix_toggle();
131 return false;
132 case KC_F14:
133 rgb_matrix_step();
134 return false;
135 case KC_F15:
136 rgb_matrix_increase_speed();
137 return false;
138 case KC_F16:
139 rgb_matrix_decrease_speed();
140 return false;
141 case KC_F17:
142 rgb_matrix_increase_hue();
143 return false;
144 case KC_F18:
145 rgb_matrix_decrease_hue();
146 return false;
147 case KC_F19:
148 rgb_matrix_increase_sat();
149 return false;
150 case KC_F20:
151 rgb_matrix_decrease_sat();
152 return false;
153 case KC_F21:
154 rgb_matrix_increase_val();
155 return false;
156 case KC_F22:
157 rgb_matrix_decrease_val();
158 return false;
159 #endif
160 #endif
161 default:
162 break;
163 }
164 }
165 return true;
166} \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.h b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.h
new file mode 100644
index 000000000..28c373ad8
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.h
@@ -0,0 +1,78 @@
1/* Copyright 2021 Team Mechlovin
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#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K31, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K41, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K43, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3C, K3D, K3E,\
26 K40, K42, K44, K46, K48, K4A, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
31 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, K41, K42, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
33}
34
35#define LAYOUT_alice( \
36 K31, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D,\
37 K41, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K43, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3C, K3D, K3E,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
45 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, K41, K42, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K31, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K41, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K43, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
59 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO }, \
60 { K40, K41, K42, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K31, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K41, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K43, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
73 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO }, \
74 { K40, K41, K42, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
78
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk b/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk
new file mode 100644
index 000000000..904d20877
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk
@@ -0,0 +1,5 @@
1RGB_MATRIX_ENABLE = yes
2RGB_MATRIX_DRIVER = IS31FL3741
3RGBLIGHT_ENABLE = yes
4ENCODER_ENABLE = yes
5WS2812_DRIVER = spi
diff --git a/keyboards/mechlovin/adelais/rules.mk b/keyboards/mechlovin/adelais/rules.mk
index a3531ff09..8b6c9a433 100644
--- a/keyboards/mechlovin/adelais/rules.mk
+++ b/keyboards/mechlovin/adelais/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = stm32-dfu
8# Build Options 8# Build Options
9# change yes to no to disable 9# change yes to no to disable
10# 10#
11BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 11BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
12MOUSEKEY_ENABLE = yes # Mouse keys 12MOUSEKEY_ENABLE = yes # Mouse keys
13EXTRAKEY_ENABLE = yes # Audio control and System control 13EXTRAKEY_ENABLE = yes # Audio control and System control
14CONSOLE_ENABLE = yes # Console for debug 14CONSOLE_ENABLE = yes # Console for debug
@@ -21,4 +21,4 @@ AUDIO_ENABLE = no # Audio output
21 21
22LAYOUTS = alice alice_split_bs 22LAYOUTS = alice alice_split_bs
23 23
24DEFAULT_FOLDER = mechlovin/adelais/standard_led/rev2 24DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2
diff --git a/keyboards/mechlovin/adelais/standard_led/.noci b/keyboards/mechlovin/adelais/standard_led/arm/.noci
index e69de29bb..e69de29bb 100644
--- a/keyboards/mechlovin/adelais/standard_led/.noci
+++ b/keyboards/mechlovin/adelais/standard_led/arm/.noci
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/chconf.h b/keyboards/mechlovin/adelais/standard_led/arm/chconf.h
new file mode 100644
index 000000000..fe716d655
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/chconf.h
@@ -0,0 +1,24 @@
1/* Copyright 2020 QMK
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#pragma once
18
19#define CH_CFG_ST_TIMEDELTA 0
20
21#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
22
23#include_next <chconf.h>
24
diff --git a/keyboards/mechlovin/adelais/standard_led/config.h b/keyboards/mechlovin/adelais/standard_led/arm/config.h
index 4580e56d5..4377405fc 100644
--- a/keyboards/mechlovin/adelais/standard_led/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/config.h
@@ -23,6 +23,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, B11, B10, B8, B4, B5, B3, C14, A15 } 23#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, B11, B10, B8, B4, B5, B3, C14, A15 }
24#define UNUSED_PINS 24#define UNUSED_PINS
25 25
26/* COL2ROW, ROW2COL*/
27#define DIODE_DIRECTION COL2ROW
28
26#define BACKLIGHT_PIN B0 29#define BACKLIGHT_PIN B0
27#define BACKLIGHT_BREATHING 30#define BACKLIGHT_BREATHING
28#define BACKLIGHT_PWM_DRIVER PWMD3 31#define BACKLIGHT_PWM_DRIVER PWMD3
@@ -32,3 +35,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#define RGBLED_NUM 23 35#define RGBLED_NUM 23
33#define RGBLIGHT_LIMIT_VAL 255 36#define RGBLIGHT_LIMIT_VAL 255
34#define RGBLIGHT_ANIMATIONS 37#define RGBLIGHT_ANIMATIONS
38
39
40#define LED_NUM_LOCK_PIN C15
41#define LED_CAPS_LOCK_PIN B2
42#define LED_SCROLL_LOCK_PIN B9
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/halconf.h b/keyboards/mechlovin/adelais/standard_led/arm/halconf.h
new file mode 100644
index 000000000..aca546705
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/halconf.h
@@ -0,0 +1,24 @@
1/* Copyright 2020 QMK
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#pragma once
18
19#define HAL_USE_PWM TRUE
20
21#define HAL_USE_SPI TRUE
22
23#include_next <halconf.h>
24
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/mcuconf.h b/keyboards/mechlovin/adelais/standard_led/arm/mcuconf.h
new file mode 100644
index 000000000..ac5a23c70
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/mcuconf.h
@@ -0,0 +1,29 @@
1/* Copyright 2020 QMK
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#pragma once
19
20#include_next <mcuconf.h>
21
22#undef STM32_SPI_USE_SPI1
23#define STM32_SPI_USE_SPI1 TRUE
24
25#undef STM32_PWM_USE_TIM3
26#define STM32_PWM_USE_TIM3 TRUE
27
28
29
diff --git a/keyboards/mechlovin/adelais/standard_led/readme.md b/keyboards/mechlovin/adelais/standard_led/arm/readme.md
index a7c76beb4..9011ff3a8 100644
--- a/keyboards/mechlovin/adelais/standard_led/readme.md
+++ b/keyboards/mechlovin/adelais/standard_led/arm/readme.md
@@ -11,6 +11,6 @@ Compatible with TGR Alice and all clone variants.
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make mechlovin/adelais/standard_led:default 14 make mechlovin/adelais/standard_led/arm:default
15 15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mechlovin/adelais/standard_led/rev2/.noci b/keyboards/mechlovin/adelais/standard_led/arm/rev2/.noci
index e69de29bb..e69de29bb 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev2/.noci
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev2/.noci
diff --git a/keyboards/mechlovin/adelais/standard_led/rev2/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h
index 7c2c63ea2..7c2c63ea2 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev2/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev2/config.h
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev2/rev2.h b/keyboards/mechlovin/adelais/standard_led/arm/rev2/rev2.h
new file mode 100644
index 000000000..45d48fac4
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev2/rev2.h
@@ -0,0 +1,77 @@
1/* Copyright 2020 Team Mechlovin
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#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
26 K40, K42, K44, K46, K48, K4A, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
33}
34
35#define LAYOUT_alice( \
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/mechlovin/adelais/standard_led/rev2/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev2/rules.mk
index e69de29bb..e69de29bb 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev2/rules.mk
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev2/rules.mk
diff --git a/keyboards/mechlovin/adelais/standard_led/rev3/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h
index 4d56fedf0..4d56fedf0 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev3/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev3/rev3.h b/keyboards/mechlovin/adelais/standard_led/arm/rev3/rev3.h
new file mode 100644
index 000000000..45d48fac4
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev3/rev3.h
@@ -0,0 +1,77 @@
1/* Copyright 2020 Team Mechlovin
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#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
26 K40, K42, K44, K46, K48, K4A, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
33}
34
35#define LAYOUT_alice( \
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/mechlovin/adelais/standard_led/rev3/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev3/rules.mk
index 5af1ba853..5af1ba853 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev3/rules.mk
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev3/rules.mk
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/apm32f103/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev4/apm32f103/rules.mk
new file mode 100644
index 000000000..34cbe4349
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/apm32f103/rules.mk
@@ -0,0 +1,5 @@
1# MCU name
2MCU = STM32F103
3
4# Bootloader selection
5BOOTLOADER = stm32duino
diff --git a/keyboards/mechlovin/adelais/standard_led/rev4/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h
index ca793f1fe..ca793f1fe 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev4/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/readme.md b/keyboards/mechlovin/adelais/standard_led/arm/rev4/readme.md
new file mode 100644
index 000000000..8035195b0
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/readme.md
@@ -0,0 +1,16 @@
1# Adelais rev.4
2
3![adelais](https://i.imgur.com/6U1IfZe.png)
4
5Compatible with TGR Alice and all clone variants.
6`standard_led` (Adelais) comes with backlight and RGB underglow LEDs pre-soldered. Adelais rev.4 support 3 rotary encoder, USB TypeC both side and reset footprint.
7
8* Keyboard Maintainer: [Team Mechlovin'](https://mechlovin.studio)
9* Hardware Supported: Adelais rev. 4
10* Hardware Availability: [Mechlovin.studio](https://mechlovin.studio/collections/pcb/products/adelais-tgr-alice-clones-compatible-pcb?variant=34140335472779)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make mechlovin/adelais/standard_led/rev4:default
15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/rev4.h b/keyboards/mechlovin/adelais/standard_led/arm/rev4/rev4.h
new file mode 100644
index 000000000..45d48fac4
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/rev4.h
@@ -0,0 +1,77 @@
1/* Copyright 2020 Team Mechlovin
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#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
26 K40, K42, K44, K46, K48, K4A, K4E \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
33}
34
35#define LAYOUT_alice( \
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, K4D,\
40 K40, K42, K44, K46, K48, K4A, K4E \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4E \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
68 K40, K42, K44, K46, K48, K4A, K4E \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/mechlovin/adelais/standard_led/rev4/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev4/rules.mk
index 5af1ba853..5af1ba853 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev4/rules.mk
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/rules.mk
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/stm32f303/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev4/stm32f303/rules.mk
new file mode 100644
index 000000000..7a846816d
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/stm32f303/rules.mk
@@ -0,0 +1,6 @@
1# MCU name
2MCU = STM32F303
3BOARD = QMK_PROTON_C
4
5# Bootloader selection
6BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rules.mk
new file mode 100644
index 000000000..2a0951eab
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rules.mk
@@ -0,0 +1,2 @@
1WS2812_DRIVER = spi
2DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/.noci b/keyboards/mechlovin/adelais/standard_led/avr/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/.noci
diff --git a/keyboards/mechlovin/adelais/standard_led/rev4/readme.md b/keyboards/mechlovin/adelais/standard_led/avr/readme.md
index 333efbacd..aaae225ef 100644
--- a/keyboards/mechlovin/adelais/standard_led/rev4/readme.md
+++ b/keyboards/mechlovin/adelais/standard_led/avr/readme.md
@@ -1,16 +1,16 @@
1# Adelais rev.4 1# Adelais AVR
2 2
3![adelais](https://i.imgur.com/6U1IfZe.png) 3![adelais](https://i.imgur.com/6U1IfZe.png)
4 4
5Compatible with TGR Alice and all clone variants. 5Compatible with TGR Alice and all clone variants.
6`standard_led` (Adelais) comes with backlight and RGB underglow LEDs pre-soldered. Adelais rev.4 support 3 rotary encoder, USB TypeC both side and reset footprint. 6`standard_led` (Adelais) comes with backlight and RGB underglow LEDs pre-soldered. Adelais rev.4 support 3 rotary encoder, USB TypeC both side and reset footprint.
7 7
8* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin) 8* Keyboard Maintainer: [Team Mechlovin'](https://mechlovin.studio)
9* Hardware Supported: Adelais 9* Hardware Supported: Adelais
10* Hardware Availability: [Mechlovin.studio](https://mechlovin.studio/collections/pcb/products/adelais-tgr-alice-clones-compatible-pcb?variant=34140335472779) 10* Hardware Availability: [Mechlovin.studio](https://mechlovin.studio/collections/pcb/products/adelais-tgr-alice-clones-compatible-pcb?variant=34140335472779)
11 11
12Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
13 13
14 make mechlovin/adelais/standard_led:default 14 make mechlovin/adelais/standard_led/avr:default
15 15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h b/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h
new file mode 100644
index 000000000..9093d262e
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h
@@ -0,0 +1,67 @@
1/*
2Copyright 2021 Mechlovin' Studio
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19#define PRODUCT_ID 0xAD04
20#define PRODUCT Adelais AVR
21/*
22 * Keyboard Matrix Assignments
23 *
24 * Change this to how you wired your keyboard
25 * COLS: AVR pins used for columns, left to right
26 * ROWS: AVR pins used for rows, top to bottom
27 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
28 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
29 *
30 */
31#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
32#define UNUSED_PINS
33
34/* COL2ROW, ROW2COL*/
35#define DIODE_DIRECTION ROW2COL
36
37#define LED_NUM_LOCK_PIN D7
38#define LED_CAPS_LOCK_PIN E6
39#define LED_SCROLL_LOCK_PIN F7
40#define LED_PIN_ON_STATE 1
41
42#define BACKLIGHT_PIN B5
43#define BACKLIGHT_LEVELS 3
44#define BACKLIGHT_BREATHING
45
46#define RGB_DI_PIN E2
47#define RGBLED_NUM 23
48#define RGBLIGHT_LIMIT_VAL 255
49#define RGBLIGHT_EFFECT_BREATHING
50#define RGBLIGHT_EFFECT_RAINBOW_MOOD
51#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
52#define RGBLIGHT_EFFECT_SNAKE
53#define RGBLIGHT_EFFECT_KNIGHT
54#define RGBLIGHT_EFFECT_CHRISTMAS
55#define RGBLIGHT_EFFECT_STATIC_GRADIENT
56#define RGBLIGHT_EFFECT_RGB_TEST
57#define RGBLIGHT_EFFECT_ALTERNATING
58#define RGBLIGHT_EFFECT_TWINKLE
59
60#define ENCODERS_PAD_A { D3, D5, C7 }
61#define ENCODERS_PAD_B { D2, B6, C6 }
62#define ENCODER_RESOLUTION 4
63
64#define TAP_CODE_DELAY 10
65
66/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
67#define DEBOUNCE 5 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/matrix.c b/keyboards/mechlovin/adelais/standard_led/avr/rev1/matrix.c
new file mode 100644
index 000000000..37046790f
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/matrix.c
@@ -0,0 +1,363 @@
1/*
2Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar
3Copyright 2019 Evy Dekkers
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#include <stdint.h>
20#include <stdbool.h>
21#include "wait.h"
22#include "util.h"
23#include "matrix.h"
24#include "debounce.h"
25#include "quantum.h"
26
27#ifdef DIRECT_PINS
28static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
29#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
30static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
31//static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
32#endif
33
34// matrix code
35
36#ifdef DIRECT_PINS
37
38static void init_pins(void) {
39 for (int row = 0; row < MATRIX_ROWS; row++) {
40 for (int col = 0; col < MATRIX_COLS; col++) {
41 pin_t pin = direct_pins[row][col];
42 if (pin != NO_PIN) {
43 setPinInputHigh(pin);
44 }
45 }
46 }
47}
48
49static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
50 matrix_row_t last_row_value = current_matrix[current_row];
51 current_matrix[current_row] = 0;
52
53 for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
54 pin_t pin = direct_pins[current_row][col_index];
55 if (pin != NO_PIN) {
56 current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
57 }
58 }
59
60 return (last_row_value != current_matrix[current_row]);
61}
62
63#elif (DIODE_DIRECTION == ROW2COL)
64
65/* Cols 0 - 14
66 * These columns use two 74HC138 3 to 8 bit demultiplexer. B0, F1 is the enable pin, must be set high (1) to use it.
67 *
68 * col / pin: PF4 PF1 PF0 PF5 PF6
69 * 0: 0 ── 0 ── 1 1 ── 0
70 * ─────────────────────────────────────
71 * 1: 0 ── 1 ── 0 1 ── 0
72 * ─────────────────────────────────────
73 * 2: 0 ── 1 ── 1 1 ── 0
74 * ─────────────────────────────────────
75 * 3: 1 ── 0 ── 0 1 ── 0
76 * ─────────────────────────────────────
77 * 4: 1 ── 0 ── 1 1 ── 0
78 * ─────────────────────────────────────
79 * 5: 1 ── 1 ── 1 1 ── 0
80 * ─────────────────────────────────────
81 * 6: 1 ── 1 ── 1 0 ── 1
82 * ─────────────────────────────────────
83 * 7: 0 ── 0 ── 0 0 ── 1
84 * ─────────────────────────────────────
85 * 8: 0 ── 0 ── 1 0 ── 1
86 * ─────────────────────────────────────
87 * 9: 0 ── 1 ── 0 0 ── 1
88 * ─────────────────────────────────────
89 *10: 0 ── 1 ── 1 0 ── 1
90 * ─────────────────────────────────────
91 *11: 1 ── 0 ── 0 0 ── 1
92 * ─────────────────────────────────────
93 *12: 1 ── 0 ── 1 0 ── 1
94 * ─────────────────────────────────────
95 *13: 1 ── 1 ── 0 0 ── 1
96 * ─────────────────────────────────────
97 *14: 0 ── 0 ── 0 1 ── 0
98 *
99 */
100static void select_col(uint8_t col) {
101 switch (col) {
102 case 0:
103 writePinLow(F4);
104 writePinLow(F1);
105 writePinHigh(F0);
106 writePinHigh(F5);
107 break;
108 case 1:
109 writePinLow(F4);
110 writePinHigh(F1);
111 writePinLow(F0);
112 writePinHigh(F5);
113 break;
114 case 2:
115 writePinLow(F4);
116 writePinHigh(F1);
117 writePinHigh(F0);
118 writePinHigh(F5);
119 break;
120 case 3:
121 writePinHigh(F4);
122 writePinLow(F1);
123 writePinLow(F0);
124 writePinHigh(F5);
125 break;
126 case 4:
127 writePinHigh(F4);
128 writePinLow(F1);
129 writePinHigh(F0);
130 writePinHigh(F5);
131 break;
132 case 5:
133 writePinHigh(F4);
134 writePinHigh(F1);
135 writePinHigh(F0);
136 writePinHigh(F5);
137 break;
138 case 6:
139 writePinHigh(F4);
140 writePinHigh(F1);
141 writePinHigh(F0);
142 writePinHigh(F6);
143 break;
144 case 7:
145 writePinLow(F4);
146 writePinLow(F1);
147 writePinLow(F0);
148 writePinHigh(F6);
149 break;
150 case 8:
151 writePinLow(F4);
152 writePinLow(F1);
153 writePinHigh(F0);
154 writePinHigh(F6);
155 break;
156 case 9:
157 writePinLow(F4);
158 writePinHigh(F1);
159 writePinLow(F0);
160 writePinHigh(F6);
161 break;
162 case 10:
163 writePinLow(F4);
164 writePinHigh(F1);
165 writePinHigh(F0);
166 writePinHigh(F6);
167 break;
168 case 11:
169 writePinHigh(F4);
170 writePinLow(F1);
171 writePinLow(F0);
172 writePinHigh(F6);
173 break;
174 case 12:
175 writePinHigh(F4);
176 writePinLow(F1);
177 writePinHigh(F0);
178 writePinHigh(F6);
179 break;
180 case 13:
181 writePinHigh(F4);
182 writePinHigh(F1);
183 writePinLow(F0);
184 writePinHigh(F6);
185 break;
186 case 14:
187 writePinLow(F4);
188 writePinLow(F1);
189 writePinLow(F0);
190 writePinHigh(F5);
191 break;
192 }
193}
194
195static void unselect_col(uint8_t col) {
196 switch (col) {
197 case 0:
198 writePinHigh(F4);
199 writePinHigh(F1);
200 writePinLow(F0);
201 writePinLow(F5);
202 break;
203 case 1:
204 writePinHigh(F4);
205 writePinLow(F1);
206 writePinHigh(F0);
207 writePinLow(F5);
208 break;
209 case 2:
210 writePinHigh(F4);
211 writePinLow(F1);
212 writePinLow(F0);
213 writePinLow(F5);
214 break;
215 case 3:
216 writePinLow(F4);
217 writePinHigh(F1);
218 writePinHigh(F0);
219 writePinLow(F5);
220 break;
221 case 4:
222 writePinLow(F4);
223 writePinHigh(F1);
224 writePinLow(F0);
225 writePinLow(F5);
226 break;
227 case 5:
228 writePinLow(F4);
229 writePinLow(F1);
230 writePinLow(F0);
231 writePinLow(F5);
232 break;
233 case 6:
234 writePinLow(F4);
235 writePinLow(F1);
236 writePinLow(F0);
237 writePinLow(F6);
238 break;
239 case 7:
240 writePinHigh(F4);
241 writePinHigh(F1);
242 writePinHigh(F0);
243 writePinLow(F6);
244 break;
245 case 8:
246 writePinHigh(F4);
247 writePinHigh(F1);
248 writePinLow(F0);
249 writePinLow(F6);
250 break;
251 case 9:
252 writePinHigh(F4);
253 writePinLow(F1);
254 writePinHigh(F0);
255 writePinLow(F6);
256 break;
257 case 10:
258 writePinHigh(F4);
259 writePinLow(F1);
260 writePinLow(F0);
261 writePinLow(F6);
262 break;
263 case 11:
264 writePinLow(F4);
265 writePinHigh(F1);
266 writePinHigh(F0);
267 writePinLow(F6);
268 break;
269 case 12:
270 writePinLow(F4);
271 writePinHigh(F1);
272 writePinLow(F0);
273 writePinLow(F6);
274 break;
275 case 13:
276 writePinLow(F4);
277 writePinLow(F1);
278 writePinHigh(F0);
279 writePinLow(F6);
280 break;
281 case 14:
282 writePinHigh(F4);
283 writePinHigh(F1);
284 writePinHigh(F0);
285 writePinLow(F5);
286 break;
287 }
288}
289
290static void unselect_cols(void) {
291
292 //Demultiplexer
293 writePinHigh(F0);
294 writePinHigh(F1);
295 writePinHigh(F4);
296 writePinLow(F5);
297 writePinLow(F6);
298}
299
300static void init_pins(void) {
301 unselect_cols();
302 for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
303 setPinInputHigh(row_pins[x]);
304 }
305 setPinOutput(F0);
306 setPinOutput(F1);
307 setPinOutput(F4);
308 setPinOutput(F5);
309 setPinOutput(F6);
310}
311
312static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
313 bool matrix_changed = false;
314
315 // Select col and wait for col selecton to stabilize
316 select_col(current_col);
317 wait_us(30);
318
319 // For each row...
320 for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) {
321 // Store last value of row prior to reading
322 matrix_row_t last_row_value = current_matrix[row_index];
323
324 // Check row pin state
325 if (readPin(row_pins[row_index]) == 0) {
326 // Pin LO, set col bit
327 current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
328 } else {
329 // Pin HI, clear col bit
330 current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col);
331 }
332
333 // Determine if the matrix changed state
334 if ((last_row_value != current_matrix[row_index]) && !(matrix_changed)) {
335 matrix_changed = true;
336 }
337 }
338
339 // Unselect col
340 unselect_col(current_col);
341
342 return matrix_changed;
343}
344
345#endif
346
347void matrix_init_custom(void) {
348 // initialize key pins
349 init_pins();
350}
351
352bool matrix_scan_custom(matrix_row_t current_matrix[]) {
353 bool changed = false;
354
355#if defined(DIRECT_PINS) || (DIODE_DIRECTION == ROW2COL)
356 // Set col, read rows
357 for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) {
358 changed |= read_rows_on_col(current_matrix, current_col);
359 }
360#endif
361
362 return changed;
363}
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/readme.md b/keyboards/mechlovin/adelais/standard_led/avr/rev1/readme.md
new file mode 100644
index 000000000..9d7d7dbf2
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/readme.md
@@ -0,0 +1,16 @@
1# Adelais AVR rev. 1
2
3![adelais](https://i.imgur.com/6U1IfZe.png)
4
5Compatible with TGR Alice and all clone variants.
6`standard_led` (Adelais) comes with backlight and RGB underglow LEDs pre-soldered. Adelais rev.5 support 3 rotary encoder, USB TypeC both side and reset button.
7
8* Keyboard Maintainer: [Team Mechlovin'](mechlovin.studio)
9* Hardware Supported: Adelais
10* Hardware Availability: [Mechlovin.studio](https://mechlovin.studio/collections/pcb/products/adelais-tgr-alice-clones-compatible-pcb?variant=34140335472779)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make mechlovin/adelais/standard_led/avr/rev1:default
15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/rev1.h b/keyboards/mechlovin/adelais/standard_led/avr/rev1/rev1.h
new file mode 100644
index 000000000..7cc7add2c
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/rev1.h
@@ -0,0 +1,77 @@
1/* Copyright 2020 Team Mechlovin
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#pragma once
18
19#include "quantum.h"
20
21#define LAYOUT_alice_split_bs( \
22 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
23 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
24 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
25 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K4C, K3C, K3D,\
26 K40, K42, K44, K46, K48, K4A, K4D \
27) { \
28 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
31 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
32 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, KC_NO }, \
33}
34
35#define LAYOUT_alice( \
36 K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D,\
37 K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
38 K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
39 K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K4C, K3C, K3D,\
40 K40, K42, K44, K46, K48, K4A, K4D \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
46 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, KC_NO }, \
47}
48
49#define LAYOUT_alice_split_bs_full_rshift( \
50 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
51 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
52 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
53 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4C, K3C, \
54 K40, K42, K44, K46, K48, K4A, K4D \
55) { \
56 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
57 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
58 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
59 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E }, \
60 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, KC_NO }, \
61}
62
63#define LAYOUT_alice_full_rshift( \
64 K1E, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
65 K2E, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
66 K3E, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
67 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4C, K3C, K3D, \
68 K40, K42, K44, K46, K48, K4A, K4D \
69) { \
70 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
71 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
72 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
73 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E }, \
74 { K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, K4C, K4D, KC_NO }, \
75}
76
77#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/rules.mk b/keyboards/mechlovin/adelais/standard_led/avr/rev1/rules.mk
new file mode 100644
index 000000000..0bba0b6ea
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/rules.mk
@@ -0,0 +1,13 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7CONSOLE_ENABLE = no # Console for debug
8COMMAND_ENABLE = no # Commands for debug and configuration
9BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
10RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
11CUSTOM_MATRIX = lite
12
13SRC += matrix.c
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rules.mk b/keyboards/mechlovin/adelais/standard_led/avr/rules.mk
new file mode 100644
index 000000000..f33198890
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rules.mk
@@ -0,0 +1,2 @@
1
2DEFAULT_FOLDER = mechlovin/adelais/standard_led/avr/rev1 \ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/standard_led/rules.mk b/keyboards/mechlovin/adelais/standard_led/rules.mk
index b4523dbf3..b3c522ca0 100644
--- a/keyboards/mechlovin/adelais/standard_led/rules.mk
+++ b/keyboards/mechlovin/adelais/standard_led/rules.mk
@@ -1,3 +1,5 @@
1RGBLIGHT_ENABLE = yes 1
2WS2812_DRIVER = spi 2NKRO_ENABLE = yes # USB Nkey Rollover
3DEFAULT_FOLDER = mechlovin/adelais/standard_led/rev2 \ No newline at end of file 3BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
4RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
5DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2
diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h
index 9a653d759..edb476ecb 100644
--- a/keyboards/mechlovin/delphine/rgb_led/config.h
+++ b/keyboards/mechlovin/delphine/rgb_led/config.h
@@ -33,10 +33,7 @@
33// 0b1110101 AD <-> SCL 33// 0b1110101 AD <-> SCL
34// 0b1110110 AD <-> SDA 34// 0b1110110 AD <-> SDA
35#define DRIVER_ADDR_1 0b1110110 35#define DRIVER_ADDR_1 0b1110110
36#define DRIVER_ADDR_2 0b1110100
37#define DRIVER_COUNT 1 36#define DRIVER_COUNT 1
38#define DRIVER_1_LED_TOTAL 25
39#define DRIVER_2_LED_TOTAL 0
40#define DRIVER_LED_TOTAL 25 37#define DRIVER_LED_TOTAL 25
41#define RGB_MATRIX_KEYPRESSES // reacts to keypresses 38#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
42#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) 39#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
diff --git a/keyboards/mechlovin/delphine/rules.mk b/keyboards/mechlovin/delphine/rules.mk
index be3533e85..c95ae3887 100644
--- a/keyboards/mechlovin/delphine/rules.mk
+++ b/keyboards/mechlovin/delphine/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/hannah60rgb/rules.mk b/keyboards/mechlovin/hannah60rgb/rules.mk
index b11ad1d35..ef38f055f 100644
--- a/keyboards/mechlovin/hannah60rgb/rules.mk
+++ b/keyboards/mechlovin/hannah60rgb/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = stm32-dfu
8# Build Options 8# Build Options
9# change yes to no to disable 9# change yes to no to disable
10# 10#
11BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 11BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
12MOUSEKEY_ENABLE = yes # Mouse keys 12MOUSEKEY_ENABLE = yes # Mouse keys
13EXTRAKEY_ENABLE = yes # Audio control and System control 13EXTRAKEY_ENABLE = yes # Audio control and System control
14CONSOLE_ENABLE = yes # Console for debug 14CONSOLE_ENABLE = yes # Console for debug
diff --git a/keyboards/mechlovin/hannah65/rules.mk b/keyboards/mechlovin/hannah65/rules.mk
index 96c126bd7..6323e8584 100644
--- a/keyboards/mechlovin/hannah65/rules.mk
+++ b/keyboards/mechlovin/hannah65/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = stm32-dfu
8# Build Options 8# Build Options
9# change yes to no to disable 9# change yes to no to disable
10# 10#
11BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 11BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
12MOUSEKEY_ENABLE = yes # Mouse keys 12MOUSEKEY_ENABLE = yes # Mouse keys
13EXTRAKEY_ENABLE = yes # Audio control and System control 13EXTRAKEY_ENABLE = yes # Audio control and System control
14CONSOLE_ENABLE = yes # Console for debug 14CONSOLE_ENABLE = yes # Console for debug
diff --git a/keyboards/mechlovin/hannah910/rev1/rules.mk b/keyboards/mechlovin/hannah910/rev1/rules.mk
index f45962642..3fe754c12 100644
--- a/keyboards/mechlovin/hannah910/rev1/rules.mk
+++ b/keyboards/mechlovin/hannah910/rev1/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/hannah910/rev2/rules.mk b/keyboards/mechlovin/hannah910/rev2/rules.mk
index f09249212..6afb684cc 100644
--- a/keyboards/mechlovin/hannah910/rev2/rules.mk
+++ b/keyboards/mechlovin/hannah910/rev2/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/hannah910/rev3/rules.mk b/keyboards/mechlovin/hannah910/rev3/rules.mk
index a75a0f0b3..a87762efe 100644
--- a/keyboards/mechlovin/hannah910/rev3/rules.mk
+++ b/keyboards/mechlovin/hannah910/rev3/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/hex4b/rules.mk b/keyboards/mechlovin/hex4b/rules.mk
index 4260226ad..0d1cf307e 100644
--- a/keyboards/mechlovin/hex4b/rules.mk
+++ b/keyboards/mechlovin/hex4b/rules.mk
@@ -10,7 +10,7 @@ F_CPU = 16000000
10# Build Options 10# Build Options
11# change yes to no to disable 11# change yes to no to disable
12# 12#
13BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration 13BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
14MOUSEKEY_ENABLE = yes # Mouse keys 14MOUSEKEY_ENABLE = yes # Mouse keys
15EXTRAKEY_ENABLE = yes # Audio control and System control 15EXTRAKEY_ENABLE = yes # Audio control and System control
16CONSOLE_ENABLE = no # Console for debug 16CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/hex6c/rules.mk b/keyboards/mechlovin/hex6c/rules.mk
index 716b2d57e..0853ef8e7 100644
--- a/keyboards/mechlovin/hex6c/rules.mk
+++ b/keyboards/mechlovin/hex6c/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = stm32-dfu
8# Build Options 8# Build Options
9# change yes to no to disable 9# change yes to no to disable
10# 10#
11BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 11BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
12MOUSEKEY_ENABLE = yes # Mouse keys 12MOUSEKEY_ENABLE = yes # Mouse keys
13EXTRAKEY_ENABLE = yes # Audio control and System control 13EXTRAKEY_ENABLE = yes # Audio control and System control
14CONSOLE_ENABLE = yes # Console for debug 14CONSOLE_ENABLE = yes # Console for debug
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/config.h b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
index 76c6e0db7..8cef83f89 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/config.h
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
@@ -44,8 +44,6 @@
44#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL 44#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
45//#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE 45//#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
46#define DRIVER_ADDR_1 0b0110010 46#define DRIVER_ADDR_1 0b0110010
47#define DRIVER_ADDR_2 0b0110010 // this is here for compliancy reasons.
48#define DRIVER_COUNT 1 47#define DRIVER_COUNT 1
49#define DRIVER_1_LED_TOTAL 91 48#define DRIVER_LED_TOTAL 91
50#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
51#define DRIVER_INDICATOR_LED_TOTAL 0 49#define DRIVER_INDICATOR_LED_TOTAL 0
diff --git a/keyboards/mechlovin/infinity87/rules.mk b/keyboards/mechlovin/infinity87/rules.mk
index 1c3e8afe2..400c42eb2 100644
--- a/keyboards/mechlovin/infinity87/rules.mk
+++ b/keyboards/mechlovin/infinity87/rules.mk
@@ -2,7 +2,7 @@
2# Build Options 2# Build Options
3# change yes to no to disable 3# change yes to no to disable
4# 4#
5BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 5BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
6MOUSEKEY_ENABLE = yes # Mouse keys 6MOUSEKEY_ENABLE = yes # Mouse keys
7EXTRAKEY_ENABLE = yes # Audio control and System control 7EXTRAKEY_ENABLE = yes # Audio control and System control
8CONSOLE_ENABLE = yes # Console for debug 8CONSOLE_ENABLE = yes # Console for debug
diff --git a/keyboards/mechlovin/infinity88/rules.mk b/keyboards/mechlovin/infinity88/rules.mk
index 7cc6adb50..1e8563c96 100644
--- a/keyboards/mechlovin/infinity88/rules.mk
+++ b/keyboards/mechlovin/infinity88/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = stm32-dfu
8# Build Options 8# Build Options
9# change yes to no to disable 9# change yes to no to disable
10# 10#
11BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 11BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
12MOUSEKEY_ENABLE = yes # Mouse keys 12MOUSEKEY_ENABLE = yes # Mouse keys
13EXTRAKEY_ENABLE = yes # Audio control and System control 13EXTRAKEY_ENABLE = yes # Audio control and System control
14CONSOLE_ENABLE = yes # Console for debug 14CONSOLE_ENABLE = yes # Console for debug
diff --git a/keyboards/mechlovin/infinityce/rules.mk b/keyboards/mechlovin/infinityce/rules.mk
index 81f481950..aeff331e7 100644
--- a/keyboards/mechlovin/infinityce/rules.mk
+++ b/keyboards/mechlovin/infinityce/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/kanu/rules.mk b/keyboards/mechlovin/kanu/rules.mk
index 1a80a2d88..066a67501 100644
--- a/keyboards/mechlovin/kanu/rules.mk
+++ b/keyboards/mechlovin/kanu/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/mechlovin9/rules.mk b/keyboards/mechlovin/mechlovin9/rules.mk
index 3e91fe980..98282f212 100644
--- a/keyboards/mechlovin/mechlovin9/rules.mk
+++ b/keyboards/mechlovin/mechlovin9/rules.mk
@@ -1,7 +1,7 @@
1# Build Options 1# Build Options
2# change yes to no to disable 2# change yes to no to disable
3# 3#
4BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration 4BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
5MOUSEKEY_ENABLE = yes # Mouse keys 5MOUSEKEY_ENABLE = yes # Mouse keys
6EXTRAKEY_ENABLE = yes # Audio control and System control 6EXTRAKEY_ENABLE = yes # Audio control and System control
7CONSOLE_ENABLE = no # Console for debug 7CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/olly/jf/rules.mk b/keyboards/mechlovin/olly/jf/rules.mk
index 3233ab1cb..be95cebe8 100644
--- a/keyboards/mechlovin/olly/jf/rules.mk
+++ b/keyboards/mechlovin/olly/jf/rules.mk
@@ -10,7 +10,7 @@ BOOTLOADER = USBasp
10# Build Options 10# Build Options
11# change yes to no to disable 11# change yes to no to disable
12# 12#
13BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration 13BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
14MOUSEKEY_ENABLE = yes # Mouse keys 14MOUSEKEY_ENABLE = yes # Mouse keys
15EXTRAKEY_ENABLE = yes # Audio control and System control 15EXTRAKEY_ENABLE = yes # Audio control and System control
16CONSOLE_ENABLE = no # Console for debug 16CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/serratus/rules.mk b/keyboards/mechlovin/serratus/rules.mk
index 00deb3870..2288d50d8 100644
--- a/keyboards/mechlovin/serratus/rules.mk
+++ b/keyboards/mechlovin/serratus/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/th1800/rules.mk b/keyboards/mechlovin/th1800/rules.mk
index dffe35fa3..9354e10b8 100644
--- a/keyboards/mechlovin/th1800/rules.mk
+++ b/keyboards/mechlovin/th1800/rules.mk
@@ -10,7 +10,7 @@ BOOTLOADER = usbasploader
10# Build Options 10# Build Options
11# change yes to no to disable 11# change yes to no to disable
12# 12#
13BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 13BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
14MOUSEKEY_ENABLE = yes # Mouse keys 14MOUSEKEY_ENABLE = yes # Mouse keys
15EXTRAKEY_ENABLE = yes # Audio control and System control 15EXTRAKEY_ENABLE = yes # Audio control and System control
16CONSOLE_ENABLE = no # Console for debug 16CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/mechlovin/tmkl/rules.mk b/keyboards/mechlovin/tmkl/rules.mk
index 65048eb7e..5fb72c7f3 100644
--- a/keyboards/mechlovin/tmkl/rules.mk
+++ b/keyboards/mechlovin/tmkl/rules.mk
@@ -8,7 +8,7 @@ BOOTLOADER = stm32-dfu
8# Build Options 8# Build Options
9# change yes to no to disable 9# change yes to no to disable
10# 10#
11BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite 11BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
12MOUSEKEY_ENABLE = yes # Mouse keys 12MOUSEKEY_ENABLE = yes # Mouse keys
13EXTRAKEY_ENABLE = yes # Audio control and System control 13EXTRAKEY_ENABLE = yes # Audio control and System control
14CONSOLE_ENABLE = yes # Console for debug 14CONSOLE_ENABLE = yes # Console for debug